大学MOOC C语言程序设计CAP(浙江大学)1001614008 最新慕课完整章节测试答案
第一次单元测验
第一次单元测验
1、单选题:
以下代码片段的输出是:int j=4;for ( int i=j; i<=2*j; i++ ) { switch ( i/j ) { case 0: case 1: printf(“*”); break; case 2: printf(“#”); }}
选项:
A: ****#
B: ****##
C: ***#
D: *#
E: ****
答案: 【 ****#】
2、单选题:
下列程序段输出结果为:int x=1, y=012;printf(“%d”,y*x++);
选项:
A: 10
B: 12
C: 20
D: 24
答案: 【 10】
3、单选题:
下面程序段的输出结果是?int k;while(k!=0) k=k-1;printf(“%d”, k);
选项:
A: 0
B: 无论k的初值如何,最终都会减到0的。
C: 因为k没有初值,所以结果不确定
D: 1
E: 因为没有给k赋初值,因此程序不能通过编译
答案: 【 0;
无论k的初值如何,最终都会减到0的。】
4、单选题:
以下表达式x&&1用在if的条件中时,和哪个是等价的:
选项:
A: x!=0
B: x
C: x==0
D: x==1
E: x!=1
答案: 【 x!=0;
x】
5、单选题:
以下哪个不是C语言的关键字?
选项:
A: include
B: if
C: while
D: int
E: for
答案: 【 include】
6、单选题:
以下哪个直接量是十进制的124?
选项:
A: 0174
B: 0x7C
C: 124
D: 0x124
E: 0124
F: 124d
答案: 【 0174;
0x7C;
124】
7、单选题:
对于以下代码: int i=6; if ( i<= 6 ) printf("hellon");; else printf("bye-byen");;哪句话是对的?
选项:
A: 无法编译
B: 不能通过编译
C: 打印出"hello"
D: 打印出"bye-bye"
E: 打印出"hello bye-bye"
答案: 【 无法编译;
不能通过编译】
8、单选题:
在代码:while ( !e )中,!e等价于:
选项:
A: e == 0
B: e != 1
C: e!=0
D: e == 1
答案: 【 e == 0】
9、单选题:
下列可用于C语言程序标识符的一组是(名字间以逗号分隔):
选项:
A: For, _abc, IF
B: _if, _123, file
C: void, d, WORD
D: For, -abc, IF
E: k2, aa, _tt
F: 2_a, xyz, b1_s
答案: 【 For, _abc, IF;
_if, _123, file;
k2, aa, _tt】
10、单选题:
对for(表达式1;;表达式3)可理解为
选项:
A: for(表达式1;1;表达式3)
B: for(表达式1;true;表达式3)
C: for(表达式1; 表达式1;表达式3)
D: for(表达式1; 表达式3;表达式3)
E: for(表达式1;0;表达式3)
答案: 【 for(表达式1;1;表达式3);
for(表达式1;true;表达式3)】
11、单选题:
对于以下代码:int i,j=6;以下哪句话是对的?
选项:
A: i不会被初始化,而j是6
B: i和j的初始值都是6
C: i被初始为0,而j是6
D: 不能通过编译
答案: 【 i不会被初始化,而j是6】
12、单选题:
对于以下代码: int i; scanf("%d", &i); i %= 4;执行后,i会有几种可能性?
选项:
A: 7
B: 0
C: 1
D: 2
E: 3
F: 不好说
答案: 【 7】
13、单选题:
对于以下代码:int i=6;do { printf("%d", i--);} while (0);哪句话是对的?
选项:
A: 打印出6
B: 打印出5
C: 因为while(0),无法编译
D: 打印不出东西
答案: 【 打印出6】
14、单选题:
对于以下代码:int i;for ( i=0; i<10; i++) printf("%d", i);for循环后,i的值是多少?
选项:
A: 10
B: 9
C: 11
D: i没有确定的值
E: i不存在
答案: 【 10】
15、单选题:
以下哪个for语句是错误的?
选项:
A: for (i=0;j=0; i<10; i++ );
B: for (i=0;i<10);
C: for (i=0; i++ );
D: for (;;);
E: for (i=0; i<10; i--);
F: for (i=0; i<10, j<10; i++);
G: for (int i=0; i<10, j<10; i++);
答案: 【 for (i=0;j=0; i<10; i++ );;
for (i=0;i<10);;
for (i=0; i++ );】
16、单选题:
与x * = y + z等价的赋值表达式是
选项:
A: x = y + z
B: x = x * y + z
C: x = x * (y + z)
D: x = x + y * z
答案: 【 x = x * (y + z)】
17、单选题:
语句printf(“%d”,(a=2)&&(b= -2));的输出结果是
选项:
A: -1
B: 0
C: 1
D: 无输出
E: 编译错误
答案: 【 1】
18、单选题:
下列四个叙述中,正确的是?
选项:
A: C语言不区分大小写
B: C语言所有的关键字都是小写的
C: C语言所有的关键字都必须大写
D: C程序中的关键字必须小写,其他标示符不区分大小写
E: C程序中的所有字母都必须小写
答案: 【 C语言所有的关键字都是小写的】
19、单选题:
表达式17%4 /8的值为
选项:
A: 0
B: 1
C: 2
D: 3
E: 4
答案: 【 0】
20、填空题:
以下代码的输出是 _____.int x=0, y=0, z=0;z = (x==1) && (y=2);printf("%d ", y);
答案: 【 0】
21、填空题:
表达式(double)(10/4*4) 的结果是_____
答案: 【 8】
22、填空题:
以下代码的输出是 :int i,x,y;
i=x=y=0;
do {
++i;
if ( i%2 )
x+=i,
i++;
y +=i++;
} while ( i<=7 );
printf("%d %d %d", i, x, y);
答案: 【 9 1 20】
第1章程序设计与C语言
小测验
1、单选题:
关于C语言,以下说法错误的有:
选项:
A: C语言是和Unix操作系统一同发展起来的
B: C语言不能写图形界面的软件
C: C语言一般是编译执行的
D: C语言诞生于1970年代
答案: 【
