C++课后习题第二章

第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<

我的答案: 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

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"<

   cout<

   return 0;

}

我的答案:

The sum is80

23. (简答题)

阅读下面的程序,直接写出程序运行结果。

#include

using namespace std;

int main()

{

   int a;

   int &b=a;  //变量引用

   b=10;

   cout<<"a="<

   return 0;

}

我的答案:

a=10

24. (简答题)

C++课后习题第二章_第1张图片

我的答案:

a=639 , b=78 ,c=12

25. (简答题)

C++课后习题第二章_第2张图片

我的答案:

n=11

n=12

26. (简答题)

C++课后习题第二章_第3张图片

我的答案:

int i=17

int ir=17

27. (简答题)

C++课后习题第二章_第4张图片

我的答案:

5

 所有习题完整版PDFhttps://download.csdn.net/download/lornaleo/75413292

你可能感兴趣的:(c++习题,c++,开发语言)