第2章 C++概述课后
一. 单选题(共20题,74分)
1、下列关于C++语言的发展说法错误的是( )。
A. C++语言起源于C语言
B. C++语言最初被称为“带类的C”
C.在1980年C++被命名
D.在1983年C++被命名
我的答案: C
2. (单选题)C++语言是以( )语言为基础逐渐发展而演变而成的一种程序设计语言。
A. Pascal 语言
B. C 语言
C.Basic 语言
D. Simula67 语言
我的答案: B
3. (单选题)下列关于C++与C语言关系的描述中错误的是( )。
A. C++是C语言的超集
B. C++是C语言进行了扩充
C. C++和C语言都是面向对象的程序设计语言
D. C++包含C语言的全部语法特征
我的答案: C
4. (单选题)下列C++标点符号中表示行注释开始的是( )。
A.#
B.;
C. //
D. }
我的答案: C
5. (单选题)每个C++程序都必须有且仅有一个( )。
A.预处理命令
B.主函数
C.函数
D.语句
我的答案: B
6. (单选题)C++对C语言做了很多改进,下列描述中哪一项使得C语言发生了质变,即从面向过程变成面向对象( )。
A.增加了一些新的运算符
B.允许函数重载,并允许设置默认参数
C.规定函数说明必须用原型
D.引进类和对象的概念
我的答案: D
7. (单选题)对定义重载函数的下列要求中,错误的是( )。
A.要求参数的个数不同
B.要求参数中至少有一个类型不同
C.要求参数个数相同时,参数类型不同
D.要求函数的返回值不同
我的答案: D
8. (单选题)在函数的返回值类型与返回值表达式的类型的描述中,错误的是( )。
A.函数返回值的类型是在定义函数时确定,在函数调用时是不能改变的
B.函数返回值的类型就是返回值表达式的类型
C.函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型
D. 函数返回值类型确定了返回值表达式的类型
我的答案: D
9. (单选题)下列不正确的选项是( )。
A.C++语言是一种既支持面向过程程序设计,又支持面向对象程序设计的混合型语言
B.关键字是在程序中起分割内容和界定范围作用的一类单词
C.iostream是一个标准的头文件,定义了一些输入输出流对象
D.对象与对象之间不可以进行通信和联络
我的答案: D
10. (单选题)下列表示引用的方法中,正确的是( )。
已知:int k=1000;
A.int &x=k;
B.char &y;
C. int &z=1000;
D. float &t=&k;
我的答案: A
11. (单选题)下列语句中错误的是( )
A. int *p = new int(10);
B. int *p = new int[10];
C. int *p = new int;
D. int *p = new int[40](10);
我的答案: D
12. (单选题)const char* const name="chen";
下面的语句中正确的是()
A. name[3]='a';
B. name="lin"
C. name=new char[5]
D. cout<<name[3]
我的答案: D
13. (单选题)char* const name="chen";
下面的语句中正确的是()
A. name[3]='q';
B. name="line";
C. name=new char[5];
D. name = new char('q');
我的答案: A
14. (单选题)假设已有定义“const char* name ="chen"; ”下面的语句中错误的是( )
A. name[3]='q';
B. name="lin";
C. name=new char[5];
D. name=new char('q');
我的答案: A
15. (单选题)在( )情况下适合采用内联函数。
A. 函数代码小,频繁调用。
B. 函数代码多,频繁调用。
C. 函数体含有递归语句。
D. 函数体含有循环语句。
我的答案: A
16. (单选题)在C++中,关于下列设置默认参数值的描述中,( )是正确的。
A. 不允许设置默认参数值。
B. 在指定了默认参数右边,不能出现没有指定默认值的参数。
C. 只能在函数的定义性声明中指定参数的默认值。
D. 设置默认参数值时,必须全部都设置。
我的答案: B
17. (单选题)下面的类型声明中正确的是( )
A. int &a[4];
B. int & *p;
C. int &&q;
D. int i, *p=&i;
我的答案: D
18. (单选题)下面关于重载函数的说法中正确的是 ( )
A. 重载函数必须具有不同的返回值类型。
B. 重载函数形参个数必须不同。
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同
我的答案: C
19. (单选题)关于new运算符的下列描述中,( )是错误的。
A. 它可以用来动态创建对象和对象数组。
B. 它创建的对象和对象数组可以使用运算符 delete 删除。
C. 使用它创建对象时要调用构造函数。
D. 使用它创建对象数组时必须指定初始值。
我的答案: C
20. (单选题)关于delete运算符的下列描述中,( )是错误的。
A. 它必须用于new返回的指针。
B. 使用它删除对象时要调用析构函数。
C. 对一个指针可以使用多次该运算符。
D. 指针名前只有一对方括号符号,不管所删除数组的维数。
我的答案: C
二. 填空题(共1题,3.7分)
21. (填空题)C++既可以用来进行面向(填空1)程序设计,又可以进行面向(填空2)程序设计。
我的答案:
(1) 过程
(2) 对象
三. 简答题(共6题,22.3分)
22. (简答题)
阅读下面的程序,直接写出程序运行结果。
#include<iostream >
using namespace std;
int main() {
int a,b,sum; // 定义a,b,sum三个整型变量
a=43; // 把整数常量赋给变量a
b=37;
sum=a+b; // a与b相加的和赋给变量sum
cout<<"The sum is"<<sum;
cout<<endl; // endl 是回车换行的作用
return 0;
}
我的答案:
The sum is80
23. (简答题)
阅读下面的程序,直接写出程序运行结果。
#include<iostream>
using namespace std;
int main()
{
int a;
int &b=a; //变量引用
b=10;
cout<<"a="<<a<<endl;
return 0;
}
我的答案:
a=10
24. (简答题)
我的答案:
a=639 , b=78 ,c=12
25. (简答题)
我的答案:
n=11
n=12
26. (简答题)
我的答案:
int i=17
int ir=17
27. (简答题)
我的答案:
5
所有习题完整版PDFhttps://download.csdn.net/download/lornaleo/75413292