大学MOOC 程序设计(1)(广东工业大学)1451909161 最新慕课完整章节测试答案
第1讲 C++语言概述
文章目录
- 第1讲 C++语言概述
- 第2讲 信息的表示与存储
- 第3讲 程序中数据的表示
- 第4讲 运算符与表达式
- 第5讲 顺序结构的程序设计
- 第6讲 选择结构的程序设计
- 第7讲 循环结构的程序设计
- 第8讲 循环结构的设计
- 第9讲 函数的定义和使用
- 第10讲 函数的设计
- 第11讲 函数的调用
- 第12讲 作用域、生命期和程序的组织结构
- 第13讲 数组的定义和使用
- 第14讲 数组与函数
- 第15讲 字符串的处理
- 第17讲 指针的定义与使用
- 第18讲 指针与数组
- 第19讲 指针与函数
- 第20讲 动态分配内存
- 第21讲 自定义数据类型
- 第22讲 自定义数据类型的应用——链表
- 第25讲 类的定义
- 第26讲 对象的定义和使用
- 第27讲 构造函数
- 第28讲 默认构造函数和复制构造函数
- 第29讲 析构函数
第1讲 了解计算机的基本工作原理
1、单选题:
以下都可用作计算机输入设备的是:
选项:
A: 键盘,鼠标,扫描仪,打印机
B: 键盘,数码相机,鼠标,绘图仪
C: 键盘,数码相机,扫描仪,绘图仪
D: 键盘,鼠标,扫描仪,数码相机
答案: 【 键盘,鼠标,扫描仪,数码相机】
2、单选题:
CPU中包含控制器和:
选项:
A: 运算器
B: 存储器
C: 输入设备
D: 输出设备
答案: 【 运算器】
3、单选题:
下列语言不属于高级语言中的是:
选项:
A: C语言
B: 机器语言
C: FORTRAN语言
D: C++语言
答案: 【 机器语言】
4、单选题:
正确的C++语言标识符是:
选项:
A: 3d_max
B: if
C: A&B
D: sum_2
答案: 【 sum_2】
5、单选题:
对C++语言和C语言的兼容性,描述正确的是:
选项:
A: C++兼容C
B: C++部分兼容C
C: C++不兼容C
D: C兼容C++
答案: 【 C++兼容C】
第2讲 信息的表示与存储
第2讲 了解各种进位计数制及常用数据在计算机中的存储
1、单选题:
下列数中最大的数为:
选项:
A: (101001)B
B: (52)O
C: (43)D
D: (2C)H
答案: 【 (2C)H】
2、单选题:
如果X为负数,由[X]补求[-X]补是将:
选项:
A: [X]补各值保持不变
B: [X]补符号位变反,其它各位不变
C: [X]补除符号位外,各位变反,未位加1
D: [X]补连同符号位一起各位变反,未位加1
答案: 【 [X]补连同符号位一起各位变反,未位加1】
3、单选题:
以下叙述错误的是:
选项:
A: 浮点数中,阶码反映了小数点的位置
B: 浮点数中,阶码的位数越长,能表示的精度越高
C: 计算机中,整数一般用定点数表示
D: 浮点数和整数的最高位都是符号位
答案: 【 浮点数中,阶码的位数越长,能表示的精度越高】
4、单选题:
二进制数101101.101转换为十进制数、八进制数和十六进制数的结果分别是:
选项:
A: 45.525、55.5、2D.A
B: 45.625、55.5、2D.B
C: 45.625、55.5、2D.A
D: 45.625、55.6、2D.A
答案: 【 45.625、55.5、2D.A】
5、单选题:
字符型数据'A'存放在计算机中:
选项:
A: 存放的就是字母'A'
B: 存放的是'A'的ASCII码值的补码
C: 实际存放的是'A'的ASCII码值97
D: 实际存放的是'A'的ASCII码值65
答案: 【 实际存放的是'A'的ASCII码值65】
第3讲 程序中数据的表示
第3讲 掌握常量、变量的表示及基本数据类型
1、单选题:
类型修饰符unsigned不能修饰
选项:
A: char
B: int
C: long int
D: float
答案: 【 float】
2、单选题:
在C++语言的数据类型中,int,short等类型的长度是
选项:
A: 固定的
B: 任意的
C: 用户自定义的
D: 与机器字长有关的
答案: 【 与机器字长有关的】
3、单选题:
下列选项中,均是合法的整型常量的是:
选项:
A: 60-0xffff0011
B: –0xcdf01a0xe
C: –01986,0120668
D: –0x48a2e50x
答案: 【 60-0xffff0011】
4、单选题:
下列选项中,均是合法的实型常量的是:
选项:
A: +1e+15e-9.403e2
B: -0.1012e-4-8e5
C: 123e1.2e-.4+2e-1
D: –e3.8e-45.e-0
答案: 【 -0.1012e-4-8e5】
5、单选题:
下列字符串常量表示中,哪个是错误的?
选项:
A: ""yes"or"No""
B: "'OK!'"
C: "abcdn"
D: "ABC"
答案: 【 ""yes"or"No""】
6、单选题:
字符串”tv\whichn”的长度是:
选项:
A: 4
B: 3
C: 9
D: 字符串有非法字符,输出值不确定
答案: 【 3】
7、单选题:
以下不是C++语言支持的存储类别的是:
选项:
A: auto
B: static
C: dynamic
D: register
答案: 【 dynamic】
8、单选题:
下列不是C++语言的合法用户标识符的是:
选项:
A: a#b
B: _int
C: a_10
D: Pad
答案: 【 a#b】
9、单选题:
下列字符列中,可作为C++语言程序自定义标识符是:
选项:
A: switch
B: file
C: break
D: do
答案: 【 file】
10、单选题:
下列属于逻辑运算的一组算式是:
选项:
A: 1/1=1
B: 1-1=0
C: 1+1=10
D: 1+1=1
答案: 【 1+1=1】
第4讲 运算符与表达式
第4讲 掌握各种表达式的表示
1、单选题:
命题“10<m<15或m>20”的C++语言表达式是
选项:
A: ((m>10)&&(m<15)||(m>20))
B: ((m>20)&&(m<15)||(m>10))
C: (m>10)||((m<15)&&(m>20))
D: ((m>10)||(m<15)||(m>20))
答案: 【 ((m>10)&&(m<15)||(m>20))】
2、单选题:
设int a=3,b=4,c=5;表达式(a+b)>c&&b==c的值是:
选项:
A: 2
B: -1
C: 0
D: 1
答案: 【 0】
3、单选题:
若x是一个bool型变量,y是一个值为100的int型变量,则表达式 !x && y>0 的值为:
选项:
A: 为true
B: 为false
C: 与x的值相同
D: 与x的值相反
答案: 【 与x的值相反】
4、单选题:
设变量m,n,a,b,c,d均为0,执行(m = a==b)&&(n=c==d)后,m,n的值是:
选项:
A: 0,0
B: 0,1
C: 1,0
D: 1,1
答案: 【 1,1】
5、单选题:
设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是:
选项:
A: 6.500000
B: 6
C: 5.500000
D: 6.000000
答案: 【 6.000000】
6、单选题:
以下非法的赋值表达式是:
选项:
A: n=(i=2,i++)
B: j++
C: ++(i+1)
D: x=j>0
答案: 【 ++(i+1)】
7、单选题:
设int x=2,y=4,z=7;则执行x=y--<=x| | x+y!=z后x,y的值分别为:
选项:
A: 0,3
B: 1,3
C: 2,3
D: 2,4
答案: 【 1,3】
8、单选题:
表达式!x等效于:
选项:
A: x==1
B: x==0
C: x!=1
D: x!=0
答案: 【 x==0】
9、单选题:
设以下变量均为int类型,则值不等于7的表达式是:
选项:
A: (x=y=6,x+y,x+1)
B: (x=y=6,x+y,y+1)
C: (x=6,x+1,y=6,x+y)
D: (y=6,y+1,x=y,x+1)
答案: 【 (x=6,x+1,y=6,x+y)】
10、单选题:
在下列成对的表达式中,运算符“+”的意义不相同的一对是:
选项:
A: 5.0+2.0和5.0+2
B: 5.0+2.0和5+2.0
C: 5.0+2.0和5+2
D: 5+2.0和5.0+2
答案: 【 5.0+2.0和5+2】
第5讲 顺序结构的程序设计
第5讲 掌握C++输入输出的格式控制
1、单选题:
输入输出格式控制是在哪个头文件中定义的?
选项:
A: iostream.h
B: iomanip.h
C: istream.h
D: ostream.h
答案: 【 iomanip.h】
2、单选题:
对于语句cout<<endl<<x;中的各个组成部分,下列叙述中错误的是:
选项:
A: ”cout”是一个输出流对象
B: ”endl”的作用是输出回车换行
C: ”x”是一个变量
D: ”<<”称作提取运算符
答案: 【 ”<<”称作提取运算符】
3、单选题:
在ios中提供控制格式的标志位中,哪个是转换为十六进制形式的标志位?
选项:
A: hex
B: oct
C: dec
D: left
答案: 【 hex】
4、单选题:
定义变量:char one_char;则语句cout<<one_char;显示结果相当于C语言中的:
选项:
A: printf(one_char);
B: printf(“%c”,one_char);
C: scanf(one_char);
D: scanf(“%c”,&one_char);
答案: 【 printf(“%c”,one_char);】
5、单选题:
若有定义“int x=17;”,则语句“cout<<oct<<x;”的输出结果是:
选项:
A: 11
B: 0x11
C: 21
D: 021
答案: 【 21】
6、单选题:
与C语言printf("Hello,World\n");语句功能相同的C++语句是:
选项:
A: cout>>"Hello,World\n";
B: cout<<"Hello,World\n";
C: cin>>"Hello,World\n";
D: cin<<"Hello,World\n";
答案: 【 cout<<"Hello,World\n";】
7、单选题:
与语句cout<<endl;不等价的是:
选项:
A: cout<<’ n’;
B: cout<<'12';
C: cout<<’ xA’;
D: D)cout<<’ ’;
答案: 【 D)cout<<’ ’;】
8、单选题:
下列程序的运行结果是:#include <iostream>using namespace std;int main(){int a=2;int b=a+1;cout<<a/b<<endl;return 0;}
选项:
A: 0.66667
B: 0
C: 0.7
D: 0.6666666...
答案: 【 0】
9、单选题:
执行下列代码,程序的输出结果是(用下划线表示空格):int a=29,b=100;cout <<setw (3) << a << b << endl;
选项:
A: 29_100
B: _29_100
C: 29100
D: _29100
答案: 【 _29100】
10、单选题:
执行下列代码,程序的输出结果是:cout <<″Hex:″<< hex << 255;
选项:
A: ff
B: hex:ff
C: Hex:ff
D: f
答案: 【 Hex:ff】
第6讲 选择结构的程序设计
第6讲 掌握选择结构的程序设计
1、单选题:
流程控制语句的基本控制结构有三种,不属于这一种结构的是:
选项:
A: 顺序结构
B: 选择结构
C: 循环结构
D: 计算结构
答案: 【 计算结构】
2、单选题:
在设计程序时,应采纳的原则之一是:
选项:
A: 不限制goto语句的使用
B: 减少或取消注解行
C: 程序越短越好
D: 程序结构应有助于读者理解
答案: 【 程序结构应有助于读者理解】
3、单选题:
if语句的语法格式可描述为:格式1:if(<条件>)<语句>或if(<条件>)<语句1>else <语句2>关于上面的语法格式,下列表述中错误的是:
选项:
A: <条件>部分可以是一个if语句,例如if(if(a==0)……)……
B: <语句>部分可以是一个if语句,例如if(……)if(……)……
C: 如果在<条件>前加上逻辑非运算符!并交换<语句1>和<语句2>的位置,语句功能不变
D: <语句>部分可以是一个循环语句,例如if(……) while(……)……
答案: 【 <条件>部分可以是一个if语句,例如if(if(a==0)……)……】
4、单选题:
在if语句中的表达式是:
选项:
A: 只能是表达式
B: 只能是关系表达式和逻辑表达式
C: 只能是逻辑表达式
D: 可以是任意表达式
答案: 【 可以是任意表达式】
5、单选题:
执行如下语句序列,不可能出现的情况是:int x; cin>>x; if(x>250) cout<<'A'; if(x<250) cout<<'B'; else cout<<'A';
选项:
A: 显示:A
B: 显示:B
C: 显示:AB
D: 显示:AA
答案: 【 显示:AB】
6、单选题:
阅读下面的程序,如果两次执行上述程序,且键盘输入分别是4和6,则输出结果是:#include <iostream>using namespace std;int main(){int x;cin>>x;if (x++>5)cout <<x<<endl;elsecout<<x--<<endl;return 0;}
选项:
A: 4,6
B: 3,6
C: 4,7
D: 5,7
答案: 【 5,7】
7、单选题:
下列描述正确的是:
选项:
A: 表示m>n为false或m<n为true的表达式为(m>n&&m<n)
B: switch语句结构中必须有default语句
C: if语句结构中必须有default语句
D: 如果至少有一个操作数为true,则包含||运算符的表达式为true
答案: 【 如果至少有一个操作数为true,则包含||运算符的表达式为true】
8、单选题:
执行如下语句序列,不可能出现的情况是:int n; cin>>n; switch(n){ case 1: case 2: cout<<'A'; case 3: case 4: cout<<'B'; break; default:cout<<'C'; }
选项:
A: 显示:A
B: 显示:B
C: 显示:C
D: 显示:AB
答案: 【 显示:A】
9、单选题:
关于switch语句的说明中,错误的是:
选项:
A: default语句是可缺省的
B: 各个分支中的break语句起着退出switch语句的作用
C: switch结构不可以嵌套
D: 每个case语句中不必用{},而整体的switch结构一定要写一对花括号{}
答案: 【 switch结构不可以嵌套】
10、单选题:
将以下程序写成三目运算表达式语句是:if (a>b) max=a;else max=b;
选项:
A: max=(a>b)?;
B: (max=a>b)?a:b;
C: c=(a>b)?a:b;
D: max=(a>b)?a:b;
答案: 【 max=(a>b)?a:b;】
第7讲 循环结构的程序设计
第7讲 掌握循环结构的程序设计
1、单选题:
while(!x)中的(!x)与下面哪个条件等价?
选项:
A: x==1
B: x!=1
C: x!=0
D: x==0
答案: 【 x==0】
2、单选题:
已知:int i=5,下列do-while循环语句的循环次数为:do{cout<<i--<<endl;i--;}while(i!=0);
选项:
A: 0
B: 1
C: 5
D: 无限
答案: 【 无限】
3、单选题:
下面程序段:x=3; do{y=x--;if(!y) {cout<<”x”; continue;}cout<<”#”;}while(x>=1 && x<=2);
选项:
A: 将输出##
B: 是死循环
C: 将输出###
D: 含有不合法的控制表达式
答案: 【 将输出###】
4、单选题:
for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是:
选项:
A: 0
B: 5
C: 6
D: 无限
答案: 【 6】
5、单选题:
以下程序的输出结果是:#include <iostream>using namespace std;int main(){char s[]="abcdefbcde",*p=s;int v1=0,v2=0,v3=0,v4=0; for (p;*p;p++) switch(*p){ case 'a':v1++;break; case 'b':v3++;break; case 'e':v2++;break; default: v4++;}cout<<v1<<","<<v2<<","<<v3<<","<<v4<<endl;return 0;}
选项:
A: 1,2,2,5
B: 4,7,5,8
C: 1,5,3,10
D: 8,8,8,8
答案: 【 1,2,2,5】
6、单选题:
下面有关for循环的正确描述是:
选项:
A: for循环只能用于循环次数已经确定的情况
B: for循环是先执行循环体语句,后判断表达式
C: 在for循环中,不能用break语句跳出循环体
D: for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来
答案: 【 for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来】
7、单选题:
C++语言的跳转语句中,对于break和continue说法正确的是:
选项:
A: break语句只应用与循环体中
B: continue语句只应用与循环体中
C: break是无条件跳转语句,continue不是
D: break和continue的跳转范围不够明确,容易产生问题
答案: 【 continue语句只应用与循环体中】
8、单选题:
下列循环语句的循环次数是:while(int i=0) i--;
选项:
A: 0
B: 1
C: 2
D: 3
答案: 【 0】
9、单选题:
下面程序的输出结果是:#include<iostream>using namespace std;int main(){for(int i=-1;i<4;i++)cout<<(i?'0':'*');return 0;}
选项:
