欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

新编C语言程序设计(周二强版)课后习题练习4答案

  • 资源ID:134819444       资源大小:485.51KB        全文页数:13页
  • 资源格式: DOC        下载积分:9.9积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要9.9积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

新编C语言程序设计(周二强版)课后习题练习4答案

练习44.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 < c3. '0' && a < c 1 4. '0' | !(a > c) - 15. a > b < c 6. !a * c > b | c = a7. 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 > c3. a < 0 && b < 0 | a < 0 && c < 0 | b < 0 && c < 04. a<0 && b<0 && c>=0 | a<0 && c<0 && b>=0 | b<0 && c<0 && a>=05. ch >=A && ch <= Z6. x >= 1 && x <= 10 | x > 23 && x <= 727. x > 1 && x < 3 | x < 08. (x >= 2 | x <= 1) && x != 04.6 用两条语句x < 0 && (x = -x); printf("%fn", x);可以输出x的绝对值吗?如何评价这样的语句?答:可以,不过可读性太差!4.7 用if结构验证练习三的3.12, 3.13题,并为3.20,3.23和3.27的程序中增加输入数据合法性检查的代码。答:3.123.13(原答案已经用if结构验证了)3.203.23if(!(c >= 'b' && c <= 'y')printf("输入错误,程序退出!n");return;3.27if(!(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 画出下面程序的流程图。程序有几条可执行路径?每条可执行路径分别对应什么样的输入数据?#include <stdio.h>void main( )int x, y, z = 0;scanf("%d%d", &x, &y);if(x > 0)z = x + y;if(y > 0)z = x - y;printf("x=%d,y=%d,z=%dn", x, y, z);可见程序有4条可执行路径。第一条:x>0 且 y>0时程序的执行路径(如输入数据为2、3时);第二条:x>0 且 y<=0时程序的执行路径(如输入数据为2、-5时);第三条:x<=0 且 y>0时程序的执行路径(如输入数据为-2、5时);第四条:x<=0 且 y<=0时程序的执行路径(如输入数据为-2、-5时)。4.10 用if结构改写例4-10、例4-11和例4-19。答:4.104.114.194.11 输入整数x和y,若x2+y2大于100,则输出x2+y2百位以上的数字,否则输出两数之和。答:4.12 有一函数:编程,输入x时输出y值;要求:参照例4-13用两种方法,并画出流程图。答:4.13 输入一个字符,如果是大写字母,则输出小写;如果是小写字母,则输出大写;其它字符,原样输出。(分别用if结构和if-else结构实现)答:if-else结构if结构正确的if结构4.14 以下程序用于输出x,y,z中的最大值,请在下划线上填入正确内容。#include <stdio.h>void main( )int x = 12, y = 5, z = 8;int max;max = x < y ? ;printf("%dn", max < z ? ) ;答:y:xz:max4.15 用if结构改写例4-16。答:4.16程序实现了下面的函数(x为整型),请在下划线上填入正确的内容。#include <stdio.h>void main( ) int x,i; float y; scanf("%d", &x); if( ) i = 5; else i= ; switch(i) case 0:y = x;break; case 1: case 2: y = 10; break;case 3:case 4:y = 30 - 0.5 * x; break; case 5:y = 50;break;default: y = -1;break;if( )printf("y=%3.1fn", y); elseprintf("输入错误!n");答:x >= 50i / 10y != -14.17 用break语句退出switch结构后,程序将如何执行呢?分析下面程序的输出。#include <stdio.h>void main( )int a = 2, b = 3;switch(a > 0)case 1: switch(b < 0)default:printf("case 1:defaultn"); case 1:printf("case 1:case 1n");break; case 2:printf("case 1:case 2n");break;case 2:printf("case 2:n"); default: printf("default!n");break;case 0: printf("case 0:n");printf("a = %d,b = %dn", a, b);答:4.18 if-else 结构可以用switch结构改写吗?答:可以,不过if-else 结构为什么要改写成switch结构呢?if(表达式)语句1;else语句2;等价的switch结构为:switch(表达式)case 1:语句1;break;case 0: 语句2;break;4.19 整型变量x与字符型变量y有如下对应关系。xyx / 100100x200A1,2200x500B2,3,4,5500x1000C5,6,7,8,9,101000xD10,11,12输入x的值时输出相应y的值。要求程序用switch结构实现。(提示:考虑(x - 1)/ 100的值)答:4.20 分析程序的功能。#include <stdio.h>void main( )int a, b, c;printf("a="); scanf ("%d", &a);printf("b="); scanf ("%d", &b);printf("c="); scanf ("%d", &c);if(a < b && a < c)if(b < c)printf("n%d,%d,%dn", a, b, c);elseprintf("n%d,%d,%dn", a, c, b);if(b < a && b < c)if(a < c)printf("n%d,%d,%dn", b, a, c);elseprintf("n%d,%d,%dn", b, c, a);if(c < a && c < b)if (a < b)printf("n%d,%d,%dn", c, a, b);elseprintf("n%d,%d,%dn", c, b, a);(分别用5,3,2和5,2,2测试)答:程序的功能是把用户输入的3个整数从小到大输出。测试发现程序中有BUG。(如何修改,修改后又会出现什么情况呢?)4.21 把用户输入的5个整数按升序输出。答:4.22 判断用户输入的整数能否被2,3,5整除,并根据情况输出以下信息之一:1. 能同时被2,3,5整除。2. 能被其中两个(哪两个)数整除。3. 能被其中一个(哪一个)数整除。4. 不能被2,3,5中的任一个数整除。答:4.23 例4-19的if-else结构也可以由图4-14表示,写出与此相对应的程序,并分析输出A、B、C、D、E时各比较了多少次。图4-14 例4-19的if-else结构答:输出A、B、C、D、E时各比较了2、2、2、3、3次。4.24 某专卖店销售运动服,若买的不少于30套,每套120元;不足30套的,每套150元;只买上衣每件90元;只买裤子每条80元。编程实现当输入所买上衣和裤子的件数时输出应付款。注意:当输入23和32时,应按23套运动服和9条裤子计算应付款。答:4.25 编程实现输入方程ax2+bx+c0的系数时输出方程的根。注意区分以下情况:1. 方程有无数个根(abc0)2. 方程无根(ab0,c0)3. 方程只有一个实根(a0,b0)4. 方程有两个实根(判断两根是否相等)。5. 方程有两个虚根(输出32i形式的虚根)。答:4.26 输入三角形的三条边,根据情况输出以下信息中的一种。1. 可以组成等边三角形2. 可以组成等腰三角形3. 可以组成等腰直角三角形(测试数据2.3,3.252691,2.3)4. 可以组成一般直角三角形5. 可以组成一般三角形6. 不能组成三角形。答:

注意事项

本文(新编C语言程序设计(周二强版)课后习题练习4答案)为本站会员(xt****7)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!