C++语言程序设计复习题Word格式文档下载.docx
《C++语言程序设计复习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计复习题Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
6.()的功能是对对象进行初始化
A、析构函数B、数据成员
C、构造函数D、静态成员函数
7.下列for语句的循环次数为()。
for(inti=0,x=0;
x&
i<
=5;
i++)
A、5B、6
C、1D、无限
8.X>
Y&
X<
=Y的值为()。
A、trueB、false
C、与X>
Y的值相同D、与X<
=Y的值相同
9.若对函数类型未加显式说明,则该函数的隐含类型是()。
A、voidB、double
C、intD、char
10.有关类和对象的说法,下列不正确的是()。
A、对象是类的一个实例B、任何一个对象只能属于一个具体的类
C、一个类只能有一个对象D、类与对象的关系和数据类型和变量的关系相似
11.()不是构造函数的特征。
A、构造函数的函数名与类名相同B、构造函数可以重载
C、构造函数可以设置默认参数D、构造函数必须指定类型说明
12.()是析构函数的特征。
A、一个类中只能定义一个析构函数B、析构函数与类名不同
C、析构函数的定义只能在类体内D、析构函数可以有一个或多个参数
13.类型修饰符unsigned修饰()类型是错误的。
A、charB、intC、longintD、float
14.下列十六进制的整型常数表示中,()是错误的
A、0xafB、0X1bC、2fxD、0XAE
15.下列运算符中,()的结合性从左到右。
A、三目B、赋值C、比较D、单目
16.预处理命令在程序中都是以()开头的。
A、*B、#C、:
D、/
17.将两个字符串连接成一个字符串时,选用()函数。
A、strlenB、strcpyC、strcatD、strcmp
18.下述静态数据成员的特征中,()是错误的。
A、说明静态数据成员时,前面要加修饰府static
B、静态数据成员要在类体外进行初始化
C、引用静态数据成员时,要在静态数据成员名加类名和作用域运算符
D、静态数据成员不是所有对象所公有的
19.类C是以多重继承的方式从类A和类B继承而来的,类A和类B无公共的基类,那么:
()
A.类C的继承方式只能采用public继承。
B.可改用单继承的方式实现类C的同样功能。
C.类A和类B至少有一个是抽象类。
D.类A和类B至少有一个是虚基类。
20.下列哪种用法不能体现类A和类B之间的组合关系:
()
A.类A中声明数据成员Bb;
B.类A中声明数据成员B*b;
C.类A中声明数据成员constB&
b;
D.类A中声明成员函数Bfunc(B&
obj);
21.执行boolOK=2!
=3;
cout<
<
OK;
后,显示在屏幕上的是()。
C、1D、0
22.若w是一个bool型变量,则w||5的值是()。
C、与w的值相同D、与!
23.已知一正常运行的程序中有这样两个语句:
int*p2=&
x,*p1=d1;
*p2=*d2;
由此可知,变量d1和d2的数据类型分别是()。
A、int和intB、int*和int
C、int*和int*D、int和int*
24.要使指针变量P指向一维数组A的第五个元素(下标为4的那个元素),正确的赋值表达式是()。
A、P=&
A或P=&
A[4]B、P=A+4或A=&
A[4]
C、P=A+4或P=A[4]D、P=&
A+4或P=A[4]
25.()是给对象取一个别名。
A、指针B、引用
C、枚举D、结构
26.sizeof(double)是一个()表达式。
A、整型B、双精度
C、不合法D、函数调用
27.要定义一个int型数组A,并使其各元素具有初值9,0,3,0,0,不正确的定义语句是()。
28.下列while循环的次数是()。
While(inti=0)i――;
A、0B、1
C、5D、无限
29.有关构造函数的说法不正确的是()。
A、构造函数的名字和类的名字一样B、构造函数在声明对象时自动执行
C、构造函数无任何数据类型D、构造函数有且只有一个
30.以下类的说明中,指出有错误的地方()。
classA
{
inta=1;
//A
doubleb;
//B
public:
A();
//C
~A();
//D
}
31.下列各函数中,()不是类的成员函数。
A、构造函数B、析构函数
C、友员函数D、拷贝初始化构造函数
32.下列定义中,()是定义指向数组的指针p。
A、int*p[5]B、int(*p)[5]
C、(int*)p[5]D、int*p[]
33.下列double型常量表示中,()是错误的。
A、E15B、.35C、3E5D、3E-5
34.对字符数组初始化时,()是正确的。
A、chars1[]=“abcd“;
B、chars2[3]=“xyz”;
C、chars3[][3]={“abc”};
D、chars4[2][3]={“xyz”,”mnp”};
35.下述关于break语句的描述中,()是不正确的。
A、break语句可以用在循环体内,它将退出该重循环
B、开关语句中每个语句序列中必须有break语句
C、开关语句中default子句只能放在最后
D、开关语句中case子句后面的表达式可以是整型表达式
36.下面关于条件语句的描述中,()是错误的。
A、if语句中只有一个else子句B、if语句中可以有多个elseif子句
C、if语句中if体不能是开关语句D、if语句的if体可以是循环语句
37.派生类的对象对它的基类中()是可以访问的。
A、公有继承的公有成员B、公有继承的私有成员
C、公有继承的保护成员D、私有继承的公有成员
38.关于虚函数的描述中,()是正确的。
A、虚函数是一个static类型的成员函数
B、虚函数是一个非成员函数
C、基类中说明了虚函数后,派生类中将其对应的函数不必说明为虚函数
D、派生类的虚函数和基类的虚函数具有不同的参数个数和类型
39.类A有一个实例化的常量对象a,那么下面的说法中不正确的是:
A.类A中的非静态数据成员一定都是常量成员。
B.通过a可以直接调用类A的常量成员函数。
C.a不能直接作为左值表达式使用。
D.a可以是静态常量对象。
40.在不考虑强制类型转换的情况下,关于类中常量成员函数的下列说法不正确的是:
()
A.常量成员函数中不能修改本类中的非静态数据成员。
B.常量成员函数中可以调用本类中的任何静态成员函数。
C.常量成员函数的返回值只能是void或常量。
D.若常量成员函数中调用虚函数f,那么函数f在本类中也一定是一个常量成员函数。
41.n>
=0的等价条件是()。
A、n<
0B、!
(n>
=0)
C、!
(n<
0)D、!
0)
42.与if(x>
0)if(y<
0)x+=y;
elsex-=y;
等效的语句有()。
A、if(x>
0||y<
elsex-=y;
B、if(x<
=0||y>
=0)x+=y;
C、if(x>
0)x=(y>
=0?
x-y:
x+y);
D、if(y>
=0)if(x<
=0)x-=y;
elsex+=y;
43.要使语句p=newlong*;
能够正确执行,p应定义为()。
A、long***p;
B、long**p;
C、longp;
D、long*p;
44.有关构造函数的说法中不正确的是()。
A、构造函数的名字和类的名字一样B、构造函数在说明类变量时自动执行
C、构造函数无任何函数类型D、构造函数有且只能有一个
45.以下语句不正确的是()。
(设有intp,q)
A、p*=3B、p/=q
C、p+=3D、p&
=q
46.以下程序段()。
intx=-1;
do{x=x*x;
}while(!
x);
A、是死循环B、循环执行二次
C、循环执行一次D、有语法错误
47.当一个函数无返回值时,函数的类型应定义为()类型。
A、voidB、任意
C、intD、无
48.C++语言中规定,函数的返回值的类型是由()。
A、return语句中的表达式的类型决定B、调用该函数时的主调函数类型决定
C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型决定
49.()的功能是对对象进行初始化。
A、构造函数B、数据成员
C、虚函数D、析构函数
50.如果一个函数无返回值,则只能作为()被调用。
51.下列说明中:
constchar*ptr;
ptr应该是()。
A、指向字符常量的指针B、指向字符的常量指针
C、指向字符串常量的指针D、指向字符串的常量指针
52.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A、缩排位置相同的ifB、在其之前未配对的if
C、在其之前未配对的最近的ifD、同一行上的if
53.inta=3,*p=&
a;
其中p的值是()。
A、变量a的地址值B、无意义
C、变量p的地址值D、3
54.下列运算符中,()可以用于浮点数。
A、++B、%C、>
>
D、&
55.下列的()是引用调用
A、