C++复习资料.docx
《C++复习资料.docx》由会员分享,可在线阅读,更多相关《C++复习资料.docx(34页珍藏版)》请在冰豆网上搜索。
C++复习资料
C++复习资料
一、选择题
1、若X是一个bool型变量,则X&&5<3的值( B )
A、为true B、为false
C、与X的值相同 D、与X的值相反
2、设a=6,执行语句a+=4;得到a的值为( D )
A、6 B、12 C、18 D、10
3、字符串”student”占用( D )个字节的空间。
A、7 B、6 C、5 D、8
4、二维数组intb[][4]={{1,2},{1,2,3},{1,2,3,4}}的元素个数为( A )
A、12 B、3 C、4 D、7
5、下列哪个不是用于实现循环结构的语句( B )
A、while B、if C、dowhile D、for
6、下列表达式为真的是( B )
A、5<3 B、2*3>=6
C、(7==9)&&(4>0) D、(10!
=2+8)||(5<3)
7、设x=5,执行语句if(x<0)cout< A、5 B、x C、无输出 D、0
8、执行语句k=30;j=k++;后k和j的值分别为( C )
A、k=30,j=30 B、k=30,j=31 C、k=31,j=30 D、k=31,j=31
9、表达式7%3+5*9-10/2的结果为( D )
A、42 B、43 C、40 D、41
10、执行cout<<520< A、520endl”520” B、520endl520
C、520 D、520
“520” 520
11、下列数据属于字符型的是:
( C )
A、123 B、true C、’c’ D、10.5
12、该for循环语句:
for(i=1;i<11;i++)sum+=i;中循环体的执行次数为 ( C )
A、8 B、9 C、10 D、11
13、对程序段:
if(x>y) z=1;
else z=3;
要得到z=3的结果,满足条件的一组数是( D )
A、x=﹣1,y=﹣2 B、x=1,y=0
C、x=2,y=1 D、x=2,y=3
14.下面是关于构造函数的说法,不正确的是(A)。
A.C++规定,每一个类必须有一个构造函数,没有构造函数就不能创建对象
B.如果没有提供一个类的构造函数(一个都未提供),则C++提供一个默认的构造函数,该默认构造函数是个无参构造函数,它仅仅负责创建对象
C.虽然一个类定义了一个构造函数(不一定是无参构造函数),C++仍然提供默认的构造函数
D.与变量定义类似,在用默认构造函数创建对象时,如果创建的是全局对象或静态对象,则对象的位模式全为0,否则,对象值是随机的
15.在下列说法中,不正确的是(B)。
A.静态成员函数不能利用this指针
B.只有非静态成员才可以使用this关键字,因为静态成员没有this指针
C.析构函数不接受任何参数,也不带有任何类型的返回值
D.虚机制在构造函数和析构函数中仍然可以很好地工作,以实现多态性
16.声明类test的拷贝构造函数的正确形式是(D)。
A.inttestB.voidtestC.test(void)D.test(test&)
17.一个const对象(B)。
A.能访问所有成员函数B.只能访问const成员函数
C.也能访问volatile成员函数D.能访问const和volatile成员函数
18.下面关于类的对象性质的描述,正确的是(D)。
A.对象之间不可以相互赋值B.不可以说明指向对象的指针
C.对象不能用作数组元素D.一个对象能用作另一个对象的成员
19、C++源程序文件的扩展名为( A)
A、.CPP B、.C C、.DLL D、.EXE
20、下面的函数声明中,哪一个是”voidBC(inta,intb);”的重载函数?
( C)
A、int BC(inta,intb) B、voidBC(inta,charb)
C、floatBC(inta,intb,intc=0) D、voidBC(inta,intb=0)
21.如果a=1,b=2,c=3,d=4,则条件表达式“a>b?
a:
cc:
d”的值为( D )
A.3 B.2 C.1 D.4
22.在inta[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是( C )
A.3 B。
2 C。
6 D。
4
23. 已知charc;char*constpc="asdf",( B)是正确的。
A.pc="dfgh"
B.*pc=‘b’
C.*pc++=‘y’
D.pc=&c
24.执行下列语句后的输出结果是(C )。
inthot=100;
int&rad=hot;
hot+=100;
cout< A.0; B。
100;
C.200; D。
300;
25.下列对结构及其变量定义错误的是:
( D)
A.structMyStruct{ B。
structMyStruct{
intnum; intnum;
charch; charch;
}; }my;
MyStruct my;
C. struct{ D。
struct{
intnum; intnum;
charch; charch;
} };
my; struct my;
26.下列关于指针运算的描述错误的是:
(A)
A.在一定条件下,两个指针可以相加
B.在一定条件下,两个指针可以进行关系运算
C.在一定条件下,指针可以为空
D.在一定条件下,两个指针可以相互赋值
27.在C++语言中,对函数参数默认值描述正确的是:
( D)
A.函数参数的默认值只能设定一个
B.一个函数的参数若有多个,则参数默认值的设定可以不连续
C.函数参数必须设定默认值
D.在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值
28.不能作为函数重载判断依据的是:
( D)
A.参数个数 B。
参数类型 C。
函数名字 D。
返回类型
29.以下程序的输出结果是:
( B)
#include
voidprt(int*x,int*y,int*z){
cout<<++*x<<","<<++*y<<","<<*z++< }
inta=10,c=20,b=40;
voidmain(){
prt(&a,&b,&c); prt(&a,&b,&c);
}
A.11,42,31 B。
11,41,20 C。
11,21,40 D。
11,41,21
12,21,41 12,42,20 11,21,41 12,42,22
30.以下程序的输出结果是:
( D)
#include
voidfunc(char**m){
++m;
cout<<*m< }
voidmain(){
staticchar*a[]={"morning","afternoon","evening"};
char**p;
p=a;
func(p);
}
A.字符o的起始地址 B。
字符a的起始地址
C.字符o D。
afernoon
31.以下程序的输出结果是:
( D)
#include
int fun(char*s){
char*p=s;
while(*p!
='\0') p++;
return(p-s);
}
voidmain(){
cout< }
A.0 B。
1 C。
2 D。
3
32.不正确的标识符是( B )
A. _a2 B. 2ai
C. a2_i D. INt
33.在(C)情况下适宜采用inline定义内联函数。
A.函数体含有循环语句 B.函数体含有递归语句
C.函数代码少、频繁调用D.函数代码多、不常调用
34.通过(A)调用虚函数时,采用动态绑定(binding)。
A.对象指针 B.对象名
C.成员名限定 D.派生类名
35.假定一个类的构造函数为A(intaa,intbb){a=aa++;b=a*bb++;},则执行
Ax(4,5);语句后