新编C语言程序的设计课后习题练习4的答案.docVIP

新编C语言程序的设计课后习题练习4的答案.doc

  1. 1、本文档共13页,可阅读全部内容。
  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文档。上传文档
查看更多
新编C语言程序的设计课后习题练习4的答案

练习4 4.1 C语言中“真”和“假”的编码有何特点?e为整型变量,!e与e != 1等价吗?与e == 0等价吗? 答: C语言中“真”和“假”的编码简单地说,0表示“假”,非0代表“真”。在逻辑运算时如此,0表示“假”,非0代表“真”。不过需注意,在表示逻辑运算结果时,“假”为0, “真”为1。 当e为0时,!e的值为1;e != 1的值为0; e == 0的值为1。 当e为非0时,!e的值为0;e != 1的值可能(e不等于0也不等于1时)为0,可能(e等于1时)为1,; e == 0的值为0。 反之,e == 0的值为0时,e为非0,!e的值也为0。 e == 0的值为1时,e为0,!e的值也为1。 综上所述: !e与 e != 1不等价,与e == 0等价。 4.2 C语言中逻辑量的编码特点对算术运算和逻辑运算有何影响? 答:由于没有专门的逻辑类型,C语言中的算术运算和逻辑运算可以“混合”,如!5*3,而类似的表达式往往没有什么实际意义。 4.3 给出逻辑或||和逻辑非!的真值表。 答: 逻辑或||的真值表 a 的值 b的值 a || b的值 真(非0) 真(非0) 真(1) 真(非0) 假(0) 真(1) 假(0) 真(非0) 真(1) 假(0) 假(0) 假(0) 逻辑非!的真值表 a 的值 !a的值 真(非0) 假(0) 假(0) 真(1) 4.4 计算下面各逻辑表达式的值,其中字母均为变量,且a=2,b=3,c=5。 1. a * b c a + b = c 2. a + b c || a + b c 3. 0 a c – 1 4. \0 || !(a c) - 1 5. a b c 6. !a * c b || c = a 7. a 0 (x = b || 1) 8. !(x = c) || a == b - 1 答: 1. a * b c的值为真,a + b = c的值为真,故原表达式为真。 2. a + b c的值为假,a + b c的值为假,故原表达式为假。 3. 0的值为真,a c – 1的值为真,故原表达式为真。 4. \0的值为假,!(a c) - 1为假,故原表达式为假。 5. a b的值为假(0),0 c的值为真,故原表达式为真。 6. !a * c b为假,c = a的值为真,故原表达式为真。 7. a 0的值为真,(x = b || 1) 的值为真,故原表达式为真。 8. !(x = c) 的值为假,a == b - 1的值为真,故原表达式为真。 4.5 写出与下面结论等价的C语言表达式。 1. 三边长为a,b,c的三角形是直角三角形。 2. a,b,c 三个整数中b最大。 3. a,b,c三个整数中,至少有两个是负数。 4. a,b,c三个整数中,只有两个是负数。 5. 字符型变量ch为大字字母。 6. x的取值范围在[1,10]或(23,72]。 7. 1 x 3或x 0。 9. x取值为函数f(x)=的定义域。 答: 1. a*a + b*b == c*c || a*a + c*c == b*b|| b*b + c*c == a*a 2. b a b c 3. a 0 b 0 || a 0 c 0 || b 0 c 0 4. a0 b0 c=0 || a0 c0 b=0 || b0 c0 a=0 5. ch =’A’ ch = ‘Z’ 6. x = 1 x = 10 || x 23 x = 72 7. x 1 x 3 || x 0 8. (x = 2 || x = 1) x != 0 4.6 用两条语句x 0 (x = -x); printf(%f\n, x);可以输出x的绝对值吗?如何评价这样的语句? 答:可以,不过可读性太差! 4.7 用if结构验证练习三的3.12, 3.13题,并为3.20,3.23和3.27的程序中增加输入数据合法性检查的代码。 答: 3.12 3.13(原答案已经用if结构验证了) 3.20 3.23 if(!(c = b c = y)) { printf(输入错误,程序退出!\n); return; } 3.27 if(!(fa + fb fc fa + fc fb fc + fb fa)) { printf(输入错误,三边不能构成一个三角形,程序退出!\n); return; } 4.8 输入一个小写字母,将字母循环后移3个位置后输出。如a变成d,y变成b。(用if结构实现而非表达式((ch + 3 - a) % 26 + a) 答: 4.9 画出下面程

文档评论(0)

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

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

1亿VIP精品文档

相关文档