大学MOOC C语言程序设计(郑州轻工业大学)1206704833 最新慕课完整章节测试答案
第一单元引言
第一章引言
1、单选题:
软件与程序的区别是( )。
选项:
A: 程序是用户自己编写的,而软件是由厂家提供的;
B: 软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分;
C: 程序是用高级语言编写的,而软件是由机器语言编写的;
D: 程序是用高级语言编写的,而软件是由机器语言编写的;
答案: 【 软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分;】
2、单选题:
以下选项中合法的标识符是( )。
选项:
A: 1_1
B: 1-1
C: 1_ _
D: _11
答案: 【 _11】
3、单选题:
以下叙述中正确的是( )。
选项:
A: 花括号"{"和"}"只能作为函数体的定界符;
B: C程序中注释部分可以出现在程序中任意合适的地方;
C: 分号是C语句之间的分隔符,不是语句的一部分;
D: 构成C程序的基本单位是函数,所有函数名都可以由用户命名;
答案: 【 C程序中注释部分可以出现在程序中任意合适的地方;】
4、单选题:
以下叙述中错误的是( )。
选项:
A: 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中;
B: C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件;
C: C语言源程序经编译后生成后缀为exe的目标程序;
D: C语言源程序经编译后生成后缀为obj的目标程序;
答案: 【 C语言源程序经编译后生成后缀为exe的目标程序;】
5、单选题:
下列叙述中错误的是( )。
选项:
A: C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
B: 计算机不能直接执行用C语言编写的源程序
C: 后缀为.obj和.exe的二进制文件都可以直接运行
D: 后缀为.obj的文件,经链接程序生成后缀为.exe的文件是一个二进制文件
答案: 【 后缀为.obj和.exe的二进制文件都可以直接运行】
6、单选题:
下列计算机语言中,CPU能直接识别的是( )。
选项:
A: 自然语言
B: 高级语言
C: 机器语言
D: 汇编语言
答案: 【 机器语言】
7、单选题:
计算机语言有许多种,其中与硬件直接相关的是( ).
选项:
A: 自然语言
B: 高级语言
C: 机器语言
D: 网络语言
答案: 【 机器语言】
8、单选题:
结构化程序设计所规定的三种基本控制结构是( )。
选项:
A: 树形、网形、环形
B: 顺序、选择、循环
C: 输入、处理、输出
D: 主程序、子程序、函数
答案: 【 顺序、选择、循环】
9、单选题:
C程序是由( )组成的。
选项:
A: 函数
B: 子程序
C: 过程
D: 主程序和子程序
答案: 【 函数】
10、单选题:
C程序编译时,程序中的注释部分( ).
选项:
A: 不参加编译,但会出现在目标程序中
B: 参加编译,并会出现在目标程序中
C: 不参加编译,也不会出现在目标程序中
D: 参加编译,但不会出现在目标程序中
答案: 【 不参加编译,也不会出现在目标程序中】
第二单元简单C程序设计
第二单元测试
1、单选题:
若函数中有定义语句:int k;则k的值为( )。
选项:
A: 0
B: 垃圾值
C: 无任何值
D: -1
答案: 【 垃圾值】
2、单选题:
若定义int x = 5, y = 2,则表达式x%y的值为( )。
选项:
A: 2
B: 1
C: 2.5
D: 1.0
答案: 【 1】
3、单选题:
若已定义x和y为double型,则表达式:x = 1, y = x + 3 / 2的值是( )。
选项:
A: 1
B: 3.0
C: 2.0
D: 2.5
答案: 【 2.0】
4、单选题:
C语言中最简单的数据类型包括( ).
选项:
A: 整型、浮点型、逻辑型
B: 整型、 浮点型、字符型
C: 整型、字符型、逻辑型
D: 整型、浮点型、、逻辑型、字符型
答案: 【 整型、 浮点型、字符型】
5、单选题:
下列程序的输出结果是( ) int main()
{
double c, f = 100;
c = 5/9*(f-32);
printf("%.2fn", c);
return 0;
}
选项:
A: 0
B: 0.00
C: 37
D: 37.78
答案: 【 0.00】
6、单选题:
关于C语言语句书写格式的说法错误的是( )。
选项:
A: C语言程序必须一行一个语句。
B: 编写C程序时,建议使用空格或Tab来做合理的间隔、缩进或对齐,使得程序形成逻辑相关的块状结构。
C: C语言允许一行书写多个语句。
D: C语言允许将一个语句分成多行书写。
答案: 【 C语言程序必须一行一个语句。】
7、单选题:
若变量均已正确定义并赋值,以下合法的C语言赋值语句是()
选项:
A: (x = y) = 5
B: x = y = 5
C: x + n = i
D: x=5=4+1
答案: 【 x = y = 5】
8、单选题:
设int a=1234; 执行语句printf("%2d", a); 后的输出结果是( )。
选项:
A: 出错
B: 12
C: 34
D: 1234
答案: 【 1234】
9、单选题:
以下运算符中,运算对象必须是整型的运算符是()
选项:
A: %
B: *
C: /
D: +
答案: 【 %】
10、单选题:
有输入语句:scanf("a=%d,b=%d,c=%d", &a, &b, &c);为使变量a的值为1,b的值为3, c的值为2,正确的数据输入方式是( )。
选项:
A: a=1└┘b=3└┘c=2↙
B: a=1,b=3,c=2↙
C: 1,3,2↙
D: 132↙
答案: 【 a=1,b=3,c=2↙ 】
11、单选题:
有如下代码段:int a;
scanf("%2d", &a);若输入为:1234则a的值为是( )。
选项:
A: 12
B: 1234
C: 34
D: 23
答案: 【 12】
12、单选题:
下面程序段运行时从键盘上输入:12345000↙,其输出结果是( )。 int a , b ; scanf("%2d%*2d%3d", &a, &b); printf("%d", a + b);
选项:
A: 5012
B: 512
C: 357
D: 500
答案: 【 512】
13、单选题:
下面程序段执行后的输出结果是( )。 int x = 12, y = 012; printf("%d,%d", x, y);
选项:
A: 12,10
B: 12,12
C: 12,18
D: 10,12
答案: 【 12,10】
14、单选题:
设double a=12.246; 执行语句printf("%-7.2f", a); 后的输出结果是( )。
选项:
A: └┘└┘12.25
B: 12.25└┘└┘
C: └┘└┘12.24
D: 12.24└┘└┘
答案: 【 12.25└┘└┘】
15、单选题:
若定义int x = -5, y = 2,则表达式x%y的值为( )。
选项:
A: -1
B: 1
C: 2
D: -2
答案: 【 -1】
第三单元分支结构
第三单元测试
1、单选题:
C语言中以下几种运算符的优先次序( )的排列是正确的。
选项:
A: 由高到低为: 算术运算符, 关系运算符, 赋值运算符, !, &&, ||
B: 由高到低为:!, 算术运算符, 关系运算符, &&, ||, 赋值运算符
C: 由高到低为:算术运算符, 关系运算符, !, &&, ||,赋值运算符
D: 由高到低为:!, &&, ||, 算术运算符, 赋值运算符
答案: 【 由高到低为:!, 算术运算符, 关系运算符, &&, ||, 赋值运算符】
2、单选题:
下列表达式中,值为0的表达式是( )。
选项:
A: 3 != 3 > 4
B: 6 > 5 > 4
C: 6 < 5< 4
D: 3 > 4 == 0
答案: 【 6 > 5 > 4】
3、单选题:
断char型变量ch是否为小写字母的正确表达式是()。
选项:
A: 'a' <= ch <= 'z'
B: (ch >= a) && (ch <= z)
C: (ch >= 'a') && (ch <= 'z')
D: ('a' >= ch) || ('z' <= ch)
答案: 【 (ch >= 'a') && (ch <= 'z')】
4、单选题:
设整型变量x、y、z的值分别为3、2、1,则下列程序段的输出是( )。if(x>y) x=y; if(x>z) x=z; printf("%d,%d,%dn",x,y,z);
选项:
A: 3,2,1
B: 1,2,3
C: 1,2,1
D: 1,1,1
答案: 【 1,2,1】
5、单选题:
下列运算符优先级最高的是( )。
选项:
A: <=
B: +
C: &&
D: !=
答案: 【 +】
6、单选题:
有以下程序段:char c1='1',c2='2';c1=getchar(); c2=getchar();putchar(c1); putchar(c2);运行时从键盘上输入:a↙ 后,以下叙述中正确的是( )。
选项:
A: 变量c1被赋予字符a,c2中将无确定值
B: 变量c1被赋予字符a,c2中仍是原有字符'2'
C: 变量c1被赋予字符a,c2被赋予换行符'n'
D: 程序将等待用户输入第2个字符
答案: 【 变量c1被赋予字符a,c2被赋予换行符'n'】
7、单选题:
判断年份y是否为闰年的表达式为()。
选项:
A: y%4 == 0
B: y%4 == 0 && y%100 != 0
C: (y%4 == 0) || (y%400 == 0 && y%100 != 0)
D: (y%4 == 0 && y%100 != 0) || (y%400 == 0)
答案: 【 (y%4 == 0 && y%100 != 0) || (y%400 == 0)】
8、单选题:
以下程序段的输出结果为( )。int x = 2, y = 5, z;char op = '+';switch(op){ case '+' : z = x + y; case '-' : z = x - y;}printf("%dn", z);
选项:
A: 7
B: -3
C: 7-3
D: 编译错误
答案: 【 -3】
9、单选题:
int x = 2, y = 5, z;char op = '+';switch(op){ case '+' : z = x + y; case '-' : z = x - y; default : z = x * y;}printf("%dn", z);
选项:
A: 7
B: -3
C: 10
D: 语法错误
答案: 【 10】
10、单选题:
以下代码段,作者本意是如果x<y,则交换二者的值,但由于作者的笔误,没有对if的控制范围加{},请分析以下程序段的输出结果( )。int x = 2, y = 5;int tmp;if(x > y) tmp = x; x = y; y = tmp;printf("%d %dn", x, y);
选项:
A: 2 5
B: 5 2
C: 5和一个垃圾值
D: 2和一个垃圾值
答案: 【 5和一个垃圾值】
11、单选题:
int x = 2, y =5;char op = '*';if(op == '+') printf(&q
