大学MOOC 程序设计基础(闽江学院)1452788175 最新慕课完整章节测试答案
第1章绪论
绪论
1、单选题:
以下说法正确的是( )
选项:
A: C语言程序总是从第一个的函数开始执行
B: 在C语言程序中,要调用函数必须在main()函数中定义
C: C语言程序总是从main()函数开始执行
D: C语言程序中的main()函数必须放在程序的开始部分
答案: 【 C语言程序总是从main()函数开始执行】
2、单选题:
一个C程序可以包含任意多个不同名的函数,但有且仅有一个( ).一个C程序总是从此开始执行。
选项:
A: 过程
B: 主函数
C: 函数
D: include
答案: 【 主函数】
3、单选题:
C语言规定,在一个源程序中,main函数的位置( )
选项:
A: 必须在最开始
B: 必须在系统调用的库函数的后面
C: 可以任意
D: 必须在最后
答案: 【 可以任意】
4、单选题:
在C语言中,每个语句和数据定义是用( )结束。
选项:
A: 句号
B: 逗号
C: 分号
D: 括号
答案: 【 分号】
5、单选题:
下列叙述中错误的是( )
选项:
A: C语言是一种结构化程序设计语言
B: 结构化程序由顺序、分支、循环3种基本结构组成
C: 使用3种基本结构构成的程序只能解决简单问题
D: 结构化程序设计提倡模块化的设计方法
答案: 【 使用3种基本结构构成的程序只能解决简单问题】
6、单选题:
关于C程序的叙述正确的是( )
选项:
A: 从//开始的程序都是注释
B: /* */只能写在一行,其中的内容为注释
C: 一条语句可以写成多行,多条语句也可以写在一行
D: 一行只能写一条语句
答案: 【 一条语句可以写成多行,多条语句也可以写在一行】
7、单选题:
( )是C程序的基本构成单位。
选项:
A: 函数
B: 函数和过程
C: 文本
D: 语句
答案: 【 函数】
8、单选题:
在C语言中,一个语句( )为结束标志。
选项:
A: 句号
B: 逗号
C: 分号
D: 括号
答案: 【 分号】
第2章数据类型、运算符与表达式
变量与常量
1、单选题:
下列标识符中,不合法的用户标识符为( )
选项:
A: month
B: _5xy
C: int
D: your_name
答案: 【 int】
数据类型小测
1、单选题:
下列选项中,合法的C语言数值常量是( )
选项:
A: 028
B: 4.5e0
C: 10,000
D: 3.
答案: 【 4.5e0】
2、单选题:
在C语言中,下列类型属于基本类型的是( )
选项:
A: 整型、实型、字符型
B: 空类型、枚举型
C: 结构体类型、实型
D: 数组类型、实型
答案: 【 整型、实型、字符型】
3、单选题:
下列字符串不是合法标识符的是( )
选项:
A: _above
B: #dfg
C: _cnd
D: all
答案: 【 #dfg】
4、单选题:
10+'a'+ 1.5-567.345/'b’的结果是( )型数据。
选项:
A: long
B: double
C: int
D: unsigned float
答案: 【 double】
5、单选题:
C语言中,运算对象必须是整型数的运算符是( )
选项:
A: %
B:
C: %和
D: * *
答案: 【 %】
6、单选题:
判断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')】
7、单选题:
若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( )。
选项:
A: num%2==1
B: !(num%2==0)
C: !(num%2)
D: num%2
答案: 【 !(num%2)】
8、单选题:
( )是C语言提供的合法的数据类型关键字。
选项:
A: Boolean
B: signed
C: integer
D: Char
答案: 【 signed】
9、单选题:
不正确的字符串常量是( )。
选项:
A: 'abc'
B: "12'12"
C: "\0"
D: " "
答案: 【 'abc'】
10、填空题:
在C语言中,程序运行期间,其值不能被改变的量叫__ ____
答案: 【 常量】
11、填空题:
在C语言中,用来标识变量名、符号变量名,函数名,数组名,类型名,文件名的有效字符序列称为__ ____
答案: 【 标识符】
12、填空题:
若有说明语句:char ch1='65',则ch1中包含字符有_______个
答案: 【 1##%_YZPRLFH_%##一】
13、填空题:
在C语言中,char型数据在内存中的存储形式是_________
答案: 【 ASCII码##%_YZPRLFH_%##ASCII】
运算符
1、填空题:
若a, b均为int类型变量,则执行以下程序段后的输出是:___________x=15; y=5; printf("%dn",x%=(y%2));
答案: 【 0】
逻辑运算符
1、填空题:
设i, j, k是int类型变量,且i=3, j=4, k=5,则表达式 i && j运算结果是_______, !((i<j)&&!k||1) 运算结果是________
答案: 【 1 0##%_YZPRLFH_%##1,0##%_YZPRLFH_%##1、0】
第3章数据的输入输出
C语言的输入和输出
1、填空题:
程序如下,下叙述中正确的是______。#include<stdio.h>int main(){ char a1='M', a2='m'; printf("%cn",(a1, a2)); }
答案: 【 m】
2、填空题:
以下程序运行后输出的结果是________。#include<stdio.h>int main(){ int a,b,d=25; a=d/10%9; b=a+-1; printf("%d,%dn",a,b);}
答案: 【 2,1】
第4章选择结构
if的分支结构
1、填空题:
若从键盘输入58,则以下程序输出的结果是__________#include<stdio.h>int main(){int a;scanf("%d",&a);if(a>50)printf("%d",a);if(a>40)printf("%d",a);if(a>30)printf("%d",a);}
答案: 【 585858】
2、填空题:
以下程序输出:_____#include<stdio.h>int main(){int x1=3, x2=0, x3=0;if( x1 = x2+x3) printf("*****");elseprintf("#####");}
答案: 【 #####】
if语句
1、填空题:
以下程序的输出结果是:________#include <stdio.h>int main(){ float x=2.0,y; if(x<0.0)y=0.0; else if (x<10.0)y=1.0/x; else y= 1.0; printf("%fn", y);}
答案: 【 0.500000##%_YZPRLFH_%##0.500000##%_YZPRLFH_%##0.5】
switch语句
1、单选题:
假定等级和分数有以下对应关系:等级:A 分数:85~100 等级:B 分数:60~84 等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是_____.
选项:
A: switch (grade) { case 'A':printf("85--100n"); case 'B':printf("60--84n"); case 'C':printf("60以下n"); default:printf("等级错误!n"); }
B: switch (grade) { case 'A':printf("85--100n");break; case 'B':printf("60--84n"); case 'C':printf("60以下n"); default:printf(" 等级错误!n"); }
C: switch (grade) { case 'A':printf("85--100n");break; case 'B':printf("60--84n");break; case 'C':printf("60以下n"); default:printf("等级错误!n"); }
D: switch (grade) { case 'A':printf("85--100n");break; case 'B':printf("60--84n");break; case 'C':printf("60以下 n");break; default:printf("等级错误!n"); }
答案: 【 switch (grade) { case 'A':printf("85--100n");break; case 'B':printf("60--84n");break; case 'C':printf("60以下 n");break; default:printf("等级错误!n"); }】
2、填空题:
在执行下述程序时,若从键盘输入字母H,则输出结果是( )。#include <stdio.h>int main(){ char ch; ch=getchar(); switch(ch) { case 'H':printf("Hello! n"); case 'G':printf("Good morning! n"); }}
答案: 【 Hello!
Good morning!##%_YZPRLFH_%##Hello!
Good morning!】
选择结构
1、单选题:
以下程序的输出结果是:( )#include <stdio.h>int main(){ float x=2.0,y; if(x<0.0) y=0.0; else if (x<10.0) y=1.0/x; else y= 1.0; printf("%fn", y);}
选项:
A: 0.500000
B: 1.000000
C: 0.000000
D: 0.250000
答案: 【 0.500000】
2、单选题:
下列程序的输出结果是( )。 #include<stdio.h>int main(){ int a=5,b=4,c=3,d=2; if(a>b>c) printf("%dn",d); else if(c-1>=d) printf("%dn",d+1); else printf("%dn",d+2); }
选项:
A: 2
B: 3
C: 4
D: 编译时有错且无结果
答案: 【 3】
3、单选题:
以下程序运行时,若从键盘输入9,则输出结果是( )。#include<stdio.h>int main(){ int a=1; scanf("%d",&a); if(a++<9) printf("%dn",a); else printf("%dn",a);}
选项:
A: 10
B: 11
C: 9
D: 8
答案: 【 10】
4、单选题:
请阅读以下程序:#include<stdio.h>int main(){ int a=5,b=0,c=1; if(a=b+c) printf("***n"); else printf("$$$n");} 以上程序( )
选项:
A: 有语法错不能通过编译
B: 可以通过编译但不能通过连接
C: 输出***
D: 输出$$$
答案: 【 输出***】
5、单选题:
若int k=8;则执行下列程序后,变量k的正确结果是____ #include<stdio.h>int main(){ int k=8; switch(k) { case 9: k+=1; case 10: k+=1; case 11: k+=1; break; default: k+=1; } printf("%dn",k);}
选项:
A: 12
B: 11
C: 10
D: 9
答案: 【 9】
6、单选题:
现有如下程序段,此程序段编译有错误,则程序段的错误出在( )#include<stdio.h>int main(){ int a=30,b=40,c=50,d; d=a>30 ? b:c; switch(d) { case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c); default:printf("#");}}
选项:
A: default:printf("
