ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:26.68KB ,
资源ID:9610443      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9610443.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言练习题z45章.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言练习题z45章.docx

1、C语言练习题z45章C语言练习题(4-5章) 一、选择题1. 以下叙述正确的是A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点2. C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构 B) if、switch、breakC) for、while、do-whileD) if、for、continue3. 在一个C语言程序中A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后

2、 D) main函数必须出现在固定位置4. 下列叙述中正确的是A) C语言中既有逻辑类型也有集合类型 B) C语言中没有逻辑类型但有集合类型 C) C语言中有逻辑类型但没有集合类型 D) C语言中既没有逻辑类型也没有集合类型5. 下列关于C语言用户标识符的叙述中正确的是A) 用户标识符中可以出现下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头6. 已定义ch为字符型变量,以下赋值语句中错误的是A)ch=; B)ch=62+3; C)ch=

3、NULL; D)ch=xaa;7. 以下程序段中与语句k=ab?(bc?1:0):0;功能等价的是()A)if(ab)&(bc) k=1; B) if(ab)|(bc) k=1 else k=0; else k=0;C)if(ab) k=1; else if(bc) k=1; else k=0; 8. 若有以下程序段(n所赋的是八进制数)int m=32767,n=032767;printf(%d,%on,m,n);执行后输出结果是A) 32767,32767 B) 32767,032767 C) 32767,77777 D) 32767,0777779. 下列关于单目运算符+、-的叙述中正确

4、的是A) 它们的运算对象可以是任何变量和 常量B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float型变量10. 若有以下程序段int m=0xabc,n=0xabc;m-=n;printf(%Xmn,m);执行后输出结果是A) 0X0 B) 0x0 C) 0 D) 0XABC11. 有以下程序段int m=0,n=0; char c=a;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m

5、,c,n);若从键盘上输入:10A10,则输出结果是: A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,012. 有以下程序,执行后输出的结果是main() int i=1,j=1,k=2;if(j+|k+)&i+) printf(%d,%d,%dn,i,j,k);A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 2,2,313. 有以下程序,执行后输出的结果是main() int a=5,b=4,c=3,d=2;if(abc) printf(%dn,d);else if(c-1=d)=1) printf(%dn,d+1);else printf(%d

6、n,d+2);A) 2 B) 3 C) 4 D) 编译时有错,无结果14. 有以下程序,执行后输出的结果是main() int i=10,j=1;printf(%d,%dn,i-,+j);A) 9,2 B) 10,2 C) 9,1 D) 10,115. 有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是A) if (ca) x=1; B)if (a3) x=3; else if(ba) x=2; else if(a2) x=2;else x=3; else x = 1;C) if (a3) x=3; D)if(Ab) x=b; if(a2) x =

7、2; if(bc) x =c;if(a1) x=1; if(c5)printf(“%dn”,m);else printf(“%dn”,m-);18. 当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为A)1 B)2 C)3 D)6if(ab)if(cd) x=1;elseif(ac)if(bd) x=2;else x=3;else x=3;else x=6;19. 在执行以下程序时,如果从键盘上输入:ABCdef,则输出为A)ABCdef B)abcDEF C)abC) D)DEF#includemain( ) char ch;while(ch=getchar( )!=n) if

8、(ch=A&ch=a&chb B) ab0 C) 0aabmain( ) int s,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(ab)t=s+1;else if(a=b)t=5;else t=2*s;printf(“t=%dn”,t);21. 以下程序的输出结果是A) -1 1 B) 0 1 C) 1 0 D) 0 0main( ) int a=-1,b=1,k;if(+a0)&!(b-0?1:X0)yl; B)if(x)else if(x0)yl;else y0; else if(x=0)if(x0) y= l; if(x0) y=l;else if(x=0

9、)y0; else y=-l;else y-l;23. 下列程序执行后的输出结果是A)-32767 B) FFFE C)-1 D)32768main()char x0xFFFF; printf(”dn”,x-); 24. 语句printf(abrehiyboun);的输出结果是A)abrehiyhou B) abrehiybouC) rehiyou D) abrehiybou(说明:b是退格符)25. 有如下程序,该程序的输出结果是main0 float x=2.0,y;if(x0.0) y=0.0;else if(x10.0) y=1.0/x;else y=1.0;printf(%fn,y)

10、;A) 0.000000 B) 0.250000 C) 0.500000 D) 1.00000026. 有如下程序,该程序的输出结果是main0 int a=2,b=-1,c=2;if(ab)if(b0) c=0;else c+;printf(%dn,c);A) 0 B) 1 C) 2 D) 327. 若执行以下程序时从键盘上输入9,则输出结果是A) 11 B) 10 C) 9 D) 8main() int n;scanf(%d,&n);if(n+10) printf(%dn,n);else printf(%dn,n-);28. 阅读以下程序:程序运行后,如果从键盘上输人5,则输出结果是mai

11、n() int x;scanf(%d,&x);if(x-5) printf(%d,x);else printf(%d,x+);A) 3 B) 4 C) 5 D) 629. 假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4;m=(wx)?w:x; m=(my)?m:y; m=(m0y= 0 x=0-1 x0) y=1;else if(x=0) y=0;else y=-1;B) y=0;if(x0) y=1;else if(x=0)if(x0) y=1;else y=-1;D) if(x=0) if(x0) y=1;else y=0;else y=-1;3

12、1. 以下选项中,与k=n+完全等价的表达式是_。A) k=n,n=n+1 B) n=n+1,k=n C) k=+n D) k+=n+132. 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是for (i=5;i;i-)for(j=0;j=4;j+).A) 20 B) 25 C) 24 D) 3033. 若有以下定义: float x; int a,b;则正确的switch 语句是A) switch(x) B) switch(x) case .0:printf(*n); case 1,2:printf(*n);case 2.0:printf(*n); case 3:print

