C程序设计第四版第四章练习题

上传人:沈*** 文档编号:136821959 上传时间:2022-08-17 格式:DOC 页数:9 大小:76.50KB
收藏 版权申诉 举报 下载
C程序设计第四版第四章练习题_第1页
第1页 / 共9页
C程序设计第四版第四章练习题_第2页
第2页 / 共9页
C程序设计第四版第四章练习题_第3页
第3页 / 共9页
资源描述:

《C程序设计第四版第四章练习题》由会员分享,可在线阅读,更多相关《C程序设计第四版第四章练习题(9页珍藏版)》请在装配图网上搜索。

1、 第四章 习题一、选择题1)以下是if语句的基本形式: if(表达式)语句其中表达式B)DA)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式2)以下选项中,值为1的表达式是(B )。A)1-0 B)1-0C)1-0 D)0-03)若a是数值类型,则逻辑表达式(a=1)|(a!=1)的值是:AA)1 B)0 C)2 D)不知道a的值,不能确定4)若变量已正确定义,在if (W)printf(“%dn”,k);中,以下不可替代W的是AA)ab+c B)ch=getchar() C)a=b+cD)a+5)设变量x和y均已正确定义并赋值,以下if语句中,

2、在编译时将产生错误信息的是A)CA)if(x+); B)if(xy&y!=0); C)if(xy) x- - D)if(y0|E0)B)(x-y0)C)(x-y0)D)(x-y=0)10) 若有表达式(w)?(-x):(+y),则其中与w等价的表达式是 (D )A)w=1 B) w=0 C) w! =1 D) w! =011) 设有定义:inta=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是CA)if(ab)c=a,a=b,b=c; B)if(ab)c=a,a=b,b=c;C)if(ab)c=a;a=b;b=c; D)if(ab)c=a;a=b;b=c;12) 已知字母A的ASC

3、代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是( D)BA)kk=A&kk=Akk=a&(kk+32)=z D)isalpha(kk)&(kk91) 13)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)B A)isupper(c) B)A=c=ZC)A=c&c=Z D)c=(2-32)&(a-32)=2&c=2&c=2&cb) a=b; c=a; if(c!=a) c=b; printf(%d,%d,%dn,a,b,c); 其输出结果是 A)程序段有语法错 B)3,5,3 C)3

4、,5,5 D)3,5,7 16)有以下程序includemain()int a=1,b=0;if(!a) b+;else if(a=0)if(a)b+=2;else b+=3;printf(”%dn”,b);程序运行后的输出结果是D)A A)0 B)1 C)2 D)317)在嵌套使用if语句时,C语言规定else总是( C )。A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对18)下列叙述中正确的是( D )。A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)br

5、eak语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句19)以下选项中与if(a=1) a=b;else a+;语句功能不同的switch语句是:C)BA)switch(a) B)switch(a=1) case 1:a=b;break; case 0 : a=b;break; default : a+; case 1 : a+; C)switch(a) D)switch(a=1) default : a+;break; case 1:a=b;break; case 1:a=b; case 0: a+; 20)有以下程序段int a,b,c;a=

6、10;b=50;c=30;if(ab) a=b,b=c; c=a;printf(“a=%d b=%d c=%d”,a,b,c);程序的输出结果是 (B)A )A)a=10 b=50 c=10 B) a=10 b=50 c=30C) a=10 b=30 c=10 D) a=50 b=30 c=5021)有以下程序D#include main() int x=1,y=2, z=3; if(xy) if (yb?(bc?1:0):0;功能相同的是AA)if(ab)&(bc)k=1;elsek=0;B)if(ab)|(bc)k=1;elsek=0;C)if(a=b)k=0;elseif(bb)k=1;

