书签 分享 收藏 举报 版权申诉 / 4
上传文档赚钱

类型c语言第4章 选择结构程序设计习题答案.docx

  • 上传人(卖家):最好的沉淀
  • 文档编号:5792261
  • 上传时间:2023-05-09
  • 格式:DOCX
  • 页数:4
  • 大小:33.53KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《c语言第4章 选择结构程序设计习题答案.docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    c语言第4章 选择结构程序设计习题答案 语言 选择 结构 程序设计 习题 答案
    资源描述:

    1、习题(P111)第 4 章 选择结构程序设计4.2 C 语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?答:C 语言中用 1 表示真,0 表示假;系统按照“非 0 为真,0 为假”判断一个逻辑量的真假。4.3 写出下面各逻辑表达式的值。设 a=3,b=4,c=5。(1)a+bc&b=c(2)a|b+c&b-c(3)!(ab)&!c|1(4)!(x=a)&(y=b)&0(5)!(a+b)+c-1&b+c/2 解:该题在求解过程中注意:一、优先级。逻辑运算符(&和|)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中, 逻辑非最高,逻辑与其次,逻辑或最低;二、逻辑表达式的

    2、求值规则。(P94)所以得以上表达式的值分别为:(1)0(2)1(3)1(4)0(5)14.4 有 3 个整数 a、b、c,由键盘输入,输出其中最大的数。分析:这是一个规模较小的求最值的算法,习题 1.6 用函数的方法实现。该题不用函数调用实现,但方法类似。法一:先求前两个数的最值,再用前两个数的最值和第三个数比较即得结果。法二:先假设第一个数是最值,再依次和第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。main()int a,b,c,max;/*定义 4 个整型变量,其中 a,b,c 存原始数据,max 存最值*/printf(ninput the value of a,

    3、b,c:); /*提示输入*/scanf(%d%d%d,&a,&b,&c); /*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/if(ab)max=a; elsemax=b; if(maxc)max=c;printf(nmax=%dn,max);参考程序如下: 法一:main()int a,b,c,max;printf(ninput the value of a,b,c:); scanf(%d%d%d,&a,&b,&c); max=a;if(maxb)max=b; if(maxc)max=c; printf(nmax=%dn,max);法二:4.6 有一个函数:写一段程序,输入 x,

    4、输出 y 的值。分析:这是一个典型的分断函数的求解应用。运行时从键盘输入 x 的值,再判断其范围根据表达式计算y 值并输出即可。该题的关键是如何判断 x 值的范围,需要用到嵌套的分支选择语句。具体方法比较多,可以先确定任意一个范围,在确定其余范围时可以用到前一条件不满足的隐含条件。注意嵌套语句中else 和if 的配对关系。另外仍然要注意C 语言表达式和数学表达式的区别,乘号(*)在C 语言表达式中一定不能省略。参考程序如下:#include main() float x,y; printf(input x:);scanf(%f,&x); if(x1)y=x;else if(x=1*/ y=2

    5、*x-1;else/* 前两个条件都不满足,则隐含条件为 x=10*/ y=3*x-11;printf(y=%fn,y);else y=3*x-11;elsey=2*x-1;elsey=x;对上述参考答案中加粗部分语句的改写方法:if(x=10)if(x=1 & x=10)if(x1) y=x;y=3*x-11;y=2*x-1;elsey=2*x-1;elseif (x10)y=3*x-11;思考:还有其他的改写方法吗?请动手写一写。4.8 给出一百分制成绩,要求输出成绩等级A、B、C、D、E。90 以上为A,8089 分为B,7079 分为C,6069 分为D,60 分以下为E。分析:该题是

    6、一个多分支选择的应用。C 语言中实现多分支选择的方法可以用 ifelse 嵌套语句或用 switch语句,该题这两种方法都可以实现。在用 ifelse 实现的时候注意 else 和 if 的配对,方法同上题;用 switch 语句实现的时候注意成绩处理为可以列举的值,方法是将成绩取整后整除 10,这样百分制的成绩只有 11 种可能了。参考程序如下:main()float score;/*存放输入的百分制成绩*/ char grade;/*存放等级*/printf(nPlease input the score: ); /*提示输入*/ scanf(%f,&score);/* 完成输入*/whi

    7、le(score100 | score =90) grade=A;else if(score=80) grade=B;else if(score=70) grade=C;else if(score=60) grade=D; else grade=E;printf(Score=%gGrade is %cn,score,grade); /*输出结果*/法一(ifelse 语句实现):法二(switch 语句实现):main()float score; char grade;printf(nPlease input the score: ); scanf(%f,&score); while(scor

    8、e100 | score 0) printf(Score input error!nPlease input the score:); scanf(%f,&score);printf(n);switch(int)score/10 )/*先将成绩取整,再整除 10,得商的整数部分 */* 以下 case 后为 switch 后表达式计算出来可能的值 */ case 10:case case casecase9: grade=A; break;8: grade=B; break;7: grade=C; break;6: grade=D; break;/* 两个 case 值共用一组执行语句 */d

    9、efault: grade=E;printf(Score=%g Grade is %cn,score,grade);4.9 给一个不多于 5 位的正整数,要求:求出它是几位数;分别输出每一位数字;按逆序输出各位数字。分析:该题的关键是将一个整数分解为各位数字,可以用整除和取余相结合的方法实现,并分别用不同的变量保存起来。由于整数的位数在 15 位之间不确定,所以适合用 switch 开关语句实现。main()long int num;/* num 存放输入的原始数据,由于最大的 5 位数是 99999,它超出了 int 型的范围(-32768 +32767)所以定义为 long 型 */int

    10、 w,a,b,c,d,e;/* 变量 w 用于存放数的位数,其余存放 5 位数的各位数字 */ printf(Please input a number(099999):);/*提示输入*/scanf(%ld,&num);/* 输入长整型数据 */while( num99999 )/* 检查输入数据的合法性 */ printf(nInput Error! Please re-enter:); scanf(%ld,&num);/* 一组 ifelse 的嵌套确定输入的 num 是几位数 */ if(num10)w=1;else if(num100) w=2;else if(num1000) w=3;else if(numb) t=a; a=b; b=t;if(ac) t=a;a=c;c=t;if(ad)t=a;a=d;d=t;if(bc)t=b;b=c;c=t;if(bd)t=b;b=d;d=t;if(cd)t=c;c=d;d=t;printf(排序的结果是:%d,%d,%d,%dn,a,b,c,d);参考程序如下:补充题:输入三个整数a,b,c,判断其是否能构成三角形?是何种三角形(等腰/等边/普通)?

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:c语言第4章 选择结构程序设计习题答案.docx
    链接地址:https://www.163wenku.com/p-5792261.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库