13、f(*n); C)switch(a+b) D) switch(a+b); case 1:printf(n); case 1:printf(.*n);case 1+2:printf(*n); case 2:printf(*n); 34. 运行以下程序后,如果从键盘上输入china#,则输出结果为A)2,0 B)5,0 C) 5,5 D) 2,5#includemain( ) int v1=0,v2=0;char ch;while(ch=getchar( )!=#)switch(ch) case a:;case h:;default: v1+;case 0: v2+; printf(“%d,%dn

14、”,v1,v2);35. 有如下程序,该程序的输出结果是main0 int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;printf(a=%d,b=%dn,a,b);A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=236. 若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是A) swich(a+b); B) switch(a*a+b*b) case 1:y=a+b; break; case 3: case 0:y=a-b; break; case 1:y=a+b;bre

15、ak; case 3:y=b-a,break;C) switch (a) D) switch(a-b) case c1 :y=a-b; break default:y=a*b;break;case c2: x=a*d; break case 3:case 4:x=a+b;break;default:x=a+b; case 10:case 11:y=a-b;break; 37. 有以下程序,程序运行后的输出结果是main() int a=16,b=20,m=0;switch(a%3) case 0:m+;break;case 1:m+;switch(b%2) default:m+;case 0:

16、m+;break;printf(%dn,m);A) 1 B) 2 C)3 D) 438. 有以下程序,执行后输出的结果是main() int i;for(i=0;i3;i+)switch(i) case 1: printf(%d,i);case 2: printf(%d,i);default: printf(%d,i);A) 011122 B) 012 C) 012020 D) 12039. 有以下程序,程序运行时,从键盘输入:01,程序执行后的输出结果是()main( ) char k; int i; for(i=1;i3;i+) scanf(%c,&k); switch(k) case 0

17、: printf(anothern); case 1: printf(numbern); A) another B)another C)another D)number number number number number another number 40. 假定a和b为int型变量,则执行以下语句后b的值为a=1; b=10;do b-=a; a+; while(b-0) ;A) 9 B) -2 C) -1 D) 841. 设x和y均为int型变量,则执行下的循环后,y值为for(y=1,x=1;y=10) break; if (x%2=1) x+=5; continue;x-=3;A)

18、 2 B) 4 C) 6 D) 842. 设j为int型变量,则下面for循环语句的执行结果是for( j=10;j3;j-) if(j%3)j-;-j; -j;printf(%d ,j);A) 6 3 B) 7 4 C) 6 2 D) 7 343. 有以下程序,输出结果是main() int i, j;for(j=10;j100)break;C)int k=1000; D)int s=36do+k; while(k=1000); While(s);-s;(注意:int数的范围)47. 执行语句:for(i=1;i+4;);后变量i的值是A) 3 B) 4 C) 5 D) 不定48. 以下程序

19、的输出结果是A) x=4 B) x=8 C) x=6 D) x=12main( ) int i,j,x=0;for(i=0;i2;i+) x+;for(j=0;j3;j+) if(j%2) continue;x+;x+;printf(“x=%dn”,x);49. 运行以下程序后,如果从键盘上输入65 14,则输出结果为A) m=3 B) m=2 C) m=1 D) m=0main( )int m,n;printf“Enter m,n:”; scanf(“%d%d,&m,&n”);while(m!=n) while(mn)m-=n;while(nm)n-=m;printf(“m=%dn”,m);

20、50. 以下程序的输出结果是A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1main( ) int x=10,y=10,i;for(i=0;x8;y=+i)printf(%d,%d,x-,y);51. 以下程序的输出结果是A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0main( ) int n=4;while(n-) printf(%d ,-n);52. 以下程序的输出结果是A) 编译不通过,无输出 B) aceg C) acegi D) abcdefghimain( ) int i;for(i=A;iI;i+,i+) printf

21、(%c,i+32);printf(n);53. 以下叙述正确的是A)dowhile语句构成的循环不能用其它语句构成的循环来代替。B) do一while语句构成的循环只能用break语句退出。C)用dowhile语句构成的循环,在while后的表达式为非零时结束循环。D)用dowhile语句构成的循环,在while后的表达式为零时结束循环。54. 下列程序的输出结果是A)4 B) 2 C)1 D)0main() int i,j,m=0,n=0;for(i=0;i2;i+)for(j=0;j=i) m=1;n+;printf(%dn,n);55. 以下程序段的执行结果是A) a=12 y=12 B

22、) a=12 y=12a=14 y=16 a=16 y28a=16 y=20 C) a 12 y 12 D) a 12 y= 12a= 14 y 26 a= 14 y 44int a, y;a10;y0;do a+=2; y+=a;Printf(a=d y=dn”,a,y);if(y20) break ;while(a=14);56. 有如下程序,该程序的执行结果是main0 int i,sum;for(i=1;i6) n-;printf(%d,n);A) 987 B) 876 C) 8765 D) 987659. 有以下程序段int k=0while(k=1)k+;while 循环执行的次数

23、是A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行1次60. 以下程序执行后sum的值是A) 15 B) 14 C) 不确定 D)0main() int i , sum;for(i=1;i6;i+) sum+=i;printf(%dn,sum);61. 有以下程序段int x=3;do printf(%d,x-=2); while (!(-x);其输出结果是A) 1 B) 3 0 C) 1 -2 D) 死循环62. t为int类型,进入下面的循环之前,t的值为0while(t=l)则以下叙述中正确的是A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法 D) 以上说法都不对63. 以下程序的输出结果是main()int num= 0;while(num=2) num+; printf(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1