1、C语言程序设计第1阶段练习题 江南大学机考题库及答案江南大学网络教育第一阶段练习题考试科目:C语言程序设计第 章至第 章(总分100分) _学习中心(教学点) 批次: 层次: 专业: 学号: 身份证号: 姓名: 得分: 一 单选题 (共20题 ,总分值40分 ,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。)1. 已知i、j、k为int型变量,若从键盘输入:1,2,3 ,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )。 (2 分) A. scanf(“%2d%2d%2d”,&i,&j,&k); B. scanf(“%d %d %d”,&i,&j,&k);
2、 C. scanf(“%d,%d,%d”,&i,&j,&k); D. scanf(“i=%d,j=%d,k=%d”,&i,&j,&k); 2. 下列判断char类型变量C1是为数字的最简单且正确的表达式( )。 (2 分)A. 0=C1=9 B. (C1=0)&(C1=9) C. (C1=0)&(C1=9) D. (0=C1)&(9=C1) 3. 以下选项中,与k=n+完全等价的表达式是( )。 (2 分)A. k=n,n=n+1 B. n=n+1,k=n C. k=+n D. k+=n+1 4. 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(
3、)。 (2 分)A. 6.500000 B. 6 C. 5.500000 D. 6.000000 5. 字符串”abcd123xABt”的长度为( )。 (2 分)A. 8 B. 17 C. 9 D. 10 6. 已知c是字符型变量,以下不正确的赋值语句是( )。 (2 分)A. c=”a” B. c=a C. c=141 D. c=x61+3 7. 下面的for循环最多可执行( )次。for(x=0,y=0;(y!=99)&(x4);x+);(2 分) A. 4次 B. 5次 C. 99次 D. 0次 8. 以下程序的输出结果是用( )表示。main( ) int k=17;printf(%
4、d,%o,%x n,k,k,k); (2 分)A. 17,021,0x11 B. 17,17,17 C. 17,0x11,021 D. 17,21,11 9. 以下选项中合法的实型常数是( )。 (2 分)A. 5E2.0 B. E-3 C. .2E1 D. 1.3E 10. 有以下程序main() int i=1,j=1,k=2;if(j+k+)&i+) printf(%d,%d,%dn,i,j,k); 执行后输出结果是( )。 (2 分)A. 1,1,2 B. 2,2,1 C. 2,2,2 D. 2,2,3 11. C语言中各种基本数据类型的存储空间长度排列为( )。 (2 分)A. ch
5、arlongintfloatdouble B. doublefloatlongintchar C. charintlongfloatdouble D. floatintlongchardouble 12. 若有以下程序:main() int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%dn”,m,i);执行后的输出结果是( )。 (2 分)A. 8,6 B. 8,3 C. 6,4 D. 7,4 13. 以下非法的赋值语句是( )。 (2 分)A. n=(i=2,+i); B. j+; C. +(i+1); D. x=j0; 14. 下列关于C语言用户标识符的叙述中正确的
6、是( )。 (2 分)A. 用户标识符中可以出现在下划线和中划线(减号)。 B. 用户标识符中不可以出现中划线,但可以出现下划线。 C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头。 D. 用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头。 15. 执行以下程序段后,变量a,b,c的值为( )。int x=11,y=10,a,b,c;a=(-x=y+)?-x:+y;b=x+; c=y; (2 分)A. a=10,b=10,c=9 B. a=9,b=9,c=12 C. a=9,b=9,c=11 D. a=1,b=9,c=11 16. 下列说法中正确的是( )。 (
7、2 分)A. 在switch语句中一定要使用break语句 B. 在switch语句中不一定要使用break语句 C. break语句是switch语句的一部分 D. break只能用于switch语句中 17. 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b=c;b+) s=s+1;则与上述程序段功能等价的赋值语句是( )。 (2 分)A. s=a+b; B. s=a+c; C. s=s+c; D. s=b+c; 18. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 & y+z/2的值是( )。 (2
8、分)A. 6 B. 0 C. 2 D. 1 19. 以下不符合C语言语法的赋值表达式是( )。 (2 分)A. d=9+e,e+,d+9 B. k=i= =j C. n1+=n2+3 D. a=b+c=a+7 20. C语言中对于嵌套if语句规定else总是与( )配对? (2 分)A. 第一个if B. 其之前最近的if C. 缩进位值相同的if D. 其之前最近的不带else的if语句 二 填空题 (共5题 ,总分值30分 )21. 斐波纳契数列中头两个数是0和1,从第三个数开始,每个数等于前两个数的和,即:0,1,1,2,3,5,8,13,21,等。求斐波纳契数列的前20个数。要求每行输
9、出5个数。请填空。#include stdio.hmain()int f,f1,f2,I;printf(“Fibonacci series :n”);f1=0;f2=_;printf(“%6d,%6d,”,f1,f2);for(I=3;I=20; _) f=_;printf(“%6d,”,f);if(_)printf(“n”);f1=f2;f2=_;printf(“n”); (6 分)22. #include “stdio.h”main() char c;scanf(“%c”,&c);switch (c-2) case 0:case 1: putchar(c+4);case 2: putcha
10、r(c+4);break;case 3: putchar(c+3);default: putchar(c+2);break;printf(“n”); 当分别输入1,2,5时,输出为_、 _、_。 (6 分)23. 下述程序段的运行结果是_。int x,y;x=17;y=26;printf(“%d”,y/=(x%=6); (6 分)24. break语句的功能_ ,contitue语句的功能_ 。 (6 分)25. 以下程序实现求100200,400600间的全部素数,并以10个数一行的格式输出。#include math.hmain()int m,k,I,n=0;for(m=101;m=600
11、;m+=2)if(m200 _m400)_;k=sqrt(m);for(I=2;I=k;I+)if(m% I= =0) _;if( _) printf(“%d”,m);n=n+1;if(n%10= =0) printf(“n”);printf(“n”); (6 分)三 编程题 (共2题 ,总分值30分 )26. 采用二分法求方程2(x)-4(x)+3x-6=0在(-10,10)之间的根。 (15 分)27. 利用循环实现打印以下图形。 (15 分)一 单选题 (共20题 ,总分值40分 ,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。)1. 答案:C解析过程:2. 答案:B解析
12、过程:3. 答案:A解析过程:4. 答案:D解析过程:5. 答案:D解析过程:6. 答案:A解析过程:7. 答案:A解析过程:8. 答案:D解析过程:9. 答案:C解析过程:10. 答案:C解析过程:11. 答案:C解析过程:12. 答案:C解析过程:13. 答案:C解析过程:14. 答案:B解析过程:15. 答案:C解析过程:16. 答案:B解析过程:17. 答案:B解析过程:18. 答案:D解析过程:19. 答案:D解析过程:20. 答案:D解析过程:二 填空题 (共5题 ,总分值30分 )21. 答案:1,I+,f1+f2,I%5=0,f解析过程:22. 答案:3,66,87解析过程:2
13、3. 答案:5解析过程:24. 答案:提前结束循环, 结束本次循环解析过程:25. 答案:&,continue,break,Ik解析过程:三 编程题 (共2题 ,总分值30分 )26. 答案:#includestdio.h#includemath.hmain() float a=-10,b=10,ab,fa,fab,fb;fa=a*(2*a-4)*a+3)-6;do ab=(a+b)/2;fab=ab*(2*ab-4)*ab+3)-6;if(fa*fab)0)a=ab; fa=fab;elseb=ab; fb=fab;while(fabs(fab)=1e-5);printf(方程的根为 %.2f,ab);解析过程:27. 答案:#includestdio.hmain() int I,j,k; char m=A;for(I=0;I=4;I+) for(j=0;j=3-I;j+)printf( );for(k=0;k=2*I;k+)if(k=0|k=2*I) printf(%c,m+I);else printf(*);printf(n);for(I=0;I=3;I+) for(j=0;j=I;j+)printf( );for(k=0;k=6-2*I;k+)if(k=0|k=6-2*I) printf(%c,m+3-I);else printf(*);printf(n);解析过程:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1