C++复习题
一、选择题
1. C++语言是从早期的C语言逐渐发展演变而来的。与C语言相比,它在求解问题方法上进行的最大改进是(      B
A.面向过程     B.面向对象     C.安全性     D.复用性
2. C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是 (      )。D
A. 增加了一些新的运算符      B. 允许函数重载,并允许设置缺省参数
C. 规定函数说明符必须用原型  D. 引进了类和对象的概念
3. 对C++语言和C语言的兼容性,描述正确的是(    )。A
  A.C++兼容C      B.C++部分兼容C    C.C++不兼容C      D.C兼容C++
4. C++中,头文件扩展名为(    B
A. .cpp  B. .h    C. .1ib    D. .obj
5. C++源程序文件扩展名为(    ) A
A. .cpp  B. .h  C. .1ib    D. .obj
6. C++源程序文件编译而成的目标代码文件的缺省扩展名为(    。C
A. .cpp    B. .exe  C. .obj  D. .lik
7. 布尔类型标识符是(    D
A.void    B.short   C.long  D.bool
8. 下列不是C++语言的基本数据类型的是(    )。D
A.字符类型    B.整数类型  C.逻辑类型    D.枚举类型
9. 用于标识十六进制前缀或后缀是(    )。 D
A. 后缀L      B.后缀e  C.前缀零    D.前缀0x
10. 设x和y均为bool量,则x&&y为真的条件是    )A
A. 它们均为真    B. 其中一个为真    C. 它们均为假    D. 其中一个为假
11. 在下列成对的表达式中,运算结果类型相同的一对是(      )。 D
A.7/2和7.0/2.0    B.7/2.0和7/2    C.7.0/2和7/2  D.7.0/2.0和7.0/2 
12. 如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为(      )。A
A.1        B.2      C.3        D.4
13.在预编译指令中,宏定义使用哪个指令(      )。B
    A.#include      B.#define  C.#if      D.#else
14. 包含自定义头文件file.h的预处理指令是(    )。 D
A.#define<file.h>  B.#include file.h  C.#define file.h    D.#include"file.h"
15. 可替换#define PI 3.1415926的语句是(    )。B
A.float PI 3.1415926;  B.const float PI=3.1415926;
C.const PI(3.1415926);  D.const 3.1415926; 
16. C++中使用流进行输入输出,其中专用于从键盘进行输入的流是(    ) B
A.cerr  B.cin  C.cout    D.cfile
17.在C++中使用流进行输入输出,其中用于屏幕输出的对象是(  。 )。C
  A.cerr    B.cin  C.cout    D.cfile
18. 下列给字符数组进行的初始化中,正确的是 (    )A
A. char s1[]="abcd";          B.char s2[3]="xyz";
C. char s3[][]={'a','x','y'};  D.char s4[2][3]={"xyz","mnp"};
19. int b[][3]={{1},{3,2},{4,5,6},{0}},a[2][2]的值是(    )C
A. 0        B. 5        C.6        D.2
20.int a=3;int *p=&a;中,*p的值是(      ) 。D
A.变量a的地址值        B.无意义    C.变量p的地址值    D.3
21. 对于int *pa[5];的描述,正确的是 (    )D
A. pa是一个指向数组的指针,所指向的数组是5int型元素
B. pa是一个指向某数组中第5个元素的指针,该元素是int型变量
C. pa[5]表示某个数组中的第5个元素的值
D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针
22. 已知:int a,&ra=a;关于ra的描述中正确的是 (    )C
A. raint型变量a的地址值      B.aint型变量ra的地址值
C. raint型变量a的引用        D. raint型变量a的指针
23. 假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为(    )。D
A. int rx=x;    B. int rx=&x;    C. int *rx=&x;    D. int &rx=x;
24. 设存在整型变量int x,则下列语句中与其它三项含义不同的是(    ) A
A.int* p=&x B.int& p=x    C.int & p=x      D.int &p=x
25. 设函数void swap(int&int&)将交换两形参的值,如两整型变量int a=10int b=15
则执行swap(ab)后,ab值分别为(    ) C
A.1010        B.1015    C.1510      D.1515
26. 设存在函数int min(intint)返回两参数中较小值,若求152647三者中最小值,下列表达式中错误的是(    ) B
A.int m=min(min(1526)min(1547))    B.int m=min(152647)
C.int m=min(15min(4726))              D.int m =min(min(4726)16)
27.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下
列表达式不正确的是(    )。C
  A.int m = max(22,max(59,70)); B.int m = max(max(22,59),70);
  C.int m = max(22,59,70); D.int m = max(59,max(22,70));
28. 以下正确的函数原型语句是(    ) C
A. double fun(int x,int y)        B. double fun(int x;int y)
C. double fun(int,int);          D. double fun(int x,y);
29. 在函数声明中,下面哪项不是必要的(    D
A.函数参数的类型和参数名            B.函数名
C.函数的类型                        D.函数体
30. 使用值传递方式将实参传给形参,下列说法正确的是(      )。A
    A.形参是实参的备份          B.实参是形参的备份
    C.形参和实参是同一对象  D.形参和实参无联系
31. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名为构造函数可以被重载  ) A
A. main    B. MAIN      C. name    D. function
32. 包含哪种语句的函数不能声明为内联函数(    A
A.循环      B.变量自增自减  lse…  D.变量声明
33. 在(    )情况下适宜采用inline定义内联函数C
A.函数体含有循环语句        B.函数体含有递归语句
C.函数代码少、频繁调用        D.函数代码多、不常调用量
34.一个函数功能不太复杂,但要求被频繁调用,选用(    )。 A
A.内联函数        B.重载函数        C.递归函数        D.嵌套函数
35. C++,关于下列设置参数默认值的描述中,正确的是 (    )C
A.不允许设置参数的默认值
B.设置参数默认值只能在定义函数时设置
C.设置参数默认值时,应该是先设置右边的再设置左边的
D.设置参数默认值时,应该全部参数都设置
36. 函数默认参数在函数原型中说明,默认参数必须放在参数序列的(    ) C
A.前部          B.中部          C.后部          D.两端
37. 下列哪种默认参数的声明是不正确的(    C
A. int max(int aint bint cint d=0)
B. int max(int aint bint c=0int d=0)
C. int max(int a=0int bint c=0int d=0) 
D. int max(int aint b=0int c=0int d=0)
38.下列函数不能和函数void print(char)构成重载的是(    ) C
A.int print(int)      B.void print(charchar)
C.int print(char)    D.void print(intint)
39.int Func(int,int);不可与下列哪个函数构成重载(    )。B
  A.int Func(int,int,int);  B.double Func(int,int);
  C.double Func(double,double); D.double Func(int,double);
40. 定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来(    A
A.<>    B.“”    C.()      D.{}
41. 设有函数T Sum(T xT y){return x+y},其中T为模板类型,则下列语句中对该函数错误的使用是(    ) D

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。