MOOC C语言程序设计(河南农业大学)1449952184 最新慕课完整章节测试答案
第一周 程序设计基础
第一周单元测验
1、单选题:
以下说法中正确的是( )。
选项:
A: C语言程序总是从第一个定义的函数开始执行
B: 在C语言程序中,要调用的函数必须在main()函数中定义
C: C语言程序总是从main()函数开始执行
D: C语言程序中的main()函数必须放在程序的开始部分
答案: 【 C语言程序总是从main()函数开始执行】
2、单选题:
以下叙述中正确的是( )。
选项:
A: C程序中注释部分可以出现在程序中任意合适的地方
B: 花括号"{"和"}"只能作为函数体的定界符
C: 构成C程序的基本单位是函数,所有函数名都可以由用户命名
D: 分号是C语句之间的分隔符,不是语句的一部分
答案: 【 C程序中注释部分可以出现在程序中任意合适的地方】
3、单选题:
以下叙述中正确的是( )。
选项:
A: C 程序的基本组成单位是语句
B: C 程序中的每一行只能写一条语句
C: 简单 C 语句必须以分号结束
D: C 语句必须在一行内写完
答案: 【 简单 C 语句必须以分号结束】
4、单选题:
以下叙述中正确的是( )。
选项:
A: C语言规定必须用main作为主函数名,程序将从此开始执行
B: main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等
C: C语言程序将从源程序中第一个函数开始执行
D: 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
答案: 【 C语言规定必须用main作为主函数名,程序将从此开始执行】
5、单选题:
计算机能直接执行的程序是( )。
选项:
A: C语言源程序
B: 目标程序
C: 汇编程序
D: 可执行程序
答案: 【 可执行程序】
6、单选题:
下面叙述正确的是( )。
选项:
A: 算法的执行效率与数据的存储结构无关
B: 算法的空间复杂度是指算法程序中指令(或语句)的条数
C: 算法的有穷性是指算法必须能在执行有限个步骤之后终止
D: 以上三种描述都不对
答案: 【 算法的有穷性是指算法必须能在执行有限个步骤之后终止】
7、单选题:
以下关于算法叙述错误的是( )。
选项:
A: 算法可以用伪代码、流程图等多种形式来描述
B: 一个正确的算法必须有输入
C: 一个正确的算法必须有输出
D: 用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码
答案: 【 一个正确的算法必须有输入】
8、单选题:
流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中输入输出框的图形是( )。
选项:
A: 长方形
B: 菱形
C: 椭圆形
D: 平行四边形
答案: 【 平行四边形】
9、单选题:
下列关于结构化设计原则的描述,错误的是( )。
选项:
A: 使用GOTO语句使程序执行效率提高,但是滥用GOTO语句确实有害,应该避免使用GOTO语句。
B: 程序设计时应该自顶向下,逐步求精。
C: 程序设计时,应该将复杂问题进行模块化,就是将程序设计的总目标分解为若干个分目标,再进一步分解为具体的小目标。
D: 在进行程序设计时,应该尽量在一行书写一条语句,尽量做到效率第一,清晰第二。
答案: 【 在进行程序设计时,应该尽量在一行书写一条语句,尽量做到效率第一,清晰第二。】
10、单选题:
以下选项中关于程序模块化的叙述错误的是( )。
选项:
A: 把程序分成若干相对独立的模块,可便于编码和调试
B: 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C: 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
D: 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
答案: 【 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序】
11、单选题:
以下叙述中错误的是( )。
选项:
A: 用户所定义的标识符允许使用关键字
B: 用户所定义的标识符应尽量做到“见名知意”
C: 用户所定义的标识符必须以字母或下划线开头
D: 用户所定义的标识符中,大、小写字母代表不同标识
答案: 【 用户所定义的标识符允许使用关键字】
12、单选题:
以下选项中关于C语言常量的叙述错误的是( )。
选项:
A: 所谓常量,是指在程序运行过程中,其值不能被改变的量
B: 常量分为整型常量、实型常量、字符常量和字符串常量
C: 常量可分为数值型常量和非数值型常量
D: 经常被使用的变量可以定义成常量
答案: 【 经常被使用的变量可以定义成常量】
13、单选题:
C语言中最简单的数据类型包括( )。
选项:
A: 整型、实型、逻辑型
B: 整型、实型、字符型
C: 整型、字符型、逻辑型
D: 整型、实型、逻辑型、字符型
答案: 【 整型、实型、字符型】
14、单选题:
设变量x为float型且已赋值,则以下语句中能将X中的数值保留到小数点后两位,并将第三位四舍五入的是( )。
选项:
A: x=x*100+0.5/100.0
B: x=(x*100+0.5)/100.0
C: x=(int)(x*100+0.5)/100.0
D: x=(x/100+0.5)*100.0
答案: 【 x=(int)(x*100+0.5)/100.0】
15、单选题:
设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 1/2((a+b)h) 计算结果不相符的是( )。
选项:
A: (a+b)*h/2
B: (1/2)*(a+b)*h
C: (a+b)*h*1/2
D: h/2*(a+b)
答案: 【 (1/2)*(a+b)*h】
16、单选题:
下列条件语句中,功能与其他语句不同的是( )。
选项:
A: if(a) printf("%dn",x); else printf("%dn",y);
B: if(a==0) printf("%dn",y); else printf("%dn",x);
C: if(a!=0) printf("%dn",x); else printf("%dn",y);
D: if(a==0) printf("%dn",x); else printf("%dn",y);
答案: 【 if(a==0) printf("%dn",x); else printf("%dn",y);】
17、单选题:
若k是int型变量,且有下面的程序片段 k=-3 if(k<=0) printf("####") else printf("&&&&");上面程序片段的输出结果是( )。
选项:
A: ####
B: &&&&
C: ####&&&&
D: 有语法错误,无输出结果
答案: 【 有语法错误,无输出结果】
18、单选题:
在嵌套使用if语句时,C语言规定else总是( )。
选项:
A: 和之前与其具有相同缩进位置的if配对
B: 和之前与其最近的if配对
C: 和之前与其最近的且不带else的if配对
D: 和之前的第一个if配对
答案: 【 和之前与其最近的且不带else的if配对】
19、单选题:
下列叙述中正确的是( )。
选项:
A: break语句只能用于switch语句
B: 在switch语句中必须使用default
C: break语句必须与switch语句中的case配对使用
D: 在switch语句中,不一定使用break语句
答案: 【 在switch语句中,不一定使用break语句】
20、单选题:
if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是( )。
选项:
A: 必须是逻辑值
B: 必须是整数值
C: 必须是正数
D: 可以是任意合法的数值
答案: 【 可以是任意合法的数值】
21、单选题:
以下叙述正确的是( )。
选项:
A: do-while语句构成的循环不能用其它语句构成的循环来代替
B: do-while语句构成的循环只能用break语句退出
C: 用do-while语句构成的循环,在while后的表达式为非零时结束循环
D: 用do-while语句构成的循环,在while后的表达式为零时结束循环
答案: 【 用do-while语句构成的循环,在while后的表达式为零时结束循环】
22、单选题:
执行以下程序段时( )。x=-1;do {x=x*x; } while(! x);
选项:
A: 循环体将执行一次
B: 循环体将执行两次
C: 循环体将执行无限次
D: 系统将提示有语法错误
答案: 【 循环体将执行一次】
23、单选题:
有以下程序void main(){ int i;for(i=0;i<3;i++)switch(i){case 0:printf("%d",i);case 2:printf("%d",i);default:printf("%d",i);}}程序运行后的输出结果是( )。
选项:
A: 022111
B: 021021
C: 000122
D: 012
答案: 【 000122】
24、单选题:
t为int类型,进入下面的循环之前,t的值为0