C语言期中考试试题及答案 1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级语言程序设计试题
答案在最后
一、单项选择题(本大题共20 小题,每小题 2 分,共20 分)在每小题列出的四个选项中只有一
个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.C 语言程序编译时,程序中的注释部分是()
A. 参加编译,并会出现在目标程序中
B. 参加编译,但不会出现在目标程序中
C. 不参加编译,但会出现在目标程序中
D. 不参加编译,也不会出现在目标程序中
2.设int a=3 ;则表达式a<1&&--a>1 的运算结果和a 的值分别是()
A.0 和2
B.0 和3
C.1 和2
D.1 和3
3. 与语句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=97
B.x=97,y=a
C.x=97,y=97
D.x=a,y=a
5. 执行下列程序
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.0
B.1
C.2
D.3
6. 结构化程序设计所规定的三种基本控制结构是()
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
9 .执行语句“ for(s=0,i=1;i<=10;i=i+3) s+=i; ”后,变量s、i 的当前值是( )
A. 22,13
B. 12,10
C. 22,10
D. 12,13
10. 下列各语句定义了数组,其中一个不正确的是
( )
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 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 7 main() {int i,j,temp,a[N]={1,2,3,4,5,6,7}; for(i=0;i {j=N-1-i; temp=a[i];a[i]=a[j];a[j]=temp; } for(i=0;i 输出结果: __ __ 22. # in elude void ma in () 输出结果:_______ { int i; _____ for (i=1;i<5;i++) printf( " %d\t%c、n" ,i,'A'+i); _____ } __________________________________________________________________ 23. # in elude 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 ___________ ;