大学MOOC C语言程序设计CAP_CNU(重庆师范大学)1452438175 最新慕课完整章节测试答案
第一次单元测验
第一次单元测验
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年代
答案: 【 C语言不能写图形界面的软件】
2、单选题:
轻量级的编程软件,如Geany+MinGW或Sublime Text+MinGW,与专门的IDE如Dev C++相比,什么功能没有了?(提示:上课没有直接讲,但是间接提到了)
选项:
A: 单步调试
B: 源代码编辑时的语法高亮
C: 编译程序
D: 运行程序
答案: 【 单步调试】
3、填空题:
IDE的中文翻译是什么?
答案: 【 集成开发环境】
第2章计算
小测验
1、填空题:
写出以下代码执行后,t1和t2的值,以空格隔开:int a=14;int t1 = a++;int t2 = ++a;
答案: 【 14 16】
2、填空题:
写出以下表达式的结果,一个结果一行:6 + 5 / 4 - 22 + 2 * (2 * 2 - 2) % 2 / 310 + 9 * ((8 + 7) % 6) + 5 * 4 % 3 * 2 + 3 1 + 2 + (3 + 4) * ((5 * 6 % 7 / 8) - 9) * 10
答案: 【 5
2
44
-627】
第3章判断
小测验
1、单选题:
1.“程序存储”思想是由 提出来的。A. Dennis M.Ritchie B. Alan TuringC. John Von Neumann D. Ken Thompsom
选项:
A: A
B: B
C: C
D: D
答案: 【 C】
2、单选题:
2.能正确表示a和b同时为正或同时为负的逻辑表达式是( )。A.a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0)C.(a+b>0) &&(a+b<=0) D. a*b>0
选项:
A: A
B: B
C: C
D: D
答案: 【 D】
3、单选题:
3. 以下哪一个变量名是不正确的 。A. _filename B. while C. a_1 D. pi
选项:
A: A
B: B
C: C
D: D
答案: 【 B】
4、单选题:
4. 下列不合法的常量是 。A. ‘xA’ B. ‘49’ C. ‘n’ D. “ ”
选项:
A: A
B: B
C: C
D: D
答案: 【 B】
5、单选题:
5. 设C语言中short型数据占1个字节,则unsigned short型数据的取值范围是 。A. 0-255 B. 0-65535 C. -256-255 D. -32768-32767
选项:
A: A
B: B
C: C
D: D
答案: 【 A】
6、单选题:
6. C语言中输入语句为:scanf(“%d,%d”,&x,&y); ,为使变量x和y的分别为5和10,从键盘输入数据的正确形式是 。A. 5 10<回车> B. x=5 y=10<回车> C. x=5, y=10<回车> D. 5,10<回车>
选项:
A: A
B: B
C: C
D: D
答案: 【 D】
7、单选题:
7. C 语言源程序文件的扩展名是 。A. .cpp B. .obj C. .c D. .exe
选项:
A: A
B: B
C: C
D: D
答案: 【 C】
8、单选题:
8. 能表述 “10≤x<20”的C表达式是 。A. 10≤x<20C B. 10≦x<20C C. x>=10&&x<20 D. . x>=10&&x<20
选项:
A: A
B: B
C: C
D: D
答案: 【 C】
9、单选题:
9.够构成C语言程序的基本单位是( )。A.语句 B.行号 C.数据 D.函数
选项:
A: A
B: B
C: C
D: D
答案: 【 D】
10、单选题:
10.if-else嵌套时,为了避免出现二义性,C语言规定else与if的配对规则是( )。A.与缩进位置相同的if 配对 B.与其之前未配对的if配对C.与其之前最近的未配对的if配对 D.与同一行上的if配对
选项:
A: A
B: B
C: C
D: D
答案: 【 C】
11、填空题:
11.设a,b,c,d的值均为0, 则表达式(m=a==b)&&(n=c!=d)的值是多少 ( )
答案: 【 0】
12、填空题:
12.设有int x=11;则表达式(x+1/3)的值是多少( )
答案: 【 11】
13、填空题:
13.表达式(a=2)&&(b= -2)的值是多少( )
答案: 【 1】
14、填空题:
14. 设有语句:int a=7; float x=2.5,y=4.7;, 表达式x+a%3*(int)(x+y)%2/4的值是多少( )
答案: 【 2.5】
15、填空题:
15.表达式y=13>12?15:6的值是多少( )
答案: 【 15】
16、填空题:
16.已知 intx=5,y=3 ;执行语句y*=x+5; 后, y的值是多少( )
答案: 【 30】
17、填空题:
17. 若有int x=1,y=1,表达式(!x||--y)的值是多少( )
答案: 【 0】
18、填空题:
18. 设有语句:int a=1,b=2,n=1;,执行 (a>b)||(n=2);只后,n的值是多少( )
答案: 【 2】
19、填空题:
19.已知int a=1; double b=2; 则表达式 1.5+a/b+’a’的值是多少( )
答案: 【 99】
20、填空题:
20.已知x、a为int型变量,则表达式x=(a=5,a*2,a+5)的值是多少( )
答案: 【 10】
第4章循环
小测验
1、单选题:
以下哪种运算能从变量x中取得十进制最低位的数字
选项:
A: x / 10
B: x % 10
C: x * 10
D: 10 / x
答案: 【 x % 10】
2、填空题:
当需要累加一些值的时候,用来记录累加结果的变量应该被初始为:
答案: 【 0】
第5章循环控制
小测验
1、填空题:
以下代码段的输出是:int sum = 0;for ( int i=0; i<10; i++ ) { if ( i%2 ) continue; sum += i;}printf("%dn", sum);
答案: 【 20】
2、填空题:
以下代码段的输出是:int sum = 0;for ( int i=0; i<10; i++ ) { if ( i%2 ) break; sum += i;}printf("%dn", sum);
答案: 【
