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. xy均为bool量,则x&&y为真的条件是(  A  )
A. 它们均为真    B. 其中一个为真    C. 它们均为假    D. 其中一个为假
11. 在下列成对的表达式中,运算结果类型相同的一对是(    D  )
A.727.02.0    B.72.072    C.7.0272  D.7.02.07.0
12. 如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为 A )
A1        B2      C3        D4
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. 在( C    )情况下适宜采用inline定义内联函数。
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小时内删除。