c语言习题(带答案)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("Enter a,b,c:"); scanf("%d%d%d",______); ____ a=b; b=c; ___ printf("a=%d b=%d c=%d\n",a,b,c); } 答案: int a,b,c; &a,&b,&c temp=a; c=temp; 第二部分 1.C程序的结构可分为哪几类?(多选) A.顺序结构 B.循环结构 C.程序结构 D.选择结构 答案: ABD 2.输入两个实数a,b,然后交换它们的值,最后输出(提示:要交换两个数 得借助一个中间变量temp。首先让temp存放a的值,然后把b存入a,再 把temp存入b就完成了)。 void main() { float a,b,temp; printf("请输入a和b的值:"); scanf("%d,%d",___); temp = a; ___ ___ printf("交换后, a=%d , b=%d\n",___); } 答案: &a ,&b a = b; b = temp; a,b 3. 当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少? (1)if(a>c)
} 答案:*#*# 10. 该程序的输出结果是什么?(单选) #include <stdio.h> void main() {char k;int i; for(i=1;i<3;i++) {scanf(“%c”,&k); switch(k) { case ‘0’:printf(“another\n”); case ‘1’:printf(“number\n”); } } } 答案:another number another 11. 该程序的输出结果Biblioteka Baidu多少?(单选) #include <stdio.h> main() { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) { if(j%2) continue; x++; } } printf("x=%d\n",x); } A. x=4 B. x=8 C. x=6 D. x=12 答案: B 14. 若k为整型,以下while循环执行___次.(单选) k=2; while(k=0)
{ x=(x+1)%2; 1 0 1 0 10 10 10 10 10 10 10 y=(y+1)%3; 1 2 0 120 120 120 120 120 120 120 z=(z+1)%5; 1 2 3 40 1234012340 12340 12340 } printf("x=%d,y=%d,z=%d\n",x,y,z); } 如果运行时输入10, 结果是 x=___,y=___,z=___。 如果运行时输入17, 结果是 x=___,y=___,z=___。 答案:0 1 0 1 2 2 19. 已知a为整型变量,那么与表达式 a!=0 真假值情况相同的表达式 有哪些?(多选) A. a>0||a<0 B. a C. !a==0 D. !a 答案: ABC 21. 该源程序执行后,屏幕上显示什么?(单选) void main() { int a; float b; a=4; b=9.5; printf("a=%d,b=%4.2f\n",a,b); } A. a=%d,b=%f\n B. a=%d,b=%f C. a=4,b=9.50 D. a=4,b=9.5 答案: C 22. 下面哪些是非法的C语言转义字符?(多选) A. '\t' B. '\08' C. '\0xaf' D. '\\' 答案: B 23. 以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给 b,把a中的值给c,然后输出a,b,c的值。请填空。 #include <stdio.h> void main() { __________ int temp;
{a=b;b=c;c=a;} else {a=c;c=b;b=a;} 执行后a,b,c的值为___,___,___ (2)if(a<c) a=c; else a=b;c=b;b=a; 执行后a,b,c的值为___,___,___ (3)if(a!=c); else a=c;c=b;b=a; 执行后a,b,c的值为___,___,___ 答案: 5 5 4 5 5 4 3 3 4 6. 请问:下面这个程序段的输出是什么?(单选) int a,b,c; a=7;b=8;c=9; if(a>b) a=b;b=c;c=a; printf("a=%d b=%d c=%d\n",a,b,c); A. a=7 b=8 c=7 B. a=7 b=9 c=7 C. a=8 b=9 c=7 D. a=8 b=9 c=8 答案: B 7. 该程序的运行结果是:(单选) void main() { int a,b,c; a=2;b=7;c=5; switch(a>0) { case 1: switch(b<10) { case 1:printf("^");break; case 0:printf("!");break;
j+1 scanf("%d",&n) 第三部分 1.下面这个程序的作用是统计公元1年到公元2000年的闰年个数。判断 闰年的方法是:能被400整除的年是闰年;除能被400整除的年以外,凡是 能被4整除,但不能被100整除的年是闰年。其余年份是平年。请填空。 #include <stdio.h> void main() { int year; int count=0; for(year=0;year<=2000;year++) if( (_____)||( year%4==0 && ____) ) ____; printf("%d",count); } 答案:year%400==0 year%100!=0 count++ 2. 读懂程序并填空。 #include <stdio.h> void main() { int digit_num=0; int letter_num=0; int other_num=0; char ch; while(1) { ch=getchar(); if(ch=='!') break; if(ch>='0'&&ch<='9') digit_num++; else if( (ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z') ) letter_num++;
} case 0: switch(c==5) { case 0: printf("*");break; case 1: printf("#");break; default:printf("%%");break; } default: printf("&"); } printf("\n"); } A. ^#& B. ^ C. & D. ^!*#%& 答案: A 8. 该程序的输出结果是多少?(单选) m=37;n=13; while(m!=n) { while(m>n) m=m-n; while(n>m) n-=m; } printf("m=%d\n",m); 输出结果为: A. m=13 B. m=11 C. m=1 D. m=2 答案:C 9. 该程序的输出结果是多少?(单选) void main() {int k; for(k=1;k<5;k++) { if(k%2)printf(“*”); else continue; printf(“#”); }
printf("%d",k),k--; printf("\n"); A. 无限次 B. 0次 C. 1次 D. 2次 答案: D 12. 下面这个程序的输出是什么?(单选) #include <stdio.h> main() { int y=10; while(y--); printf("y=%d\n",y); } A. y=0 B. while构成死循环 C. y=1 D. y=-1 答案: D 13. 以下程序从读入的整数数据中,统计大于零的整数个数和小于零的 整数个数.用输入零来结束输入,程序中用变量i统计大于零的整数个数, 用变量j统计小于零的整数个数.请填空. #include <stdio.h> main() { ___ n,i,j; printf("输入非零的整数(输入零结束程序)"); i=j=0; scanf("%d",&n); while___ { if(n>0) i=___; if(n<0) j=___; ___; } printf("i=%4d j=%4d\n",i,j); } 答案: int (n!=0) i+1
13. 下面哪个表达式的值为4.(单选) A. 11/3 B. 11.0/3 C. (float)11/3 D. (int)(11.0/3+0.5) 答案: D 14. 已知整型变量a=6,b=7,c=1,则下面表达式的值为多少? a+3 ___ (b-a*3)/5 ___ c*(a+b)+b*(c+a) ___ 3.2*(a+b+c) ___ 答案: 9 -2 62 44.8 15. 已知整型变量a=6,字符型变量ch='A',浮点数变量f=2.1,则下面表 达式的值为多少? (提示:'A'的ASCII码为65) a+4.5 ___ ch+a+f ___ (a+30)/5 ___ (a+30)/5.0 ___ 答案: 10.5 73.1 7 7.2 16. 指出下面错误的表达式:(多选) A. a+b=5 B. 56=a11 C. i=i++ D. 5.6+6.2%3.1 E. 12 F. a=5,b=6,c=7 答案: ABD 17. 若变量f已说明为float类型,i为int类型,则下面哪些表达式(或 语句)能够实现将f中的数值保留小数点后两位,第三位进行四舍五入的 运算?(多选) A. f=(f*100+0.5)/100.0 B. i=f*100+0.5,f=i/100.0; C. f=(int)(f*100+0.5)/100.0; D. f=(f/100+0.5)*100.0; 答案: BC 18. 写出下面这个程序的结果。 void main() { int count,i; int x,y,z; x=y=z=0; scanf("%d",&count); for(i=0;i<count;i++)
此答案仅供参考,若有错误之处,敬请原 谅
2. C语言程序由什么组成?(单选) A. 子程序 B. 主程序和子程序 C. 函数 D. 过程 答案: C 3. 源程序要正确地运行,必须要有什么函数?(单选) A. printf函数 B. 自定义的函数 C. main函数 D. 不需要函数 答案: C 4. 指出下面合法的标识符:(多选) A. 3ab B. int C. ABC D. a_3 E. sum.a F. #abc G. _stu2 H. abc f 答案: CDG 6. 指出下面哪些是合法的用户定义的标识符?(多选) A. P-S B. putchar C. double D. _908 E. *par F. sheep! G. wind H. x y 答案: DG 8. 这段程序中的常量有:(多选) #define PI 3.14 void main() { int sum; sum = 10 + 15; printf("sum=%d\n",sum); printf("result is 25\n"); } 这段程序中常量有: A. 10 B. sum C. 15 D. 25 E. main F. PI 答案: ACF 11. 如果要把常量327存入变量a中,a可以定义成哪些类型?(多选) A. int B. char C. long D. float 答案: ACD 12. 下面哪些写法是对的,而且是常量?(多选) A. 125 B. -.456 C. 1.25e20 D. 'AB' E. E6 F. 0238 G. 0xabcdef H. "\n\\\'\123" 答案: ACGH