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

上传人:xt****7 文档编号:134819444 上传时间:2022-08-14 格式:DOC 页数:13 大小:485.51KB
收藏 版权申诉 举报 下载
新编C语言程序设计(周二强版)课后习题练习4答案_第1页
第1页 / 共13页
新编C语言程序设计(周二强版)课后习题练习4答案_第2页
第2页 / 共13页
新编C语言程序设计(周二强版)课后习题练习4答案_第3页
第3页 / 共13页
资源描述:

《新编C语言程序设计(周二强版)课后习题练习4答案》由会员分享,可在线阅读,更多相关《新编C语言程序设计(周二强版)课后习题练习4答案(13页珍藏版)》请在装配图网上搜索。

1、练习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。综上所述:

2、!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

3、c | a + b c3. 0 & a c) - 15. a b b | c = a7. a 0 & (x = b | 1) 8. !(x = c) | a = b - 1 答:1. a * b c的值为真,a + b c的值为假,a + b c的值为假,故原表达式为假。3. 0的值为真,a c) - 1为假,故原表达式为假。5. a b的值为假(0),0 b为假,c = a的值为真,故原表达式为真。7. a 0的值为真,(x = b | 1) 的值为真,故原表达式为真。8. !(x = c) 的值为假,a = b - 1的值为真,故原表达式为真。4.5 写出与下面结论等价的C语言表达式。1.

4、 三边长为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 a & b c3. a 0 & b 0 | a 0 & c 0 | b 0 & c 04. a0 & b=0 | a0 & c=0 | b0 & c=05. ch =A & ch = 1 & x 23 & x 1 & x 3 | x = 2 | x = 1) & x != 04.6 用两条语句x = b & c fc & fa +

5、fc fb & fc + fb fa)printf(输入错误,三边不能构成一个三角形,程序退出!n);return;4.8 输入一个小写字母,将字母循环后移3个位置后输出。如a变成d,y变成b。(用if结构实现而非表达式((ch + 3 - a) % 26 + a)答:4.9 画出下面程序的流程图。程序有几条可执行路径?每条可执行路径分别对应什么样的输入数据?#include 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

6、, z);可见程序有4条可执行路径。第一条:x0 且 y0时程序的执行路径(如输入数据为2、3时);第二条:x0 且 y=0时程序的执行路径(如输入数据为2、-5时);第三条:x0时程序的执行路径(如输入数据为-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 输入一个

7、字符,如果是大写字母,则输出小写;如果是小写字母,则输出大写;其它字符,原样输出。(分别用if结构和if-else结构实现)答:if-else结构if结构正确的if结构4.14 以下程序用于输出x,y,z中的最大值,请在下划线上填入正确内容。#include 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 void main( ) in

8、t 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结构后,程序将如何执行呢?分析下面程

9、序的输出。#include 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

10、-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 分析程序的功能。#inc

11、lude 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%

12、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表示,写出与此相对应

13、的程序,并分析输出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. 不能组成三角形。答:

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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