大学MOOC 2020春CC++程序设计(高枚1)(同济大学)1450781183 最新慕课完整章节测试答案
第1讲CC++程序设计入门
文章目录
第1讲单元测验
1、单选题:
以下________是C/C++合法的标识符。
选项:
A: char2
B: @x
C: int
D: 7Bw
答案: 【 char2】
2、单选题:
下面的程序,对于输入:2 9 15,输出的结果是________。 #include "iostream"using namespace std;int main(){int a;int b;cout<<"input a,b:"<<endl;cin>>a>>b;cout<<"a+b="<<a+b<<endl;system("pause");return 0; }
选项:
A: 输入的数据超过要求的数据,程序运行出现错误
B: 11
C: 26
D: 24
答案: 【 11】
3、单选题:
在VS C++中,要在原有程序中修改程序代码应打开扩展名为________的文件。
选项:
A: obj
B: sln
C: exe
D: cpp
答案: 【 sln】
4、单选题:
有关C语言和C++语言以下正确的说法是________。
选项:
A: C语言和C++语言都是结构化程序设计语言
B: C语言和C++语言都是面向对象的程序设计语言
C: C语言是结构化语言,C++语言是面向对象的语言
D: C++语言是结构化语言,C语言是面向对象的语言
答案: 【 C语言是结构化语言,C++语言是面向对象的语言】
5、单选题:
程序设计语言的发展通常被划分为三个阶段,其中不包括________。
选项:
A: 高级语言
B: 汇编语言
C: 机器语言
D: 数据库语言
答案: 【 数据库语言】
6、单选题:
通过cin语句为多个变量输入数据时,不能用______分隔多个数据。
选项:
A: 空格
B: 回车
C: 制表符
D: 逗号
答案: 【 逗号】
7、判断题:
C和C++语言中不区分大小写字母。
选项:
A: 正确
B: 错误
答案: 【 错误】
8、判断题:
C语言最初是为开发UNIX系统而编写设计的。
选项:
A: 正确
B: 错误
答案: 【 正确】
9、判断题:
在C和C++语言中,注释语句是可执行语句。
选项:
A: 正确
B: 错误
答案: 【 错误】
10、判断题:
C和C++语言(C++11之前的标准)中,用户自定义的标识符中不能包含汉字。
选项:
A: 正确
B: 错误
答案: 【 正确】
11、判断题:
C和C++语言源程序中如果存在语法错误,程序仍可以运行,但结果不正确。
选项:
A: 正确
B: 错误
答案: 【 错误】
12、判断题:
cin后的提取运算符“>>”之后只能跟变量。
选项:
A: 正确
B: 错误
答案: 【 正确】
13、填空题:
C++源程序的扩展名为________。
答案: 【 cpp##%_YZPRLFH_%##.cpp】
14、填空题:
在C语言中,无论一个程序中有多少个函数,总是从_______函数开始执行。
答案: 【 main##%_YZPRLFH_%##主##%_YZPRLFH_%##主函数##%_YZPRLFH_%##main函数】
15、填空题:
C和C++语言中,________是语句结束的标志。
答案: 【 分号##%_YZPRLFH_%##;】
第2讲数据类型、运算符和表达式
第2讲单元测验
1、单选题:
下列不是C语言基本数据类型的是 ( )。
选项:
A: 字符型
B: 整型
C: 浮点型
D: 结构体
答案: 【 结构体】
2、单选题:
若有x=1,y=2,z=3,则表达式(x<y?x:y)==z的值是( )。
选项:
A: 1
B: 2
C: 3
D: 0
答案: 【 0】
3、单选题:
已知x,y为整型,z为实型,ch为字符型,下列表达式合法的是( )。
选项:
A: z=(y+x)++
B: x+y=z
C: y=ch+x
D: y=z%x
答案: 【 y=ch+x】
4、单选题:
设整型变量a为5,使b不为2的表达式是( )。
选项:
A: b = a/2
B: b = 6-(--a)
C: b=a%2
D: b=a>3?2:1
答案: 【 b=a%2】
5、单选题:
下列语句不具有赋值功能的是( )
选项:
A: a*=b
B: x=1
C: a+b
D: a++
答案: 【 a+b】
6、单选题:
在C语言中,要求参加运算的数必须是整数的运算符是( )。
选项:
A: /
B: *
C: %
D: =
答案: 【 %】
7、单选题:
执行 x=(6*7%8+9)/5; 后,x的值为( )
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 2】
8、单选题:
以下能正确定义整型变量a、b、c并为其赋初值5的语句是( )
选项:
A: int a=b=c=5;
B: int a,b, c=5;
C: int a=5,b=5,c=5;
D: a=b=c=5;
答案: 【 int a=5,b=5,c=5;】
9、判断题:
在C语言中,所有算术运算符的优先级都相同。
选项:
A: 正确
B: 错误
答案: 【 错误】
10、判断题:
'b'和"b"是不同的两种常量。
选项:
A: 正确
B: 错误
答案: 【 正确】
11、判断题:
一般情况下,目数越多,优先级越高。
选项:
A: 正确
B: 错误
答案: 【 错误】
12、判断题:
表达式 a*b>0 可以表示“a和b同时为正或同时为负”
选项:
A: 正确
B: 错误
答案: 【 正确】
13、填空题:
若已定义x和y为double类型,且x=1;则表达式y=x+3/2的值是( )。
答案: 【 2##%_YZPRLFH_%##2.0##%_YZPRLFH_%##2.00000##%_YZPRLFH_%##2.000000##%_YZPRLFH_%##2.00】
14、填空题:
表达式10!=9 的值是( )。
答案: 【 1##%_YZPRLFH_%##true】
15、填空题:
若已定义int x=1,y=1; 则表达式x--&&y--的值是( )
答案: 【 1##%_YZPRLFH_%##true】
16、填空题:
字符串常量"123"在内存中的字节数是( )。
答案: 【 4】
17、填空题:
已有定义int x=3 ; 则表达式x=x+1.78的值是( )
答案: 【 4】
18、填空题:
当a=3,b=2,c=1时,表达式f=a>b>c的值是( )
答案: 【 0】
第3讲选择结构
第3讲单元测验
1、单选题:
若给定条件表达式(M)?(a++):(a--),则其中表达式M( )。
选项:
A: 和(M==0)等价
B: 和(M==1)等价
C: 和(M!=0)等价
D: 和(M!=1)等价
答案: 【 和(M!=0)等价】
2、单选题:
C语言中用于结构化程序设计的3种基本结构是( )
选项:
A: 顺序结构、选择结构、循环结构
B: if,switch,break
C: for,while,do-while
D: if,for,continue
答案: 【 顺序结构、选择结构、循环结构】
3、单选题:
假设有定义 int x=1,y=0,a=0,b=0; 则执行以下程序段后,a、b的值为( )。 switch(x) { case 1: switch(y) { case 0:a++;break; case 1:b++;break; } //注意后面没有break case 2: a++;b++;break; case 3: a++;b++; }
选项:
A: a=l,b=0
B: a=2,b=1
C: a=1,b=l
D: a=2,b=2
答案: 【 a=2,b=1】
4、单选题:
假设有定义 int i=0,j=0,a=6;则执行以下语句后,各变量的值依次为( ) if((++i>0)||(++j>0))a++;
选项:
A: i=0,j=0,a=6
B: i=l;j=1;a=7
C: i=1,j=0,a=7
D: i=0;j=1,a=7
答案: 【 i=1,j=0,a=7 】
5、单选题:
关于switch语句描述正确的是( )。
选项:
A: switch语句中default子句可能没有,也可能有一个
B: switch语句的每个语句序列中必须有break语句
C: switch语句中的case后面可以是一个关系表达式
D: switch语句中switch后面的表达式可以是实型
答案: 【 switch语句中default子句可能没有,也可能有一个】
6、单选题:
已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )。 if(x>y) z=x; x=y; y=z;
选项:
A: x=10,y=20,z=30
B: x=20,y=30,z=30
C: x=20,y=30,z=10
D: x=20,y=30,z=20
答案: 【 x=20,y=30,z=30】
7、单选题:
以下if语句语法正确的是( )。
选项:
A: if(x>0) cout<<xelse cout<<--x;
B: if(x>0){ x=x+y; cout<<x; }else cout<<--x;
C: if(x>0){ x=x+y; cout<<x; };else cout<<--x;
D: if(x>0){ x=x+y; cout<<x };else cout<<--x;
答案: 【 if(x>0){ x=x+y; cout<<x; }else cout<<--x;】
8、单选题:
当a=1,b=2,c=4,d=3时,执行完下面一段程序后x的值是( )。if(a<b)if(c<d) x=1;else if(a<c) if(b<d) x=2; else x=3; else x=4;else x=5;
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 2】
9、判断题:
一个switch语句必须包含一个default语句。( )
选项:
A: 正确
B: 错误
答案: 【 错误】
10、判断题:
在C程序中,if语句中不能嵌套switch语句。 ( )
选项:
A: 正确
B: 错误
答案: 【 错误】
11、判断题:
空语句是合法的C语句。
选项:
A: 正确
B: 错误
答案: 【 正确】
12、判断题:
C语言中规定,if语句的嵌套结构中,else总是无条件地和最近的if配对。
选项:
A: 正确
B: 错误
答案: 【 错误】
13、判断题:
C语言中规定,if表达式后面的语句可以是复合语句。
选项:
A: 正确
B: 错误
答案: 【 正确】
14、填空题:
假设有定义int a=2,b=-1,c=2; 则执行以下程序段后c的值为( )。if(a<b) if(b<0) c=0; else c++;
答案: 【 2】
15、填空题:
假设有定义int m=5; 则执行以下程序段的输出结果是( )if(m++>5) cout<<m; else cout<<m--;
答案: 【 6】
16、填空题:
假设有定义int year,flag; ,其中year代表年份,flag代表是否为闰年的判断,取1代表闰年,取0代表非闰年,则以下关于闰年判断程序段中的空白处应为( )if(year%400==0) flag=1;else if(____________________) flag=1;else flag=0;
答案: 【 year%4==0&&year%100!=0】
第4讲循环结构
第4讲单元测验
1、单选题:
若k为整型,以下while循环体中的语句执行( )。 k=2; while(k=0) { cout<<k; k--; }
选项:
A: 无限次
B: 0次
C: 1次
D: 2次
答案: 【 0次】
2、单选题:
假设有定义 int i,j,k=0,m=0;则执行以下程序段后k和m的值分别为( ) for(i=0;i<2;i++) { for(j=0;j<3;j++) k++; k-=j; } m=i+j;
选项:
A: k=0,m=3
B: k=0,m=5
C: k=l,m=3
D: k=l,m=5
答案: 【 k=0,m=5】
3、单选题:
下列关于break语句描述错误的是( )。
选项:
A: break语句可用于循环体内,它将退出该重循环
B: break语句可用于switch语句中,它将退出switch语句
C: break语句可用于if体内,它将退出if语句
D: break语句只能用于循环语句和switch语句中
答案: 【 break语句可用于if体内,它将退出if语句】
4、单选题:
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--) for (j=0;j<4;j++){...}
选项:
A: 20
B: 25
C: 24
D: 30
答案: 【 20】
5、单选题:
语句while(!e);中的条件 !e 等价于( )。
选项:
A: e==0
B: e!=1