7、elseif(bc)k=1;elsek=0;23)有以下程序 #includemain()intx;scanf(%d,&x);if(x=3);elseif(x!=10)printf(%dn,x);程序运行时,输入的值在哪个范围才会有输出结果BA)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数24)有如下嵌套的if语句(d)C if(ab) if(ac) k=a; else k=c; else if(bc) k=b; else k=c;以下选项中与上述if语句等价的语句是(A) k=(ab)?a:b;k=(bc)?b:c;(B) k=(ab)?(bc)?a

8、:b):(bc)?b:c);(C) k=(ab)?(ac)?a:c):(bc)?b:c);(D) k=(ab)?a:b;k=(a0&n=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x=0)y=sqrt(x); D)y=sqrt(x=0?x:-x); If(x0)y=sqrt(-x);28)有以下程序 #includemain()inta=1,b=2,c=3,d=0;if(a=1&b+=2)if(b!=2|c-!=3)printf(%d,%d,%dn,a,b,c);elseprintf(%d,%d,%dn,a,b,c);elseprintf(%d,%

9、d,%dn,a,b,c);程序运行后输出结果是A)1,2,3 B)1,3,2 C)1,3,3 D)3,2,129)有以下程序main() int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(“%d,%d,%d,%dn”,a,b,c,d); 程序输出A)0,1,2,0 B) 0,0,0,3 C)1,1,2,0 D)编译有错30)若有定义:float x=1.5; int a=1,b=3,c=2;则正确的switch语句是 CA)switch(x)B) switch(int)x); case 1.0: printf(“*n”);case 1

10、: printf(“*n”); Case 2.0: printf(“*n”);case 2: printf(“*n”); C) switch(a+b) D) switch(a+b) case 1: printf(“*n”); case 1: printf(*n”); case 2+1: printf(“*n”); case c: printf(“*n”); 31)有以下程序 #include main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2:

11、a+; b+; break; case 3: a+; b+; printf(“a=%d,b=%dn”,a,b); 程序的运行结果是 DA)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1 32)若有定义语句int a, b;double x;则下列选项中没有错误的是CA)switch(x%2) B)switch(int)x/2.0case 0: a+; break; case 0: a+; break; case 1: b+; break; case 1: b+; break; default : a+; b+; default : a+; b+; C)switch(

12、int)x%2) D)switch(int)(x)%2)case 0: a+; break; case 0.0: a+; break; case 1: b+; break; case 1.0: b+; break;default : a+; b+; default : a+; b+; 二、填空题1)在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为 【非0 】 时表示逻辑值“真”。2)已有定义:char c= ;int a=1,b;(此处c的初值为空格字符),执行b=!c&a;后b的值为【 0 】。 3)设x为int型变量,请写出一个关系表达式 【 】 ,用以判断x同时为3和7的倍数时

13、,关系表达式的值为真。4)以下程序运行后的输出结果是【1 0 】#includemain()intx=20;printf(%d,0x20);printf(%dn,0x&x20);5)以下程序运行后的输出结果是 【1 】 。main() int x,a=1,b=2,c=3,d=4; x=(ab)?a:b; x=(xx)?x:d; printf(%dn,x);6) 以下程序的运行结果是【#& 】 。main()int a=2,b=7,c=5;switch(a0)case 1:switch(bc,a+cb,b+ca。请填空。main()float a,b,c;scanf(“%f%f%f”,&a,&b

14、,&c);if(_【a+bc&a+cb&b+ca 】_)printf(“YESn”);/*a,b,c能构成三角形*/else printf(“NOn”);/*a,b,c不能构成三角形*/8)以下程序的功能是:输出a、b、c三个变量中的最小值.请填空。#includemain() int a,b,c,t1,t2;scanf(%d%d%d,&a,&b,&c);t1=ab? _【a;b 】_ _;t2=ct1? _【c:t1 】_ _;printf(%dn,t2);9)有以下程序#include main() int a=1,b=2,c=3,d=0;if (a=1) if (b!=2) if(c!=3) d=1; else d=2; else if(c!=3) d=3; else d=4; else d=5; printf(%dn,d);程序运行后的输出结果是: 【4 】 。

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