C语言第四章习题及答案(课余练习-不用提交).doc

上传人:豆**** 文档编号:23968746 上传时间:2022-07-03 格式:DOC 页数:38 大小:195KB
返回 下载 相关 举报
C语言第四章习题及答案(课余练习-不用提交).doc_第1页
第1页 / 共38页
C语言第四章习题及答案(课余练习-不用提交).doc_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《C语言第四章习题及答案(课余练习-不用提交).doc》由会员分享,可在线阅读,更多相关《C语言第四章习题及答案(课余练习-不用提交).doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC语言第四章习题及答案(课余练习-不用提交)C语言第四章习题及答案(课余练习-不用提交) 第四章 习题答案一、选择题1)以下是if语句的基本形式: if(表达式)语句其中表达式A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式2)以下选项中,值为1的表达式是( )。A)1-0 B)1-0C)1-0 D)0-03)若a是数

2、值类型,则逻辑表达式(a=1)|(a!=1)的值是:A)1 B)0 C)2 D)不知道a的值,不能确定4)若变量已正确定义,在if (W)printf(“%dn”,k);中,以下不可替代W的是A)ab+c B)ch=getchar() C)a=b+cD)a+5)设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是A)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等价的表达式是 ( )A)w=1 B) w=0 C) w!

3、 =1 D) w! =011) 设有定义:inta=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)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代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是 A)kk=A&kk=Akk=a&(kk+32)=z D)isalpha(kk)&(kk91) isalpha(c) 判断参数c是否为英文字母 头文件:ctype.h isupper(c) 判断参数c是否为大写英文

4、字母 是返回非零值,否则返回零islower(c ) 检查参数c是否为小写英文字母13)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是 A)isupper(c) B)A=c=ZC)A=c&c=Z D)c=(z-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,5,5 D)3,5,7 16)有以下程序includemain()int a=1,b=0;if(!a) b+;e

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

6、=1) a=b;else a+;语句功能不同的switch语句是:A)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=10;b=50;c=30;if(ab) a=b,b=c; c=a;printf(“a=%d b=%d c=%d”,a,b,c);程序

7、的输出结果是 ( )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)有以下程序#include main() int x=1,y=2, z=3; if(xy) if (yb?(bc?1:0):0;功能相同的是A)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;elseif(bc)k=1;elsek=0;23)有以下程序 #includemain()intx;scanf(%d,&x);if(x=3);

8、elseif(x!=10)printf(%dn,x);程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数24)有如下嵌套的if语句 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:b):(bc)?b:c);(C) k=(ab)?(ac)?a:c):(bc)?b:c);(D) k=(ab)?a:b;k=(a0&n=0) y=sqr

9、t(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() int a=1,b=2,c=3,d=0;if(a=1&b+=2)if(b!=2|c-!=3) printf(%d,%d,%dn,a,b,c);else printf(%d,%d,%dn,a,b,c);else printf(%d,%d,%dn,a,b,c);程序运行后输出结果是A)1,2,3 B)1,3,2 C)1,3,3 D)3,2,129)有以下程序main() in

10、t 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语句是 A)switch(x)B) switch(int)x); case 1.0: printf(“*n”);case 1: printf(“*n”); Case 2.0: printf(“*n”);case 2: printf(“*n”); C) switch(a

11、+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: a+; b+; break; case 3: a+; b+; printf(“a=%d,b=%dn”,a,b); 程序的运行结果是 A)a=1,

12、b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1 32)若有定义语句int a, b;double x;则下列选项中没有错误的是A)switch(x%2) B)switch(int)x/2.0)case 0: a+; break; case 0: a+; break; case 1: b+; break; case 1: b+; break; default : a+; b+; default : a+; b+; C)switch(int)x%2) D)switch(int)(x)%2)case 0: a+; break; case 0.0: a+; break; case

13、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的值为【 】。 03)设x为int型变量,请写出一个关系表达式 【 】x%3=0&x%7=0 ,用以判断x同时为3和7的倍数时,关系表达式的值为真。4)以下程序运行后的输出结果是【 】1 0#includemain()intx=20; printf(%d

14、,0x20); (0x)20, 120 , 返回1printf(%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,&c);if(_【 】 a+bc&a+cb&b+ca _)printf(“YESn”)

15、;/*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 。-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