当前位置:文档之家› C语言期中考试试题及答案 1

C语言期中考试试题及答案 1

高级语言程序设计试题答案在最后一、单项选择题(本大题共20 小题,每小题 2 分,共20 分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1.C 语言程序编译时,程序中的注释部分是()A. 参加编译,并会出现在目标程序中B. 参加编译,但不会出现在目标程序中C. 不参加编译,但会出现在目标程序中D. 不参加编译,也不会出现在目标程序中2.设int a=3 ;则表达式a<1&&--a>1 的运算结果和a 的值分别是()A.0 和2B.0 和3C.1 和2D.1 和33. 与语句if(a>b)if(c>d)x=1;else x=2; 等价的是()A.if(a>b){if(c>d)x=1;else x=2;}B.if(a>b){if(c>d)x=1;}else x=2;C.if((a>b)&&(c>d))x=1;else x=2;D.if(a<=b)x=2;else if(c>d) x=1;4.设char x='a:则printf("x=%c,y=%c \ n",x,97);的输出是()A.x=a,y=97B.x=97,y=aC.x=97,y=97D.x=a,y=a5. 执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf("%d、n”,a : 1: : 0]+b[0][0]);}后输出的结果是()A.0B.1C.2D.36. 结构化程序设计所规定的三种基本控制结构是()A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数7. 完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为()A. 连接、编译B.编译、连接C.连接、运行D.运行8. 下列各语句中,能够且仅输出整型变量a、b 中最大值的是( )A. if(a>b) printf( " %d、n" ,a);printf(” %d、n" ,b);B. printf( " %d\n" ,b);if(a>b) printf( " %d、n" ,a);C. if(a>b) printf( " %d\ n" ,a);else printf(" %d\ n" ,b);D. if(a<b) printf( " %d\ n" ,a);printf( " %d\ n" ,b);9 .执行语句“ for(s=0,i=1;i<=10;i=i+3) s+=i; ”后,变量s、i 的当前值是( )A. 22,13B. 12,10C. 22,10D. 12,1310. 下列各语句定义了数组,其中一个不正确的是( )A. static int a [5],b[2][3];B. char no[30],rec[30,6];C. int x []={2,4,6,8,10};D. int x [10]={1,2,3,4,5} ;二、填空题(本大题共10 小题,每小题2分,共20 分)11. 初始化值是0.618的双精度变量a的定义形式为_______________ 。

12. 表达式!10!=1 的值是___________ 。

13. _______________________________________ “ 20<x < 30”的C语言表达式是。

14. 表达式a=1,a+=1,a+1,a++ 的值是_____________ 。

15. 设int i = 5 ;则循环语句while(i>=1)i--; 执行后,i 的值为 ____________ 。

16. 设char string[]="This_is_a_book!"; 则数组的长度应是 _____________ 。

17. 计算a、b 中最小值的条件表达式为_______ 。

18. ___________________________________________ 判断变量a、b的值均不为0的C表达式为 _________________________________________________ 。

19. 执行语句“ a=5+(c=6); ”后,变量a、c 的值依次为_____ 。

20. 整型变量x的值为23,语句“ printf( " %o\\ n" ,x); ”的输出结果为 _________ 。

三、程序分析题(本大题共3小题,每小题6分,共18分)阅读下列程序,将输出结果写到各题右侧的划线处21. # define N 7main(){int i,j,temp,a[N]={1,2,3,4,5,6,7};for(i=0;i<N/2;i++){j=N-1-i; temp=a[i];a[i]=a[j];a[j]=temp;}for(i=0;i<N;i++)printf("%5d",a[i]);输出结果: __ __ 22. # in elude <stdio.h>void ma in () 输出结果:_______{ int i; _____for (i=1;i<5;i++) printf( " %d\t%c、n" ,i,'A'+i); _____} __________________________________________________________________23. # in elude <stdio.h>void mai n(){ int i,j,a : 4: : 4];for(i=0;i<4;i++)for(j=0;j<4;j++) a : i: : j] =1+i - j;for(i=0 ; i<4;i++) {for(j=0;j<4;j++) 输出结果:_______ if(a : i: :j] >0) printf( " %3d" ,a : i: :j: ); _____ putehar(' \ n'); _____ } __________________________________________________________________}四、程序填充题(本大题共2小题,每小题6分,共12分)给出下列程序,将横线处缺少的部分补上,使其能正确运行。

24. 输入一字符串(换行为结束标志)统计其中数字(0,1,2,…,9不单独统计)、空白和其它字符出现的次数。

# in elude “ stdio.h"main (){ char e;Int ______________ ;while((c=getchar () )!='\n'){if( _______________ ) digit++;else if(c=="||c=='\t') ++bla nk;else ___________ ;}prin tf("digit=%d,bla nk=%d,other=%d\in",digit,bla nk,other);}25. 先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出" Not found! ”标志。

main(){ int i ,x,a[10];for(i=0 ;i<10 ;i++) scanf("%d" ,___);scanf("%d" ,&x) ;printf("%d" ,x);for(i=0 ;i<10 ;i++) if( __________ ) break ;if(i___10) printf( “ posintio”,n:%i);delse printf(" Not found! \n" ,x);}五、五、程序设计题(26小题14分,27\28小题10分,共34分)。

26编程,先输入n,再输入n个实数并分别统计正数的和、负数的和,然后输出统计结果。

27. 求出10 至1000 之内能同时被2、3、7 整除的数,并输出。

28. 求1 到100 之间的奇数之和及偶数之和,并将二者输出。

1.咼级语言程序设计试题参考答案、单项选择题(本大题共20小题,每小题2分,共20分)I. D 2.B 3.A 4.D 5.D6.C7.B8.C9.A 10.B、填空题(本大题共10小题,每小题2分,共20分)II. double a=0.61812.113.x>20&&x<=30 或者(x>20)&&(x<=30)14.215.016.1617. a<b? a:b18. a*b!=0 或a*b19. 11,620. 27\ n三、程序分析题(本大题共5小题,每小题5分,共25分)21.7 6 5 4 3 2 123.1 ___________四、程序填充题(本大题共3小题,每小题6分,共18分)24. (1)digit=0,bla nk=0,other=0(2) c>='0'&&c<=9(3) ++other 或者other++25. (1)&a[i]或者a+i(2)x==a[i](3)<五、程序设计题略。

相关主题