c语言第4章 选择结构程序设计习题答案.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《c语言第4章 选择结构程序设计习题答案.pdf》由会员分享,可在线阅读,更多相关《c语言第4章 选择结构程序设计习题答案.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第 4 4 章章 选择结构程序设计选择结构程序设计习题(习题(P111P111)4.2 C4.2 C 语言中如何表示“真”和“假”?系统如何判断一个量的“真语言中如何表示“真”和“假”?系统如何判断一个量的“真 和“假”和“假”?答:答:C C 语言中用语言中用 1 1 表示真,表示真,0 0 表示假;系统按照“表示假;系统按照“非非 0 0 为真,为真,0 0 为假为假 判断一个逻辑量的真假判断一个逻辑量的真假.4.34.3 写出下面各逻辑表达式的值。设写出下面各逻辑表达式的值。设 a=3,b=4a=3,b=4,c=5.c=5.(1 1)a+bc&b=ca+bc&b=c(2)a|b+c&2
2、)a|b+c&b-cb-c(3(3)!(ab)&(ab)&!c c1 1(4(4)!(x=ax=a)&(y=b)&(y=b)0 0(5 5)!(a+b)+ca+b)+c1 1&b+c/2&b+c/2解:解:该题在求解过程中注意该题在求解过程中注意:一、一、优先级。优先级。逻辑运算符逻辑运算符(&和和)低于算术运算符和关系运算符而高于赋值运算符低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低;逻辑非最高,逻辑与其次,逻辑或最低;二、逻辑表达式的求值规则。二、逻辑表达式的求值规则。(P94)P94)所以得以上表达式的值分别为:所以得以上
3、表达式的值分别为:(1)01)0(2)12)1(3 3)1 1(4 4)0 0(5)1(5)14.44.4 有有 3 3 个整数个整数 a a、b b、c c,由键盘输入,由键盘输入,输出其中最大的数。输出其中最大的数。分析分析:这是一个规模较小的这是一个规模较小的求最值求最值的算法,习题的算法,习题1 1。6 6 用函数的方法实现。该题不用函数调用实现,但方用函数的方法实现。该题不用函数调用实现,但方法类似法类似.法一:先求前两个数的最值,再用前两个数的最值和第三个数比较即得结果。法二:先假设第一个数法一:先求前两个数的最值,再用前两个数的最值和第三个数比较即得结果。法二:先假设第一个数是最
4、值,再依次和第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。是最值,再依次和第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。参考程序如下参考程序如下:法一法一:mainmain()()int a,bint a,b,c c,max;max;/*/*定义定义 4 4 个整型变量个整型变量,其中其中 a a,b,cb,c 存原始数据,存原始数据,maxmax 存最值存最值*/*/printf(”printf(”ninput the value of aninput the value of a,b b,c:”c:”);/提示输入提示输入*/*/scanfscanf
5、(%d%dd dd”,d”,a a,b b,&c&c);/格式符之间无分隔符,格式符之间无分隔符,输入时可以以空格、输入时可以以空格、回车、回车、跳格分隔跳格分隔/if if(ab)ab)max=amax=a;elseelsemax=b;max=b;if(maxcif(maxc)max=c;max=c;printf(”printf(”nmax=nmax=ddn”n”,max);max);法二:法二:mainmain()int a,b,c,maxint a,b,c,max;printf(”printf(”ninput the value of a,bninput the value of a,b
6、,c:”)c:”)scanfscanf(d%d%d,&a,&b,d%d%d,&a,&b,c c);max=amax=a;if if(maxmaxb b)max=b;max=b;if(maxc)if(maxc)max=cmax=c;printfprintf(nmax=nmax=ddn”,max)n”,max);4 4。6 6 有一个函数有一个函数:写一段程序,写一段程序,输入输入 x x,输出输出 y y 的值。的值。分析分析:这是一个典型的分断函数的求解应用这是一个典型的分断函数的求解应用.运行时从键盘输入运行时从键盘输入 x x 的值的值,再判断其范围根据表达式计算再判断其范围根据表达式计算
7、 y y值并输出即可。该题的关键是如何判断值并输出即可。该题的关键是如何判断x x 值的范围,需要用到嵌套的分支选择语句。具体方法比较多值的范围,需要用到嵌套的分支选择语句。具体方法比较多,可以先可以先确定任意一个范围,在确定其余范围时可以用到前一条件不满足的隐含条件确定任意一个范围,在确定其余范围时可以用到前一条件不满足的隐含条件.注意嵌套语句中注意嵌套语句中 elseelse 和和 if if 的配的配对关系。另外仍然要注意对关系。另外仍然要注意 C C 语言表达式和数学表达式的区别,乘号()在语言表达式和数学表达式的区别,乘号()在 C C 语言表达式中一定不能省略。语言表达式中一定不能
8、省略。参考程序如下参考程序如下:#includestdio#includehmainmain()float xfloat x,y;y;printfprintf(”input x:”)”input x:”);scanfscanf(%f%f,x x);if if(x1)x1)y=x;y=x;else if(x10else if(x=1x=1*/*/y=2*xy=2*x1 1;elseelse/前两个条件都不满足,则隐含条件为前两个条件都不满足,则隐含条件为 x x=10=10*/*/y=3*x-11y=3*x-11;printf(y=printf(y=fn,yfn,y);对上述参考答案中加粗部分语
9、句的改写方法对上述参考答案中加粗部分语句的改写方法:if(x10)if(x=10)if(x=10)if(x=1&x=1&x=10)if(x1)y=x;if(x1)y=x;y=3*x-11;y=3*x-11;y=2*x-1;y=2*x-1;elseelsey=2*x-1;y=2*x-1;elseelseif(x1)if(x10)else if(x10)y=3*x-11;y=3*x-11;else y=3*x-11;else y=3*x-11;elseelsey=2*x-1;y=2*x-1;elseelsey=x;y=x;思考思考:还有其他的改写方法吗?请动手写一写。:还有其他的改写方法吗?请动手
10、写一写。4 4。8 8 给出一给出一百分制成绩百分制成绩,要求输出成绩要求输出成绩等级等级AA、BB、CC、DD、EE。9090 以上为以上为A,8089A,8089 分为分为BB,70707979 分分为为CC,60696069 分为分为DD,6060 分以下为分以下为EE.分析分析:该题是一个多分支选择的应用。该题是一个多分支选择的应用。C C 语言中实现多分支选择的方法可以用语言中实现多分支选择的方法可以用 ifelseifelse 嵌套语句或用嵌套语句或用 switchswitch语句,该题这两种方法都可以实现。在用语句,该题这两种方法都可以实现。在用 if ifelseelse 实现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言第4章 选择结构程序设计习题答案 语言 选择 结构 程序设计 习题 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内