大学MOOC 程序设计(北方民族大学)1450727277 最新慕课完整章节测试答案
第五周 数据类型
小测试
1、单选题:
C语言中字符型(char)数据在内存中的存储形式是____。
选项:
A: 原码
B: 补码
C: 反码
D: ASCII码
答案: 【 ASCII码】
2、单选题:
将字符g赋给字符变量c,正确的表达式是 。
选项:
A: c=147
B: c="147"
C: c='147'
D: c='0147'
答案: 【 c='147'】
3、单选题:
已知:char a='70';则变量a中 。
选项:
A: 包含1个字符
B: 包含2个字符
C: 包含3个字符
D: 说明非法
答案: 【 包含1个字符 】
小测验
1、单选题:
以下哪个数字占据的空间最大?
选项:
A: 32768
B: 0xffff
C: 32768.0
D: 32768.0F
答案: 【 32768.0】
第六周 函数
小测试
1、单选题:
以下哪句不是正确的原型?
选项:
A: int f();
B: int f(int i);
C: int f(int);
D: int f(int i) {}
答案: 【 int f(int i) {}】
2、单选题:
以下哪个函数的定义是错误的?
选项:
A: void f() {}
B: void f(int i) { return i+1; }
C: void f(int i) {}
D: int f() { return 0; }
答案: 【 void f(int i) { return i+1; }】
3、填空题:
#include <stdio.h>void swap(int a, int b);int main(){ int a = 5; int b = 6; swap(a,b); printf("%d-%dn", a, b); return 0;}void swap(int a, int b){ int t = a; a = b;
b = t;}
答案: 【 5-6】
第2周计算
小测验
1、单选题:
已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是____。
选项:
A: 0
B: 1
C: 5
D: 6
答案: 【 5 】
2、填空题:
写出以下代码执行后,t1和t2的值,以空格隔开:int a=14;int t1 = a++;int t2 = ++a;
答案: 【 14 16】
3、填空题:
写出以下表达式的结果,结果之间间隔一个空格: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、单选题:
以下哪个循环和其他三条循环不等价(假设循环体都是一样的)?
选项:
A: for ( i=0; i<10; i++ ) {...}
B: for ( i=0; i<10; ++i ) {...}
C: for ( i=0; i++<10; ) {...}
D: for ( i=0; i<=9; i++ ) {...}
答案: 【 for ( i=0; i++<10; ) {...}】
2、判断题:
while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了
选项:
A: 正确
B: 错误
答案: 【 错误】
3、填空题:
以下代码片段执行结束后,变量i的值是多少?int i =10;
while ( i>0 ) {
i /=2;
}
答案: 【 0】
4、填空题:
以下代码片段执行结束后,变量i的值是多少?int i = 1;
do {
i += 5;
} while (i<17);
答案: 【 21】
5、填空题:
以下代码段的输出是什么?for ( int i=10; i> 1; i /=2 ) {
printf("%d ", i++);
}
答案: 【 10 5 3 2】
第3周进一步的判断与循环
if-else配对测试
1、单选题:
以下程序段的输出结果是 。 int a=10,b=50,c=30;if(a>b)a=b;b=c;c=a;printf("a=%d b=%d c=%dn",a,b,c);
选项:
A: a=10 b=50 c=30
B: a=10 b=30 c=10
C: a=50 b=30 c=10
D: a=50 b=30 c=50
答案: 【 a=10 b=30 c=10 】
2、单选题:
以下程序的输出结果是 。 main(){ int a=0,b=1,c=0,d=20; if(a!=0) d=d-10; else if(b==0) if(c==0) d=15; else d=25; printf("d=%dn",d);}
选项:
A: d=10
B: d=15
C: d=20
D: d=25
答案: 【 d=20 】
swich-case语句
1、单选题:
#include <stdio.h>int 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;}printf("a=%d,b=%dn",a,b);}
选项:
A: a=2,b=1
B: a=1,b=1
C: a=1,b=0
D: a=2,b=2
答案: 【 a=2,b=1 】
小测验
1、单选题:
以下哪种运算能从变量x中取得十进制最低位的数字
选项:
A: x /10
B: x % 10
C: x * 10
D: 10 / x
答案: 【 x % 10】
2、填空题:
当需要累加一些值的时候,用来记录累加结果的变量应该被初始为:
答案: 【 0】
第一次单元测试
1、单选题:
以下不正确的C语言用户标识符是 。
选项:
A: max123
B: _total
C: float
D: printf
答案: 【 float 】
2、单选题:
已知int x=12,y=3,z=4;执行语句x%=y+z;后,x的值是
选项:
A: 2
B: 4
C: 5
D: 6
答案: 【 5】
3、单选题:
逗号表达式"(a=3*3,a*4),a+1"的值是 。
选项:
A: 9
B: 10
C: 36
D: 不确定
答案: 【 10】
4、单选题:
下面的for语句循环次数说法正确的是 。for(x=0,y=10;(y>0)&&(x<4);x++,y-- ) ;
选项:
A: 是无限循环
B: 循环次数不定
C: 循环执行4次
D: 循环执行3次
答案: 【 循环执行4次 】
5、单选题:
下列叙述中正确的是____。
选项:
A: break语句只能用于switch语句中
B: 在switch语句中必须使用default
C: break语句必须与switch语句中的case配对使用
D: 在switch语句中,不一定使用break语句
答案: 【 在switch语句中,不一定使用break语句 】
6、单选题:
下列关于C语言的叙述错误的是 。
选项:
A: 大写字母和小写字母的意义相同
B: 不同类型的变量可以在一个表达式中
C: 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D: 同一个运算符号在不同的场合可以有不同的含义
答案: 【 大写字母和小写字母的意义相同】
7、单选题:
在嵌套使用if 语句时,C语言规定else总是 。
选项:
A: 和之前与其具有相同缩进位置的if配对
B: 和之前与其最近的if 配对
C: 和之前的第一个if 配对
D: 和之前与其最近的且不带else的if 配对
答案: 【 和之前与其最近的且不带else的if 配对 】
8、单选题:
已知int i=10;表达式"20-0<=i<=9"的值是____。
选项:
A: 0
B: 1
C: 19
D: 20
答案: 【 1】
