MOOC C语言程序设计(河北师范大学)1450009167 最新慕课完整章节测试答案
第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
1、单选题:
下列选项中,合法的一组C语言数值常量是( )
选项:
A: 028 5e- 3.0xf
B: 12.0xa23 4.5e0
C: 177 4el.5 0abc
D: 0x8A 10,000 3.e
答案: 【 12.0xa23 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、单选题:
若num、a、b、c都是int变量,则执行表达式 num=(a=4,b=16,c=32)后num的值是( )
选项:
A: 4
B: 16
C: 32
D: 0
答案: 【 32】
7、单选题:
判断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')】
8、单选题:
若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( )。
选项:
A: num%2==1
B: !(num%2==0)
C: !(num%2)
D: num%2
答案: 【 !(num%2)】
9、单选题:
( )是C语言提供的合法的数据类型关键字。
选项:
A: Boolean
B: signed
C: integer
D: Char
答案: 【 signed】
10、单选题:
不正确的字符串常量是( )。
选项:
A: 'abc'
B: "12'12"
C: "\0"
D: " "
答案: 【 'abc'】
11、填空题:
在C语言中,程序运行期间,其值不能被改变的量叫__ ____
答案: 【 常量】
12、填空题:
在C语言中,用来标识变量名、符号变量名,函数名,数组名,类型名,文件名的有效字符序列称为__ ____
答案: 【 标识符】
13、填空题:
若有说明语句:char ch1='65',则ch1中包含字符个数_______
答案: 【 1##%_YZPRLFH_%##1个】
14、填空题:
在C语言中,char型数据在内存中的存储形式是_________
答案: 【 ASCII码##%_YZPRLFH_%##ASCII】
15、填空题:
逻辑运算符的运算对象的数据类型__________
答案: 【 任意类型】
运算符
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】
数据的输入输出
1、单选题:
下列程序打印输出C Language Programming#include<stdio.h>int main(){printf("C Language Programmingn");return 0;}程序的运行结果是:
选项:
A: 程序编译出错
B: "C Language Programmingn"
C: C, Language, Programming
D: C Language Programming
答案: 【 C Language Programming】
2、单选题:
要输出结果4*4=16,下列语句不正确的是( )
选项:
A: printf("4*4=16n");
B: printf("4*4=%d",16);
C: printf("4*4=%d",4*4);
D: printf("4*4=%d,16");
答案: 【 printf("4*4=%d,16");】
3、单选题:
已知在ASCH 字符集中、数字0的字号为48,下面程序的输出结果为( )。#include <stdio.h>int main( ){ char x, y; x='0'; y='9'; printf("%d,%dn",x,y);}
选项:
A: 因输出格式不合法,输出错误信息
B: 48,57
C: 0,9
D: 48.58
答案: 【 48,57】
4、单选题:
以下程序的运行结果是( )#include <stdio.h>int main( ){ int c,x,y; x= l; y= 1; c= 0; c=x++||y++; printf("n%d%d%dn",x,y,c);}
选项:
A: 110
B: 211
C: 011
D: 001
答案: 【 211】
5、单选题:
以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错,出错的原因是( )。#include <stdio.h>int main() { int r; float s; scanf("%d",&r); s= *p*r*r; printf("s=%fn",s); }
选项:
A: 注释语句书写位置错误
B: 存放圆半径的变量r不应该定义为整型
C: s=*p*r*r;语句中使用了非法的表达式
D: 输出语句中格式描述符非法
答案: 【 s=*p*r*r;语句中使用了非法的表达式】
第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