C++复习题(2012)及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
A.1 B.2 C.3 D.4
13.在预编译指令中,宏定义使用哪个指令()。B
A.#include B.#define C.#if D.#else
14. 包含自定义头文件file.h的预处理指令是( )。D
A.#define
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是一个指向数组的指针,所指向的数组是5个int型元素
B. pa是一个指向某数组中第5个元素的指针,该元素是int型变量
C. pa[5]表示某个数组中的第5个元素的值
D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针
22. 已知:int a,&ra=a;关于ra的描述中正确的是( )。C
A. ra是int型变量a的地址值
B.a是int型变量ra的地址值
C. ra是int型变量a的引用
D. ra是int型变量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=10;int b=15;
则执行swap(a,b)后,a、b值分别为( ) 。C
A.10,10
B.10,15
C.15,10
D.15,15
26. 设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是( ) 。B
A.int m=min(min(15,26),min(15,47));
B.int m=min(15,26,47);
C.int m=min(15,min(47,26));
D.int m =min(min(47,26),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.变量自增自减
C.if...else…
D.变量声明
33. 在()情况下适宜采用inline定义内联函数。C
A.函数体含有循环语句
B.函数体含有递归语句
C.函数代码少、频繁调用
D.函数代码多、不常调用量
34.一个函数功能不太复杂,但要求被频繁调用,选用()。A
A.内联函数
B.重载函数
C.递归函数
D.嵌套函数
35. 在C++中,关于下列设置参数默认值的描述中,正确的是( )。C
A.不允许设置参数的默认值
B.设置参数默认值只能在定义函数时设置