大学MOOC 高级语言程序设计(南京邮电大学)1002237025 最新慕课完整章节测试答案
第一章 绪论
文章目录
第一章单元测验
1、单选题:
以下哪个是冯诺伊曼的思想
选项:
A: 计算机应采用二进制
B: 存储程序的思想
C: 计算机由硬件和软件组成
D: 软件分为系统软件和应用软件
答案: 【 存储程序的思想】
2、单选题:
关于软件,下列说法不正确的是_____________。
选项:
A: 软件的核心是程序
B: 软件就是程序
C: 软件是程序和文档的总和
D: 软件不能缺少文档
答案: 【 软件就是程序】
3、单选题:
以下关于源程序与目标程序,不正确的是
选项:
A: 用机器语言编写的源程序就是目标程序
B: 汇编语言写的源程序需要汇编为目标程序
C: C语言源程序需要编译为目标程序
D: 所有高级语言的编译器均一样
答案: 【 所有高级语言的编译器均一样】
4、单选题:
第一个结构化程序设计语言是_________________。
选项:
A: PASCAL
B: C
C: BASIC
D: FORTRAN
答案: 【 PASCAL】
5、单选题:
贝尔实验室的Dennis M. Ritchie于1973年用C语言重写了__________操作系统。
选项:
A: DOS
B: UNIX
C: WINDOWS
D: LINUX
答案: 【 UNIX】
6、单选题:
如果计算机有32根地址总线,其存储器的最大存储容量为_______________。
选项:
A: 64MB
B: 32GB
C: 4GB
D: 8GB
答案: 【 4GB】
7、单选题:
二进制数10101010101所对应的八进制数为________________。
选项:
A: 2525
B: 5252
C: 555
D: 222
答案: 【 2525】
8、单选题:
二进制数10101010101所对应的十六进制数为__________________。
选项:
A: 222
B: 555
C: 2525
D: 5252
答案: 【 555】
9、单选题:
以下哪个是C程序的基本单位
选项:
A: 表达式
B: 语句
C: 函数
D: 文件
答案: 【 函数】
10、单选题:
C程序编译之后生成的文件后缀为_________________。
选项:
A: .exe
B: .obj
C: .c
D: .bin
答案: 【 .obj】
11、填空题:
C程序有且只有一个_____________函数。
答案: 【 main】
12、填空题:
C程序中使用scanf和printf函数,必须要包含一个头文件_____________。
答案: 【 stdio.h】
13、填空题:
十进制数348所对应的八进制数为______________。
答案: 【 534】
14、填空题:
C程序的完整开发过程包括:编辑、_________、链接和运行。
答案: 【 编译】
15、填空题:
C源程序中每条语句必须以_______号结束。
答案: 【 分 ;】
随堂测验:C语言的符号和开发环境
1、判断题:
C语言源程序可以存在多个主函数。
选项:
A: 正确
B: 错误
答案: 【 错误】
2、判断题:
C源程序中,用户可以重新定义系统标识符。
选项:
A: 正确
B: 错误
答案: 【 错误】
3、判断题:
C源程序的基本单位是函数。
选项:
A: 正确
B: 错误
答案: 【 正确】
4、判断题:
C语言程序设计必须在一定的开发环境下进行。
选项:
A: 正确
B: 错误
答案: 【 正确】
随堂测验:内存与进制的知识
1、单选题:
如果计算机有32根地址总线,则其存储器的最大容量可达____________。
选项:
A: 32MB
B: 32GB
C: 4GB
D: 8GB
答案: 【 4GB】
2、单选题:
十进制数346所对应的八进制数为___________。
选项:
A: 235
B: 532
C: 237
D: 732
答案: 【 532】
3、判断题:
存储器的容量是由数据总线决定的。
选项:
A: 正确
B: 错误
答案: 【 错误】
4、判断题:
在进制转换中,一位八进制数相当于三位二进制数,一位十六进制数相当于四位二进制数。
选项:
A: 正确
B: 错误
答案: 【 正确】
随堂测验:计算机、程序及程序设计
1、单选题:
“程序存储思想”是__________提出来的。
选项:
A: Dennis M. Ritchie
B: Bell
C: Von Neumann
D: Ken Thompsom
答案: 【 Von Neumann】
2、单选题:
以下哪一种不是从源程序到目标程序的翻译方式_________。
选项:
A: 编辑
B: 编译
C: 汇编
D: 解释
答案: 【 编辑】
3、判断题:
C语言是第一个结构化的程序设计语言
选项:
A: 正确
B: 错误
答案: 【 错误】
第二章 数据类型、常量与变量
变量定义与使用的测试
1、判断题:
#include<stdio.h> int main( ) { scanf("%3d%f",&x,&y); int x; float y; printf(“%d,%fn”,x,y); return 0; } 该段代码编译没有错误,可正常运行。
选项:
A: 正确
B: 错误
答案: 【 错误】
2、填空题:
请写出下面程序的输出结果。 #include<stdio.h> int main( ) { short int a=32767,b; b=a+1; printf("a=%d,b=%dn",a,b);return 0;}
答案: 【 a=32767,b=-32768】
3、填空题:
请写出下面程序的输出结果。 #include<stdio.h> int main() { char ch='A'+10; printf("C=%c,C=%d,c=%c,c=%dn",ch,ch,ch+32,ch+32); return 0;}
答案: 【 C=K,C=75,c=k,c=107##%_YZPRLFH_%##C=K, C=75, c=k, c=107】
4、填空题:
有以下程序#include <stdio.h>int main(){ char c1=’A’+’8’-‘4’;char c2=’A’+’8’-‘5’;printf(“%c,%dn”,c1,c2);return 0;}
答案: 【 E,68】
5、填空题:
在C语言中,用关键字__ __定义单精度实型变量。
答案: 【 float】
基本数据类型及常量
1、单选题:
下列哪一个是合法的实型常量 。
选项:
A: 8E3.1
B: E5
C: 234.
D: 234
答案: 【 234.】
2、单选题:
下列不属于字符型常量的是 。
选项:
A: 'a'
B: "s"
C: '117'
D: 'x86'
答案: 【 "s"】
3、单选题:
下列哪一个字符与其他三个字符不相等 。
选项:
A: 'a'
B: 'A'
C: 'x41'
D: '101'
答案: 【 'a'】
4、单选题:
下面四个选项中,均是合法浮点数的选项是_____。
选项:
A: +1e+1 5e-9.4 03e2
B: -.60 12e-4 -8e5
C: 123e 1.2e-.4 +2e-1
D: -e3 .8e-4 5.e-0
答案: 【 -.60 12e-4 -8e5】
5、单选题:
以下选项中可作为C语言合法整数的是_______。
选项:
A: 11010B
B: 0583
C: x2b2
D: 0Xafb
答案: 【 0Xafb】
第二章测验
1、单选题:
下列不正确的转义字符是______。
选项:
A: ’\’
B: ’’’
C: ’81’
D: ’’
答案: 【 ’81’】
2、单选题:
下列变量定义及初始化中,错误的是_______。
选项:
A: int a=0xFF
B: double a=1.2e0.5
C: long a=2L
D: char a=’72’
答案: 【 double a=1.2e0.5】
3、单选题:
若函数中有定义语句:int k;,则下列说法正确的是_______。
选项:
A: 系统将自动给k赋初值0
B: 这时k中值无定义
C: 系统将自动给k赋初值-1
D: 这时k中无任何值
答案: 【 这时k中值无定义】
4、单选题:
关于C语言中数的表示,以下叙述正确的是________。
选项:
A: 只有整型数在允许范围内能精确无误的表示,实型数会有误差
B: 只要在在允许范围内整型和实型都能精确表示
C: 只有实型数在允许范围内能精确无误的表示,整型数会有误差
D: 只有八进制表示的数在不会有误差
答案: 【 只有整型数在允许范围内能精确无误的表示,实型数会有误差】
5、单选题:
C语言中,“x5d”在内存中占用的字节数是_______。
选项:
A: 2
B: 5
C: 4
D: 1
答案: 【 2】
6、单选题:
C语言中,’x5d’在内存中占用的字节数是_______。
选项:
A: 2
B: 5
C: 4
D: 1
答案: 【 1】
7、单选题:
以下正确的 C 语言变量名是_______。
选项:
A: for
B: excise_1
C: a+b
D: 1test
答案: 【 excise_1】
8、单选题:
下列选项中,正确的整型常量是________.
选项:
A: 018
B: 0xff
C: 12,345
D: 01a
答案: 【 0xff】
9、单选题:
下列选择中为C语言中非法常量的是_______.
选项:
A: 'as'
B: '\'
C: 01177
D: .2e5
答案: 【 'as'】
10、单选题:
下列哪个选项属于C语言中的合法字符串常量 。
选项:
A: $abc$
B: how are you
C: "china"
D: 'hello'
答案: 【 "china"】
11、填空题:
语句printf(“You are rAx20niceEbboy!n”); 的输出结果是______。
答案: 【 A niceboy!】
12、填空题:
写出下面程序的运行结果。#include <stdio.h>int main( ){ char a,b,c,d;a=getchar();b=getchar(); scanf("%c%c",&c,&d);putchar(c);return 0;}如果从键盘输入(从下面一行的第一列开始)1<回车>234<回车>则程序的输出结果_________?
答案: 【 2】
13、填空题:
有scanf输入一个double型变量时,需要使用格式转换说明符 。
答案: 【 lf】
14、填空题:
程序中定义的一个字符型变量在内存中占用___ 个字节。
答案: 【 1】
15、填空题:
C语言程序中需要进行输入/输出处理时,必须包含的头文件是 。
答案: 【 stdio.h】
输入与输出
1、单选题:
阅读以下程序#include int main(){ int case; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %fn”,case,printF); return 0;}该程序编译时产生错误,其出错原因是________。
选项:
A: 定义语句出错,case是关键字,不能用作用户自定义标识符
B: 定义语句出错,printF不能用作用户自定义标识符
C: 定义语句无错,scanf不能作为输入函数使用
D: 定义语句无错,printf不能输出case的值
答案: 【 定义语句出错,case是关键字,不能用作用户自定义标识符】
2、单选题:
有如下程序段: int a1,a2; char c1,c2; scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 若要求 a1,a2,c1,c2 的值分别为 10 , 20 , A , B 正确的数据输入是_______。
选项:
A: 10A 20B<CR>
B: 10 A 20 B<CR>
C: 10 A20B<CR>
D: 10A20 B<CR>
答案: 【 10A 20B<CR>】
3、单选题:
有变量定义如下:double num; 要使得num的值为3.14159,则正确的输入语句为:________。
选项:
A: scanf("%lf",num);
B: scanf("%lf",&num);
C: scanf("%d",&num);
D: scanf("%f",&num);
答案: 【 scanf("%lf",&num);】
4、填空题:
以下程序的输出结果是________:#include<stdio.h> int main( ) { int i=020,j=20,k=0x20;printf(“%d,%d,%dn”,i,j,k);return 0;}
答案: 【 16,20,32】
5、填空题:
有以下程序段 char ch; int k; ch='a'; k=12; printf("%c,%d,",ch, ch); printf("k=%dn",k); 已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是________。
答案: 【 a,97,k=12】
第三章 表达式与运算符
常用运算符随堂测
1、单选题:
关系运算符对两侧的运算对象的要求是 。
选项:
A: 只能是0或1
B: 两个运算对象必须属于同一种数据类型
C: 只能是0或非0值
D: 可以是任意合法的表达式,两者类型不一定相同
答案: 【 可以是任意合法的表达式,两者类型不一定相同】
2、单选题:
设a,b,c,d均为0,执行(m=a==b)&&(n=c!=d)后,m,n的值为 。
选项:
A: 0,0
B: 0,1
C: 1,0
D: 1,1
答案: 【 1,0】
3、单选题:
设a,b,c都是int型变量,且a=3,b=4,c=5,则下列表达式中值为0的是 。
选项:
A: !(a<b && !c || 1)
B: ’a’&&’b’
C: a<=b
D: a||b+c&&b-c
答案: 【 !(a<b && !c || 1)】
4、单选题:
若d是double型变量,表达式“d=1, d=5, d++”的值是 。
选项:
A: 1.0
B: 2.0
C: 5.0
D: 6.0
答案: 【 5.0】
5、填空题:
能表述“10£x<20或x<0”的C语言表达式是 。(请按题目顺序作答)
答案: 【 x>=10&&x<20 || x<0##%_YZPRLFH_%##x=10&&x<20)】
第三章表达式与运算符测验
1、单选题:
sizeof 是一个_____。
选项:
A: 运算符
B: 常量
C: 变量
D: 函数
答案: 【 运算符】
2、单选题:
有以下变量定义:int k=9,x=14;,则执行语句k=(x%=k)-(k%=4)后,k的值为_____。
选项:
A: 3
B: 5
C: 1
D: 4
答案: 【 4】
3、单选题:
判断char型变量c1是否为大写字母的正确表达式是_____。
选项:
A: 'A'<=c1<='Z'
B: (c1>='A')&(c1<='Z')
C: (c1>='A')&&(c1<='Z')
D: ('A'<=c1) AND ('Z'>=c1)
答案: 【 (c1>='A')&&(c1<='Z')】
4、单选题:
设double m=4.0,n=4.0;使m为10.0的表达式是____。
选项:
A: m-=n*2.5
B: m/=n+9
C: m*=n-6
D: m+=n+2
答案: 【 m+=n+2】
5、单选题:
设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是_______。
选项:
A: x++; printf(“%dn”,x);
B: n=++x; printf(“%dn”,n);
C: ++x; printf(“%dn”,x);
D: n=x++; printf(“%dn”,n);
答案: 【 n=x++; printf(“%dn”,n);】
6、单选题:
若有变量定义:double x=4.5,y=2.5;则表达式(x+y)/2+(int)x%(int)y结果为__ ___。
选项:
A: 3.5
B: 5.5
C: 3.0
D: 5.0
答案: 【 3.5】
7、单选题:
定义 int x,y; 执行 y=(x=1,++x, x+2); 语句后,x=___ __,y =_ ____。
选项:
A: 2 4
B: 1 3
C: 2 3
D: 4 4
答案: 【 2 4】
8、单选题:
表达式13/4*sqrt(6.25)/8 值的数据类型为__________。
选项:
A: int
B: double
C: float
D: 不确定
答案: 【 double】
9、单选题:
x=y=7, x++,y=x+1
选项:
A: x=y=7,x++,y+=x+1
B: x=y=7, x++,y=x+1
C: x=y=7, ++y, x+2
D: x=6, x++,y=x+2
答案: 【 x=y=7,x++,y+=x+1】
10、单选题:
若有代数式(yx+5)/(4a),则正确的C语言表达式是_________。
选项:
A: (pow(x,y)+5)/(4*a )
B: (pow(y,x)+5)/4/a
C: (pow(y,x)+5)/4*a
D: (pow(y,x)+5)/4a
答案: 【 (pow(y,x)+5)/4/a】
11、填空题:
设有语句:int a=7; float x=2.5, y=4.7;,则表达式x+a%3*(int) (x+y)%2/4的值是 。
答案: 【 2.5##%_YZPRLFH_%##2.500000】
12、填空题:
在C语言的赋值表达式中,赋值符号左边必须是_________。
答案: 【 变量】
13、填空题:
若有int x=1,y=1,表达式(!x || y--)的值等于 。
答案: 【 1】
14、填空题:
若有int n = 2;执行语句:n += n-= n*n后, n= 。
答案: 【 -4】
15、填空题:
设已定义字符型变量ch,执行语句:ch=’D’+32-3; 后ch的值为__________。
答案: 【 a】
表达式与运算符随堂测
1、单选题:
在以下的运算符中,运算对象必须是整型数的是 。
选项:
A: +
B: %
C: ++
D: ()
答案: 【 %】
2、单选题:
设x,y均为整型变量,且x=1,y=2,则表达式1.0+x/y的值为 。
选项:
A: 0
B: 1.5
C: 1.0
D: 1
答案: 【 1.0】
3、单选题:
在以下的运算符中,优先级最高的运算符是 。
选项:
A: >=
B: +=
C: %
D: &&
答案: 【 % 】
4、单选题:
设x是double型变量,则能将x的值四舍五入保留到小数点后两位的表达式是 。
选项:
A: int(x*100+0.5)/100.0
B: (x*100.0+0.5)/100.0
C: x*100+0.5/100.0
D: (x/100+0.5)*100.0
答案: 【 int(x*100+0.5)/100.0】
5、填空题:
表达式(int)((double)7/2)-7%2的值是 。
答案: 【 2】
第四章 程序的流程控制
循环结构随堂测验
1、单选题:
C 语言中 while 和 do-while 循环的主要区别是 __。
选项:
A: do-while 的循环体至少无条件执行一次而while的循环体可能一次也不执行
B: while 的循环控制条件比 do-while 的循环控制条件严格
C: do-while 允许从外部转到循环体内
D: do-while 的循环体不能是复合语句
答案: 【 do-while 的循环体至少无条件执行一次而while的循环体可能一次也不执行 】
2、单选题:
以下程序段 __。 x=-1; do { x=x*x; } while(!x);
选项:
A: 是死循环
B: 循环执行二次
C: 循环执行一次
D: 有语法错
答案: 【 循环执行一次】
3、单选题:
若i和k都是int类型变量,有以下for语句for(i=0,k=-1; k=1; k++) printf("*****n");下面关于语句执行情况的叙述中正确的是________。
选项:
A: 循环体执行两次
B: 循环体执行一次
C: 循环体一次也不执行
D: 死循环
答案: 【 死循环】
4、单选题:
下列哪一段代码无法正确实现求1到10的和,假设程序中已有定义:int s=0, i;
选项:
A: for (i=1; i<=10 ;i++) s+=i;
B: for (i=1;;i++) { if (i>10) break; s+=i; }
C: i=1; while (i<=10) s+=i++;
D: i=1; do { s+=++i; }while (i<=10);
答案: 【 i=1; do { s+=++i; }while (i<=10);】
流程控制单元测验
1、单选题:
下列程序段执行后,m的值为______。int a=0, b=20, c=40, m=60;if (a) m=a;else if(b) m=b;else if(c) m=c;
选项:
A: 0
B: 20
C: 40
D: 60
答案: 【 20】
2、单选题:
已有定义“int x = 0, y = 3;”,对于下面if语句,说法正确的是______。 if (x = y) printf(“X与Y相等n”);
选项:
A: 输出:X与Y相等,且执行完后x等于y
B: 无输出
C: 输出:X与Y相等,但执行完后x不等于y
D: 编译出错
答案: 【 输出:X与Y相等,且执行完后x等于y】
3、单选题:
关于switch语句,下列说法中不正确的是______。
选项:
A: case语句必须以break结束
B: default分支可以没有
C: switch后面的表达式可以是整型或字符型
D: case后面的常量值必须唯一
答案: 【 case语句必须以break结束】
4、单选题:
下面程序段的运行结果是______。int a, b=0; for ( a=0 ; a++<=2 ; ) ; b += a; printf("%d, %dn",a,b);
选项:
A: 3,6
B: 3,3
C: 4,4
D: 语法错误
答案: 【 4,4】
5、单选题:
下面程序段中,循环语句的循环次数是______。int x=0;while( x<6 ){ if ( x%2 ) continue; if ( x==4 ) break; x++;}
选项:
A: 死循环
B: 1
C: 4
D: 6
答案: 【 死循环】
6、单选题:
若变量已正确定义,有以下程序段:int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%dn",a,b,c);其输出结果是________。
选项:
A: 程序段有语法错
B: 3,5,3
C: 3,5,5
D: 3,5,7
答案: 【
