大学MOOC C语言程序设计(张宏)(盐城工学院)1452266205 最新慕课完整章节测试答案
第一周程序设计与C语言
小测验1.1
1、单选题:
计算机本身最擅长的能力是?
选项:
A: 推理
B: 想像
C: 重复
D: 分析
答案: 【 重复】
2、判断题:
编程语言是和计算机交谈的语言
选项:
A: 正确
B: 错误
答案: 【 错误】
3、判断题:
计算机(CPU)可以直接运行人类编写的程序
选项:
A: 正确
B: 错误
答案: 【 错误】
小测验1.2
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
1、多选题:
以下哪些是有效的变量名?
选项:
A: main
B: 4ever
C: monkey-king
D: __int
答案: 【 main;
__int】
2、多选题:
给定:int a,b;scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?
选项:
A: 1 2
B: 1,2
C: 1(回车)2
D: 1、2
答案: 【 1 2;
1(回车)2】
3、多选题:
给定:int a,b; 以下哪些scanf的使用是正确的?
选项:
A: scanf("%d", &a);scanf("%d", &b);
B: scanf("%d %d", &a, &b);
C: scanf("%d, %d", &a, &b);
D: scanf("%d %d", a, b);
答案: 【 scanf("%d", &a);scanf("%d", &b);;
scanf("%d %d", &a, &b);;
scanf("%d, %d", &a, &b);】
4、判断题:
给定以下代码段:int a,b=0;则a的初始值是0
选项:
A: 正确
B: 错误
答案: 【 错误】
5、填空题:
写出下式的运算结果:10/3.0*3
答案: 【 10.0】
6、填空题:
写出下式的运算结果:10/3*3.0
答案: 【 9.0】
小测验2.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】
第三周判断
分支
1、单选题:
以下叙述中正确的是 (难度系数★)
选项:
A: 关系运算符的结果有三种:0,1,-1
B: 对于逻辑表达式:a++ && b++,设a的值为0,则求解表达式的值后,b的值会发生改变
C: 对于逻辑表达式:a++ || b++,设a的值为1,则求解表达式的值后,b的值会发生
D: else不是一条独立的语句,它只是if语句的一部分
答案: 【 else不是一条独立的语句,它只是if语句的一部分】
2、单选题:
有以下程序#include <stdio.h>main(){ int x=1, y=0; if (!x) y++;else if (x==0)if (x) y+=2;else y+=3;printf("%dn", y);}程序运行后的输出结果是 (难度系数★★★)
选项:
A: 2
B: 0
C: 1
D: 3
答案: 【 0】
3、单选题:
有以下程序#include <stdio.h>main(){ int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3;printf("%d,%d,%d,%dn",a,b,c,d);}程序输出 (难度系数★★)
选项:
A: 0,1,2,0
B: 0,0,0,3
C: 1,1,2,0
D: 编译有错
答案: 【 编译有错】
4、单选题:
若变量已正确定义,在if (W) printf("%dn" ,k ); 中,以下不可替代W的是 (难度系数★★)
选项:
A: a==b+c
B: ch=getchar()
C: a<>b+c
D: a++
答案: 【 a<>b+c】
5、单选题:
设有定义:int a=1,b=2,c=3;以下语句中执行效果与其它三个不同的是 (难度系数★★★)
选项:
A: if(a>b) c=a;a=b;b=c;
B: if(a>b) {c=a,a=b,b=c;}
C: if(a>b) c=a,a=b,b=c;
D: if(a>b) c=a,a=b,b=c;
答案: 【 if(a>b) c=a;a=b;b=c;】
6、单选题:
有以下程序#include <stdio.h>main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2) if (b!=2||c--!=3) printf("%d,%d,%dn",a,b,c); else printf("%d,%d,%dn",a,b,c); else printf("%d,%d,%dn",a,b,c);}程序运行后的输出结果是 (难度系数★★★★)
选项:
A: 1,3,3
B: 1,3,2
C: 1,2,3
D: 3,2,1
答案: 【 1,3,3】
7、单选题:
下列条件语句中,输出结果与其他语句不同的是 (难度系数★★★)
选项:
A: A)if ( a==0 ) printf("%dn", y); else printf("%dn", x);
B: B)if ( a==0 ) printf("%dn", x); else printf("%dn", y);
C: C)if ( a!=0 ) printf("%dn", x); else printf("%dn", y);
D: D)if ( a ) printf("%dn", x);else printf("%dn", y);
答案: 【 B)if ( a==0 ) printf("%dn", x); else printf("%dn", y);】
8、单选题:
若有以下程序#include <stdio.h>main(){ int a=1,b=2,c=3,d=4;if ((a=2) || (b=1)) c=2;if ((c==3) && (d=-1)) a=5;printf("%d,%d,%d,%dn", a,b,c,d);}则程序的输出结果是 (难度系数★★★★)
选项:
A: A)1,2,3,4
B: B)2,1,2,-1
C: C)5,1,2,-1
D: D)2,2,2,4
答案: 【 D)2,2,2,4】
9、单选题:
以下叙述中正确的是 (难度系数★★)
选项:
A: A)if语句只能嵌套一层
B: B)改变if-else语句的缩进格式,会改变程序的执行流程
C: C)不能在else子句中再嵌套if语句
D: D)if子句和else子句中可以是任意的合法的C语句
答案: 【 D)if子句和else子句中可以是任意的合法的C语句】
10、单选题:
有以下程序#include <stdio.h>main(){ int x=1, y=0, a=0, b=0;switch ( x ){ case 1:switch(y){ case 0: a++; break;case 1: b++; break;}case 2: a++; b++; break;case 3: a++; b++;}printf("a=%d, b=%dn", a, b);}程序的运行结果是 (难度系数★★★★)
选项:
A: A)a=2,b=2
B: B)a=2,b=1
C: C)a=1,b=1
D: D)a=1,b=0
答案: 【 B)a=2,b=1】
小测验3.1
1、判断题:
以下语句是否可以通过编译:if ( 1<=n<=10 );
选项:
A: 正确
B: 错误
答案: 【 正确】
2、判断题:
以下语句是否表示n属于[1,10]:if ( 1<=n<=10 );
选项:
A: 正确
B: 错误
答案: 【 错误】
3、填空题:
写出程序的输出结果:int i,j,k;i=5; j=10; k=1;printf("%d", k>i<j);
答案: 【 1】
4、填空题:
写出程序的输出结果:int i,j,k;i=2;j=3;k = i*j==6;printf("%dn", k);
答案: 【 1】
5、填空题:
写出程序的输出结果:int i,j,k;i=3;j=2;k=1;printf("%d", i<j == j<k);
答案: 【 1】
小测验3.2
1、填空题:
写出程序的输出:int i=1;switch ( i%3 ) {case 0: printf("zero");case 1: printf("one");case 2: printf("two");}
答案: 【 onetwo】
2、填空题:
写出程序的输出:int a = 58;if ( a>50 ) printf("A");if ( a>40 ) printf("B");if ( a>30 ) printf("C");
答案: 【 ABC】
第四周循环
小测验4.1
1、判断题:
while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了
选项:
A: 正确
B: 错误
答案: 【
