MOOC 高级语言程序设计(东莞市教育局)1206135809 最新慕课完整章节测试答案
第一周课程: 绪论 & 顺序程序设计(1_2)
文章目录
第一周-- 绪论 & 顺序程序设计(1_2)--单元测试
1、单选题:
算法是一个计算过程,是程序设计的基础和精髓。一个有效的算法应该具有如下特点,其中错误的是:__________
选项:
A: 无穷性
B: .确定性
C: 有效性
D: 0个或多个输入及一个或多个输出
答案: 【 无穷性】
2、单选题:
描述算法有各种多样的方法,下述错误的是:________
选项:
A: 设计图
B: NS图
C: PAD图
D: 流程图
答案: 【 设计图】
3、单选题:
下面C语言中不正确的数据类型关键字是 ________。
选项:
A: signed
B: int
C: double
D: char
答案: 【 signed】
4、单选题:
不是C分隔符的是 ________。
选项:
A: !
B: #
C: ;
D: ,
答案: 【 !】
5、单选题:
算法由某些基本成分组成,这些基本成分是一些基本的操作和控制结构。以下不属于基本控制结构的是:__________。
选项:
A: 多文件结构
B: 顺序控制结构
C: 循环控制结构
D: 分支控制结构
答案: 【 多文件结构】
6、单选题:
如下错误的表达为:________。
选项:
A: 任何C程序必须包含至少一个主函数main
B: 一个C程序由一个或若干个编译单元组成,每个编译单元是一个源程序文件
C: 一个编译单元由若干顶层声明组成,每个顶层声明是一个声明或函数定义,其中主要为函数定义
D: 声明包括类型定义、变量声明、宏、… 等
答案: 【 任何C程序必须包含至少一个主函数main】
7、单选题:
一般编写并执行C程序的过程,第一步应该是________。
选项:
A: 使用文本编辑程序,录入源程序,保存文件
B: 使用连接程序进行连接,把.obj文件以及需要的库函数连接到一起,成为一个程序,生成可执行的机器语言程序
C: 使用C 编译程序编译C源程序文件,生成目标代码程序文件.obj
D: 执行程序,得到运行结果
答案: 【 使用文本编辑程序,录入源程序,保存文件】
8、单选题:
C语言可执行程序从哪里开始执行________。
选项:
A: 程序中唯一的main函数
B: 程序中的第一个函数
C: 程序中第一条可执行语句
D: 第一个包含文件的第一个函数
答案: 【 程序中唯一的main函数】
9、单选题:
不是C关键字的是 ________。
选项:
A: define
B: sizeof
C: if
D: double
答案: 【 define】
10、单选题:
不是C运算符的是 ________。
选项:
A: #
B: ++
C: +=
D: ==
答案: 【 #】
随堂测验1
1、单选题:
有效算法不应该具有的特性是_____
选项:
A: 有穷性
B: 确定性
C: 有效性
D: 冗余性
答案: 【 冗余性】
2、判断题:
与PAD图相比,NS图和流程图更开放、更易修改。
选项:
A: 正确
B: 错误
答案: 【 错误】
随堂测验2
1、单选题:
哪种语言是计算机能够读懂的语言。
选项:
A: 汇编语言
B: 机器语言
C: 高级语言
D: 自然语言
答案: 【 机器语言】
2、判断题:
C语言编写的程序只要编译链接正确,就一定能正确运行得到正确结果。
选项:
A: 正确
B: 错误
答案: 【 错误】
第二周 课程:顺序程序设计(2_2)
第二周--顺序程序设计(2_2)--单元测试
1、单选题:
现声明float y,由键盘输入:3.1416,正确的数据输入语句是:________。
选项:
A: scanf("%f",&y);
B: scanf("%s",&y);
C: scanf("%d",y);
D: scanf("%f",y);
答案: 【 scanf("%f",&y);】
2、单选题:
C语言中的简单数据类型包括:________。
选项:
A: 整数类型、浮点类型、字符类型
B: 浮点类型、整数类型、字符类型、逻辑类型
C: 逻辑类型、整数类型、字符类型
D: 整数类型、逻辑类型、浮点类型
答案: 【 整数类型、浮点类型、字符类型】
3、单选题:
C语言程序中,表达式5%2的结果是 ________。
选项:
A: 1
B: 2
C: 5
D: 2.5
答案: 【 1】
4、单选题:
语句char ch='65', 则变量ch ________。
选项:
A: 值为1个字符
B: 值为2个字符
C: 值为空
D: 值为3个字符
答案: 【 值为1个字符】
5、单选题:
设x为整型变量,如果要表示数学关系20<x<25,错误的C语言表达式是 ________。
选项:
A: 20<x<25
B: !(x<=20)&&!(x>=25)
C: x==21||x==22||x==23||x==24
D: x>20&&x<25
答案: 【 20<x<25】
6、单选题:
设变量A是int 型,B是float型,则表达式A+'q'+B结果的 数据类型是________。
选项:
A: float
B: char
C: 无法确定
D: int
答案: 【 float】
7、单选题:
下列标识符中不合法的是_______ 。
选项:
A: 2Dim
B: Name
C: Li_Stone
D: DQ
答案: 【 2Dim】
8、单选题:
执行如下语句后,x的值和输出结果分别是 ________。int x=11; printf("%d", x+2);
选项:
A: 11 13
B: 11 11
C: 12 12
D: 12 13
答案: 【 11 13】
9、单选题:
如果要表示逻辑关系 “ x≥11或x≤2 ”,下面正确的C语言表达式是 ________。
选项:
A: x>=11 || x<=2
B: x>=11 && x<=2
C: x>=2 | x<=11
D: x>=11 and x<=2
答案: 【 x>=11 || x<=2 】
10、单选题:
下列转义字符不正确的是:__________。
选项:
A: '9999'
B: '\'
C: '"
D: ''
答案: 【 '9999'】
随堂测验1
1、判断题:
17,904 是合法的整数字面常量。
选项:
A: 正确
B: 错误
答案: 【 错误】
2、判断题:
假设有“#define pai 3.14::” 此时常量标识符pai 代表实数“3.14”。
选项:
A: 正确
B: 错误
答案: 【 错误】
随堂测验2
1、判断题:
复合语句是多条简单语句的集合,并依次执行; 复合语句中的每条语句要么被执行、要么不被执行,不存在值执行一部分的情况。
选项:
A: 正确
B: 错误
答案: 【 正确】
随堂测验3
1、判断题:
C语言中用表达式“a*b”表示a与b相乘。
选项:
A: 正确
B: 错误
答案: 【 正确】
2、填空题:
假设整型变量A,B,C的值分别是3、6和9,请问在执行完如下程序片段后, B的值是多少?B=A;A=CC=B
答案: 【 3】
随堂测验4
1、判断题:
6 / 4和6.0/ 4结果相同。
选项:
A: 正确
B: 错误
答案: 【 错误】
随堂测验5
1、判断题:
使用语句scanf(“%d”,v)可以从键盘读取整型变量v的值。
选项:
A: 正确
B: 错误
答案: 【 错误】
2、填空题:
C语言提供的标准输入输出库函数头文件名字是_______。
答案: 【 stdio.h】
第三周课程:分支程序设计 & 循环程序设计(1_2)
第三周--分支程序设计 & 循环程序设计(1_2)--单元测验
1、单选题:
以下程序的运行结果是:int main(void){
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("%d %dn", a, b);
return 0;
}
选项:
A: 2 1
B: 1 0
C: 2 2
D: 3 2
答案: 【 2 1】
2、单选题:
若变量已正确定义,在if (S) printf (“%dn”,n);中,以下不可以替代S的是:
选项:
A: a<>b+c
B: ch=getchar()
C: a==b+c
D: a++
答案: 【 a<>b+c】
3、单选题:
阅读下述程序段,设变量c的值是68,写出运行结果。(提示小写字母a的ASCII码是97, 大写字母A的ASCII码是65)char c;
if ( c>=‘A’ && c<=‘Z’)
printf (“%cn”,c+32);
else
printf (“%dn”,c);
选项:
A: d
B: 100
C: D
D: 68
答案: 【 d】
4、单选题:
如有定义语句int a,b; double x; 则下列选项中没有错误的是______.提示:(int)x 表示将变量x的值强制转换成int类型。若x初始值为3.2则 (int)x的结果是int类型,值为3.
选项:
A: switch((int)x%2 ){
case 0: a++; break;
case 1: b++; break;
default: a++; b++;
}
B: switch(x%2){
case 0: a++; break;
case 1: b++; break;
default: a++; b++;
}
C: switch((int)x%2.0){
case 0: a++; break;
case 1: b++; break;
default: a++; b++;
}
D: switch(x%2){
case 0: a++; break;
case 1.0: b++; break;
default: a++; b++;
}
答案: 【 switch((int)x%2 ){
case 0: a++; break;
case 1: b++; break;
default: a++; b++;
}】
5、单选题:
下面程序的运行结果是:#include <stdio.h>
int main(void){
int a=1, b=2, c=3 ;
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);
return 1;
}
选项:
A: 1,2,3
B: 1,3,2
C: 1.3.3
D: 3,2,1
答案: 【 1,2,3】
6、单选题:
如下程序段的功能是判断一个4位自然数个位和十位数字是否相同,在划线处填写表达式。int num;
scanf ("%d",&num);
if (num>=1000 && num<10000)
if (______________)
printf ( “该4位自然数个位和十位数字相同n”);
else
printf ( “该4位自然数个位和十位数字不同n”);
选项:
A: num%10 ==num/10%10
B: num/10%10==num/100%10
C: num/100%10==num%10
D: num/1000==num%10
答案: 【 num%10 ==num/10%10】
7、单选题:
判断一个自然数是否为4位且是5的倍数,下述语句不正确的是:
选项:
A: if(n< =1000 || n>10000)
if(n%5==0)
printf(“YESn”);
else
printf(“NOn”);
B: if (n > =1000 && n<10000 && n%5==0)
printf(“YESn”);
else
printf(“NOn”);
C: if(n%5==0)
if (n > =1000 && n<10000 )
printf(“YESn”);
else
printf(“NOn”);
D: if (n > =1000 && n<10000 )
if(n%5==0)
printf(“YESn”);
else
printf(“NOn”);
答案: 【 if(n< =1000 || n>10000)
if(n%5==0)
printf(“YESn”);
else
printf(“NOn”);】
8、单选题:
下面程序段实现把3或5的倍数输出,在划线处填上正确的表达式 int x;
scanf (“%d”,&x);
if (___________________)
printf (“%dn”,x);
选项:
A: x%3==0 || x%5==0
B: x%3!=0 && x%5!=0
C: x%15
D: x%3==0 && x%5==0
答案: 【 x%3==0 || x%5==0】
9、单选题:
下述程序的运行结果是:int main(void){
int a=1,b=0;
if (!a )
b++;
else
if ( a==0 )
if ( a )
b+=2;
else
b+=3;
printf("b=%dn",b);
return 0;
}
选项:
A: b=0
B: b=1
C: b=2
D: b=3
答案: 【 b=0】
10、单选题:
阅读下面程序段,s 的值是:int a=1, b=2 c=6,s ;
if ( a<=b || c<0 || b<c)
s=b+c;
else
s=a+b+c;
选项:
A: 8
B: 9
C: 10
D: 11
答案: 【 8】
随堂测验1
1、单选题:
如下语句中有一个功能与其他不同,请指出是哪一个?
选项:
A: if(a>b) s=a-b;else s=b-a;
B: if(a-b>0) s=a-b;else s=b-a;
C: if(a<b) s=a-b;else s=b-a;
D: if(a>b) s=a-b;if(a<=b) s=b-a;
答案: 【 if(a<b) s=a-b;else s=b-a;】
2、判断题:
if语句的基本形式: if ( 表达式 ) 语句其中:“表达式”最终要给出一个布尔类型的值。
选项:
A: 正确
B: 错误
答案: 【 正确】
随堂测验2
1、判断题:
<>在C语言中是关系运算符
选项:
A: 正确
B: 错误
答案: 【 错误】
2、判断题:
如下逻辑表达式能正确表示能被3,5,7 同时整除的整型变量x(x%3==0)&&(x%5==0)&&(x%7==0)
选项:
A: 正确
B: 错误
答案: 【 正确】
随堂测验3
1、单选题:
多分支switch语句switch ( e ){ case c1: 语句; break; ........... case c2: 语句; break; ........... default:语句}中描述正确的是
选项:
A: e是任意合法的表达式
B: break的作用是跳出包含它的switch语句,执行该switch语句的后继语句
C: switch语句执行结果和case ci的书写顺序有关
D: default语句永远不会被执行到。
答案: 【 break的作用是跳出包含它的switch语句,执行该switch语句的后继语句】
第四周课程:循环程序设计(2_2)
第四周--循环程序设计(2_2)--单元测试
1、单选题:
for(i=1;i<10;i++);结束后,i的值是:
选项:
A: 10
B: 9
C: 11
D: 12
答案: 【 10】
2、单选题:
下面程序的输出结果是_____.int main(void){
int s,k;
for(s=1,k=2;k<5;k++)
s+=k;
printf(“%dn”,s);
return 0;
}
选项:
A: 10
B: 1
C: 9
D: 15
答案: 【 10】
3、单选题:
下面有关for循环的正确描述是:
选项:
A: for循环的循环体可以包含多条语句,但必须用花括号括起来。
B: for循环只能用于循环次数已经确定的情况
C: for循环是先执行循环体语句,后判断表达式。
D: 在for循环中,不能用break语句跳出循环体。
答案: 【 for循环的循环体可以包含多条语句,但必须用花括号括起来。】
4、单选题:
以下叙述正确的是:
选项:
A: 用do---while语句构成的循环,在while后的表达式为零时结束循环。
B: do---while语句构成的循环不能用其他语句构成的循环来代替。
C: do---while语句构成的循环只能用break语句退出。
D: 用do---while语句构成的循环,在while 后的表达式为非零时结束循环。
答案: 【 用do---while语句构成的循环,在while后的表达式为零时结束循环。】
5、单选题:
若k为整型变量,则下面while循环执行的次数为:k=10;
while(k>=5) k=k-1;
选项:
A: 6次
B: 4次
C: 5次
D: 7次
答案: 【 6次 】
6、单选题:
若k为整型,以下while循环执行___次.k=2;
while(k=0)
printf("%d",k),k--;
printf("n");
选项:
A: 0次
B: 1次
C: 2次
D: 无限次
答案: 【 0次】
7、单选题:
要使下面程序输出10个整数,则在横线处填入正确的数是:for(i=0;i<= ______ 😉
printf(“%dn”,i+=2);
选项:
A: 18
B: 9
C: 10
D: 20
答案: 【