当前位置:首页 > 《C语言程序设计》期末考试模拟试卷及参考答案
《C语言程序设计》期末考试模拟试卷及参考答案
一、选择题(每题2分,共30分) 1、# include
{ int a[3][3]={1,2,3,4,5,6,7,8,9}; int s=0,i;
for (i=0;i<3;i++) s+=(*(a+i))[i]; printf(\ }
A.9 B.12 C.14 D.15
2、设有说明语句:char a= '\\123abc';则变量a __________
A. 包含7个字符 B.包含6个字符 C. 包含5个字符 D. 包含4个字符
参考答案—D
3、有以下程序段 int k=0
while(k=1)k++;
while 循环执行的次数是_____
A. 无限次 B.有语法错,不能执行 C. 一次也不执行 D. 执行1次
参考答案—A
4、在C语言中,_____。
A.函数定义可以嵌套,但函数调用不能嵌套 B.函数定义不可以嵌套,但函数调用可以嵌套 C.函数定义和调用均不能嵌套 D.函数定义和调用均可以嵌套
参考答案—B
5、以下叙述正确的是________
A)do-while语句构成的循环不能用其它语句构成的循环代替。
1
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
参考答案—D
6、以下关于函数叙述中,正确的是 。
A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值 B.在函数体中至少必须有一个return 语句 C.在函数体中可以定义另一个函数 D.在函数体中可以调用函数自身
参考答案—D
7、以下数组声明语句中正确的是 。
A.int a,a[n]; B.int a[ ]; C. int a[2][3]={{1},{2},{3}}; D.int a[ ][3]={{1},{2},{3}};
参考答案—C
8、以下不能正确进行字符串赋初值的语句是________ A.char str[5]= \; B.char str[ ]= \;
C.char *str=\; D.char str[5]={ 'g','o','o','d'};
参考答案—A
9、以下关于switch语句和break语句的描述中,只有______是正确的。 A.在switch语句中必须使用break语句
B.在switch语句中,可以根据需要使用或不使用break语句 C.break语句只能用于switch语句中 D.break语句是switch语句的一部分
参考答案—B
2
10、判断变量ch中的字符是否为数字字符,最简单的正确表达式是_______。 A.ch>=0&&ch<=9 B.’0’<=ch<=’9’
C.ch>=’0’||ch<=’9’ D.ch>=’0’&&ch<=’9’
注意A和D的区别。参考答案—D
11、若执行以下程序时从键盘上输入9,则输出结果是_______ A.11 B.10 C.9 D.8 main( )
{ int n; scanf(\,&n);
if(n++<10) printf(\,n); else printf(\,n--); }
参考答案—B
12、若w=1,x=2,y=3,z=4;则条件表达式w>x?w:y A.4 B.3 C.2 D.1 参考答案—B 13、以下程序的输出结果是_____ main( ) {int x=023; printf(\,--x); } A.18 B.22 C.23 D.19 参考答案—A 3 14、下列4个函数中,________能实现交换变量值的功能。 A. void fun_a(int x,int y) B. void fun_b(int *x,int *y) { int *p; { int *p; *p=x;x=y;y=*p; *x=*y;*y=*x; } } C. void fun_c(int *x,int *y) D. void fun_d(int x,int y) { *x=*x+*y; { int p; *y=*x-*y; p=x;x=y;y=p; *x=*x-*y; } } 参考答案—A 15、以下所列的各函数首部中,正确的是_____ A. void play(var :integer,var b:integer) B.void play(int a,b) C. void play(int a,int b) D. Sub play(a as integer,b as integer) 参考答案—C 二、填空题(每空1分,共10分) 1、 选择结构语句有_______、________两种语句。 if语句、switch语句 4
共分享92篇相关文档