- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
c语言第4章选择结构程序设计习题答案--第1页
第4章选择结构程序设计
习题(P111)
4.2C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?
答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。
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
解:该题在求解过程中注意:
一、优先级。逻辑运算符(和||)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,
逻辑非最高,逻辑与其次,逻辑或最低;
二、逻辑表达式的求值规则。(P94)
所以得以上表达式的值分别为:(1)0(2)1(3)1(4)0(5)1
4.4有3个整数a、b、c,由键盘输入,输出其中最大的数。
分析:这是一个规模较小的求最值的算法,习题1.6用函数的方法实现。该题不用函数调用实现,但方
法类似。法一:先求前两个数的最值,再用前两个数的最值和第三个数比较即得结果。法二:先假设第一个
数是最值,再依次和第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。
参考程序如下:
法一:
main()
{inta,b,c,max;/*定义4个整型变量,其中a,b,c存原始数据,max存最值*/
/*提示输入*/
/*格式符之间无分隔符,输入时可以以空格、回车、跳格
分隔*/
if(ab)max=a;
elsemax=b;
if(maxc)max=c;
}
法二:
main()
{inta,b,c,max;
max=a;
if(maxb)max=b;
if(maxc)max=c;
}
4.6有一个函数:写一段程序,输入x,输出y的值。
分析:这是一个典型的分断函数的求解应用。运行时从键盘输入x的值,再判断其范围根据表达式计算
y值并输出即可。该题的关键是如何判断x值的范围,需要用到嵌套的分支选择语句。具体方法比较多,可
以先确定任意一个范围,在确定其余范围时可以用到前一条件不满足的隐含条件。注意嵌套语句中else和if的
配对关系。另外仍然要注意C语言表达式和数学表达式的区别,乘号(*)在C语言表达式中一定不能省略。
参考程序如下:
#includestdio.h
main()
c语言第4章选择结构程序设计习题答案--第1页
c语言第4章选择结构程序设计习题答案--第2页
{floatx,y;
if(x1)
y=x;
elseif(x10)/*使用了隐含条件x=1*/
y=2*x-1;
else/*前两个条件都不满足,则隐含条件为x=10*/
y=3*x-11;
}
对上述参考答案中加粗部分语句的改写方法:
if(x10)if(x=10)if(x=1x=10)
if(x1)y=x;
文档评论(0)