网站大量收购闲置独家精品文档,联系QQ:2885784924

C语言第4章选择结构程序设计..docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 选择结构程序设计 4.1 什么是算术运算?什么是关系运算?什么是逻辑运算? 答:略 4.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”? 答:在C语言中,用1和0表示真和假的值;判断一个逻辑表达式的值时,非0代表真,0代表假。比如34为真,因为3是非0,4也是非0,真与真,结果还是真,而34的值为1。 4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。 (1)a+bcb= =c (2)a||b+cb-c (3)!(ab)!c||1 (4)!(x=a)(y=b)0 (5)!(a+b)+c-1b+c/2 分析:首先判断运算符的优先级与结合性 解:(1)相当于((a+b)c)(b= =c) 得0 (2)相当于(a||(b+c))(b-c) 得1 (3)相当于(!(ab))(!c)||1 得1 (4)相当于(!(x=a))(y=b)0 得0 (5)相当于((!(a+b))+c-1)(b+c/2) 得1 4.4 有3个整数a、b、c,由键盘输入,输出其中最大的数。 方法1:利用条件运算符进行比较求解。 #include”stdio.h” main() {int a,b,c,max; printf(“please input 3 numbers:”); scanf(“%d,%d,%d”,a,b,c); max=(ab)?a:b; /*这里运用条件运算符,将a和b中较大的那个数赋给max*/ max=(maxc)?max:c; /*用上面得到的max(a和b中较大的)和c比较,取较大的再次赋给max*/ printf(“max=%d\n”,max); } 方法2:用if语句进行比较求解。 #include”stdio.h” main() { int a,b,c,max; printf(“please input 3 numbers:”); scanf(“%d,%d,%d”,a,b,c); max=a; /*为变量max赋初值*/ if(maxb) max=b; if(maxc) max=c; printf(“max=%d\n”,max); } 4.5 有一函数: x (x1) y= 2x-1 () 3x-11 () 写一程序,输入x,输出y值。 #include stdio.h main() { int x,y; printf(please input x:); scanf(%d,x); if(x1) /*当x小于1时*/ { y=x; printf(y=x=%d,y); } else if(x10) /*当1=x10时*/ { y=2*x-1; printf(y=2*x-1=%d,y); } else /*最后一个else,就是前两种情况都不满足时,也就是当x10时*/ { y=3*x-11; printf(y=3*x-11=%d,y); } } 4.6 给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123。 分析: 1.判断输入的数是几位数就是用这个数和9999,999,99,9进行比较; 2.分别打印出每个数字则利用两个整数相除的结果仍为整数进行计算; 3.反序数字,实际上就是将求得的每个数字对应的变量按照不同顺序输出。 题目中说输入的数不多余5位,就表示可以输入少于5位的数,这样存在一个问题,如果是1234,是否将求得的万位数0也输出出来,变成01234,这个问题在考虑输出时不可避免,因为计算时是要首先计算万位数字的。由于通常不输出,也就是有几位数就输出几位数字。那么我们将1234就表示为1234,代码如下: 方法1: #include stdio.h main() {long num; /*为了有效表示数的范围,要将输入的5位数定义为长整型*/ int ge,shi,bai,qian,wan,place; /*5个变量分别表示个位,十位,百位,千位,万位数字及数字总个数*/ printf(please input a number(from 0 to 99999):); scanf(%ld,num); /*计算place,即求出这个数是几位数:*/ if(num9999) place=5; else if(num999) place=4; else if

文档评论(0)

bmdj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档