C++考试题库及答案精简文档格式.docx

上传人:b****2 文档编号:4816317 上传时间:2023-05-04 格式:DOCX 页数:80 大小:42.12KB
下载 相关 举报
C++考试题库及答案精简文档格式.docx_第1页
第1页 / 共80页
C++考试题库及答案精简文档格式.docx_第2页
第2页 / 共80页
C++考试题库及答案精简文档格式.docx_第3页
第3页 / 共80页
C++考试题库及答案精简文档格式.docx_第4页
第4页 / 共80页
C++考试题库及答案精简文档格式.docx_第5页
第5页 / 共80页
C++考试题库及答案精简文档格式.docx_第6页
第6页 / 共80页
C++考试题库及答案精简文档格式.docx_第7页
第7页 / 共80页
C++考试题库及答案精简文档格式.docx_第8页
第8页 / 共80页
C++考试题库及答案精简文档格式.docx_第9页
第9页 / 共80页
C++考试题库及答案精简文档格式.docx_第10页
第10页 / 共80页
C++考试题库及答案精简文档格式.docx_第11页
第11页 / 共80页
C++考试题库及答案精简文档格式.docx_第12页
第12页 / 共80页
C++考试题库及答案精简文档格式.docx_第13页
第13页 / 共80页
C++考试题库及答案精简文档格式.docx_第14页
第14页 / 共80页
C++考试题库及答案精简文档格式.docx_第15页
第15页 / 共80页
C++考试题库及答案精简文档格式.docx_第16页
第16页 / 共80页
C++考试题库及答案精简文档格式.docx_第17页
第17页 / 共80页
C++考试题库及答案精简文档格式.docx_第18页
第18页 / 共80页
C++考试题库及答案精简文档格式.docx_第19页
第19页 / 共80页
C++考试题库及答案精简文档格式.docx_第20页
第20页 / 共80页
亲,该文档总共80页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++考试题库及答案精简文档格式.docx

《C++考试题库及答案精简文档格式.docx》由会员分享,可在线阅读,更多相关《C++考试题库及答案精简文档格式.docx(80页珍藏版)》请在冰点文库上搜索。

C++考试题库及答案精简文档格式.docx

14.下面有关友员函数的描述中,真确的说法是(A)

A.友员函数是独立于当前类的外部函数

B.一个友员函数不可以同时定义为两个类的友员函数

C.友员函数必须在类的外部进行定义

D.在类的外部定义友员函数时必须加上friend关键字

15.友员的作用之一是(A)

A.提高程序的运行效率B.加强类的封装

C.实现数据的隐蔽性D.增加成员函数的种类

16.使用派生类的主要原因是(A)

A.提高代码的可重用性B.提高程序的运行效率

C.加强类的封装性D.实现数据的隐藏

17.在C++中继承方式有几中(C)

A.1B.2C.3D.4

18.假设已经定义好了类student,现在要定义类derived,它是从student私有派生的,则定义类derived的正确写法是(D)

A.classderived:

studentprivate{//………….}

B.classderived:

studentpublic{//………….}

C.classderived:

publicstudent{//………….}

D.classderived:

privatestudent{//………….}

19.派生类的对象对它的基类成员中(C)是可以访问的。

A.公有继承的公有成员;

B.公有继承的私有成员;

C.公有继承的保护成员;

D.私有继承的公有成员。

20.类中定义的成员默认为(A)访问属性。

A.publicB.privateC.protectedD.friend

21.下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用(A)合适。

A.内联函数;

B.重载函数;

C.递归调用;

D.嵌套调用。

22.C++对C语言作了很多改进,下列描述中(D)使得C语言发生了质变,从面向过程变成了面向对象。

A.增加了一些新的运算符;

B.允许函数重载,并允许设置缺省参数;

C.规定函数说明必须用原型;

D.引进了类和对象的概念;

23.按照标识符的要求,(A)符号不能组成标识符。

A.连接符B.下划线C.大小写字母D.数字字符

24.下列变量名中,(A)是合法的。

ACHINABbyte-sizeCdoubleDA+a

25.下列各种函数中,(C)不是类的成员函数。

A构造函数B析构函数C友元函数D拷贝构造函数

26.下列(A)是正确的语句。

A;

Ba=17Cx+yDcout<

<

"

\n"

27.不能作为函数重载判断的依据的是(B)

A.返回类型B.constC.参数个数D.参数类型

28.通常,拷贝构造函数的参数是(C)

A.某个对象名B.某个对象的成员名

C.某个对象的引用名D.某个对象的指针名

29.下面对静态数据成员的描述中,正确的是(C)

A类的不同对象有不同的静态数据成员值

B类的每个对象都有自己的静态数据成员

C静态数据成员是类的所有对象共享的数据

D静态数据成员不能通过类的对象调用

30.假定AB为一个类,则执行ABx;

语句时将自动调用该类的(B)

A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数

31.C++程序从上机到得到结果的几个操作步骤依次是(B)。

A.编译、编辑、连接、运行B.编辑、编译、连接、运行

C.编译、运行、编辑、连接D.编辑、运行、编辑、连接

32.假定一条定义语句为“inta[10],x,*p=a;

”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为(A)。

A.x=p[3];

B.x=*(a+3);

C.x=a[3];

D.x=*p+3;

33.关于封装,下列说法中不正确的是(D)。

A.通过封装,对象的全部属性和操作结合在一起,形成一个整体

B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)

C.通过封装,每个对象都成为相对独立的实体

D.通过封装,对象的属性都是不可见的

34.预处理命令在程序中都是以(B)符号开头的。

A.*B.#C.&

D.@

35.存储以下数据,占用存储字节最少的是(B)。

36.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用(D)符号作为分隔符。

A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车

37.假定变量m定义为“intm=7;

”,则定义变量p的正确语句为(B)。

A.intp=&

m;

B.int*p=&

C.int&

p=*m;

D.int*p=m;

38.下面的哪个保留字不能作为函数的返回类型?

C。

A.voidB.intC.newD.long

39.采用重载函数的目的是(B)。

A.实现共享B.减少空间C.提高速度D.使用方便,提高可读性

40.假定AB为一个类,则(C)为该类的拷贝构造函数的原型说明。

A.AB(ABx);

B.AB(intx);

C.AB(AB&

x);

D.voidAB(AB&

41、C++对C语言作了很多改进,下列描述中(D )使得C语言发生了质变,从面向过程变成了面向对象。

A、增加了一些新的运算符;

B、允许函数重载,并允许设置缺省参数;

C、规定函数说明必须用原型;

D、引进了类和对象的概念;

42、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是(A)。

A.类B.对象C.函数体D.数据块

43、关于new运算符的下列描述中,(C )是错误的。

A、它可以用来动态创建对象和对象数组;

B、使用它创建的对象或对象数组可以使用运算符delete删除;

C、使用它创建对象时要调用构造函数;

D、使用它创建对象数组时必须指定初始值;

44、(D )不是构造函数的特征。

A、构造函数的函数名与类名相同;

 B、构造函数可以重载;

C、构造函数可以设置缺省参数;

 D、构造函数必须指定类型说明。

45、假定一个类的构造函数为B(intx,inty){a=x--;

b=a*y--;

},则执行Bx(3,5);

语句后,x.a和x.b的值分别为(C)

A、3和5B、5和3C、3和15D、20和5

46、关于成员函数特征的下列描述中,( A)是错误的。

A、成员函数一定是内联函数;

B、成员函数可以重载;

C、成员函数可以设置缺省参数值;

 D、成员函数可以是静态的;

47、在公有继承的情况下,基类成员在派生类中的访问权限(B )。

A、受限制B、保持不变C、受保护D、不受保护

48、友元的作用是( A)。

A、提高程序的运用效率;

 B、加强类的封装性;

C、实现数据的隐藏性;

 D、增加成员函数的种类;

49、在C++中,关于下列设置缺省参数值的描述中,(B )是正确的。

A、不允许设置缺省参数值;

B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;

C、只能在函数的定义性声明中指定参数的缺省值;

D、设置缺省参数值时,必须全部都设置;

50、关于delete运算符的下列描述中,( C)是错误的。

A、它必须用于new返回的指针;

B、使用它删除对象时要调用析构函数;

C、对一个指针可以使用多次该运算符;

D、指针名前只有一对方括号符号,不管所删除数组的维数。

51、constint*p说明不能修改( C)。

A、p指针;

 B、p指针指向的变量;

C、p指针指向的数据类型;

D、上述A、B、C三者;

52、当需要打开A盘上的以xxk.dat文件用于输入时,则定义文件流对象的语句为(B)。

A、fstreamfin(“A:

xxk.dat”,1)B、ifstreamfin(“A:

xxk.dat”,ios:

:

nocreate)

C、ofstreamfin(“A:

xxk.dat”)D、ifstreamfin(“A:

app)

53、派生类的对象对它的基类成员中(A )是可以访问的。

A、公有继承的公有成员;

 B、公有继承的私有成员;

C、公有继承的保护成员;

D、私有继承的公有成员;

54、假定一个字符串的长度为n,则定义存储该字符串的字符数组的长度至少为(C)。

A、n-1B、nC、n+1D、n+2

55、在inta=3;

*p=&

a;

中,*p的值是( D)。

A、变量a的地址值B、无意义C、变量p的地址值D、3

56、下列常量中,(D)不是字符常量。

A、’\005’B、’\n’C、’c’D、“a”

57、在inta=3,*p=&

A)变量a的地址值B)无意义C)变量p的地址值D)3

58、以下4个选项中,不能看作一条语句的是(B)。

A)if(b==0)m=1;

n=2;

B)a=0,b=0,c=0;

C)if(a>

0);

D){;

}

59、(D )不是构造函数的特征。

A)构造函数的函数名与类名相同 B)构造函数可以重载

C)构造函数可以设置缺省参数 D)构造函数必须指定类型说明

60、以下程序段中与语句k=a>

b?

1:

0;

功能等价的是(D)。

A)if(a>

b)k=1;

B)if(a>

b)k=0

C)if(a>

D)if(a<

b)k=0;

elsek=0;

elsek=1;

61、下列常量中,(D)不是字符常量。

A)’\005’B)’\n’C)’c’D)"

a"

62、表示“x大于1而小于10”的逻辑表达式是(B)。

A)1<

x<

10B)x>

1&

&

10C)!

(x<

=1||x>

=10)D)x>

1||x<

10

63、关于成员函数特征的下列描述中,( A)是错误的。

A)成员函数一定是内联函数 B)成员函数可以重载

C)成员函数可以设置缺省参数值 D)成员函数可以是静态的

64、有以下程序

#include<

iostream.h>

voidmain()

{inti,s=0;

for(i=1;

i<

10;

i+=2)s+=i;

cout<

s;

程序执行后的输出结果是(C)。

A)自然数1~9的累加和B)自然数1~10的累加和

C)自然数1~9中的奇数之和D)自然数1~10中的偶数之和

65、设有定义:

intn=0,*p=&

n,**q=&

p;

则以下选项中,正确的赋值语句是(D)。

A)p=1;

B)*q=2;

C)q=p;

D)*p=5;

66、(A)能正确输出结果:

C++。

A)chars[]="

C++"

;

s<

endl;

B)chars[3]="

C)chars[3]={'

C'

'

+'

\0'

};

D)chars[3]={'

67、有以下程序段

inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a,b;

b=p[5];

b中的值是(B)。

A)5B)6C)8D)9

68、有以下程序

{char*p[10]={"

abc"

"

aabdfg"

dcdbe"

abbd"

cd"

p[3]<

执行后输出结果是B

A)dcdbeB)abbdC)abcD)abb

69、下列静态数据成员的特性中,(C )是错误的。

A)说明静态数据成员时前边要加修饰符static

B)静态数据成员要在类体外进行初始化

C)静态数据成员不是所有对象所共用的

D)引用静态数据成员时,要在其名称前加<

类名>

和作用域运算符

70、有以下语句

structS

{intg;

charh;

}T;

则下面叙述中不正确的是(C)。

A)S是结构体名B)该结构体包含2个成员

C)S是struct类型的变量D)T是structS类型的变量

71、派生类的对象对它的基类成员中( A)是可以访问的。

A)公有继承的公有成员

B)公有继承的私有成员

C)公有继承的保护成员

D)私有继承的公有成员

72、实现运行时的多态性用。

D

A、重载函数B、构造函数C、析构函数D、虚函数

73.下列变量名中,(A)是合法的。

A.CHINAB.byte-sizeC.doubleD.A+a

74.在intb[][3]={{1},{3,2},{4,5,6},{0}};

b[2][2]的值是(D)。

A.0B.2C.5D.6

75.下列各运算符中,(B)优先级最高。

A.+(双目)B.*(单目)C.<

=D.*=

76.下列for循环的次数为(B)。

for(inti(0),x=0;

!

x&

=5;

i++)

A.5B.6C.1D.无限

77.下述关于break语句的描述中,(C)是正确的。

A.break语句可用于循环体内,它将退出该重循环。

B.break语句可用于开关语句中,它将退出开关语句。

C.break语句可用于if体内,它将退出if语句。

D.break语句在一个循环体内可以出现多次。

78.在一个被调用函数中,关于return语句使用的描述,(D)是错误的。

A.被调用函数中可以不用return语句。

B.被调用函数中可以使用多个return语句。

C.被调用函数中,如果有返回值,就一定要有return语句。

D.被调用函数中,一个return语句可返回多个值给调用函数。

79.在C++中,关于下列设置参数默认的描述中,(C)是正确的。

A.不允许设置参数的默认值。

B.设置参数默认值只能在定义函数时设置。

C.设置参数默认值时,应该是先设置右边的再设置左边的。

D.设置参数默认值时,应该全部参数都设置。

80.下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用(A)合适。

A.内联函数B.重载函数C.递归调用D.嵌套调用

81.下列的各类函数中,(C)不是类的成员函数。

A.构造函数B.析构函数C.友元函数D.拷贝初始化构造函数

82.(D)不是构造函数的特征

A.构造函数的函数名与类名相同B.构造函数可以重载

C.构造函数可以设置缺省参数D.构造函数必须指定类型说明

83.f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用(C)是正确的。

A.p=f1B.p=A:

f1C.p=A:

f1()D.p=f1()

84.下列定义中,(A)是定义指向数组的指针p。

A.int*p[5]B.int(*p)[5]C.(int*)p[5]D.int*p[]

85.循环while(inti=0)i--;

执行次数是(A)。

A.0B.1C.5D.无限

86.设intx;

,则经过(C)后,语句*px=0;

可将x值置为0。

A.int*px;

B.intconst*px=&

x;

C.int*constpx=&

D.constint*px=&

87.设voidf1(int*m,long&

n);

inta;

longb;

则以下调用合法的是(B)。

A.f1(a,b);

B.f1(&

a,b);

C.f1(a,&

b);

D.f1(&

a,&

b)

88.关于对象概念的描述中,(A)是错误的。

A.对象就是C语言中的结构变量;

B.对象代表着正在创建的系统中的一个实体;

C.对象是一个状态和操作(或方法)的封装体;

D.对象之间的信息传递是通过消息进行的;

89.在下列double型常量表示中,(A)是错误的。

A.E15;

B..35;

C.3E5;

D.3E-5

90.下列给字符数组进行初始化中,(A)是正确的。

A.chars1[]="

12345abcd"

B.chars2[3]="

xyz"

C.chars3[][3]={‘a’,’x’,’y’};

D.chars4[2[3]={"

mnp"

91.对于int*pa[5];

的描述,(D)是正确的。

A.pa是一个指向数组的指针,所指向的数组是5个int型元素;

B.pa是一个指向某个数组中第5个元素的指针,该元素是int型变量;

C.pa[5]表示某个数组的第5个元素的值;

D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针;

92.下列各运算符中,(A)优先级最低。

A.?

B.|C.||D.!

=

93.下列for循环的循环体执行次数为(D)。

for(inti(0),j(10);

i=j=4;

i++,j--)

A.0;

B.1;

C.4;

D.无限;

94.下述关于开关语句的描述中,(A)是正确的。

A.开关语句中default子句可以没有,也可以有一个;

B.开关语句中每个语句序列中必须有break语句;

C.开关语句中default子句只能放在最后;

D.开关语句中case子句后面的表达式可以是整形表达式。

95.下列存储类标识符中,(C)的可见性与存在性不一值。

A.外部类;

B.自动类;

C.内部静态类;

D.寄存器类。

96.下述静态数据成员的特征中,(D)是错误的。

A.说明静态数据成员时前边要加修饰符static;

B.静态数据成员要在类体外进行初始化;

C.引用静态数据成员时,要在静态数据成员名前加<

和作用域运算符;

D.静态数据成员不是所有对象所共用的。

97.(A)是析构函数的特征。

A.一个类中只能定义一个析构函数;

B.析构函数与类名不同;

C.析构函数的定义只能在类体内;

D.析构函数可以有各个或多个参数。

98.已知:

p是一个指向类A数据成员m的指针,A1是类A的一个对象。

如果要给m赋值为5,(C)是正确的。

A.A1.p=5;

B.A1->

p=5;

C.A.*p=5;

D.*A1.p=5;

99.关于new运算符的下列描述中,(D)是错的。

A.它可以用来动态创建对象和对象数组;

B.使用它创建的对象或对象数组可以使用运算符delete删除;

C.使用它创建对象时要调用构造函数;

D.使用它创建对象数组时必须指定初始值。

100.派生类的构造函数的成员初始化列中,不能包含(C)。

A.基类的构造函数;

B.派生类中子对象的初始化;

C.基类的子对象初始化;

D.派生类中一般数据成员的初始化

101.派生类的对象对它的基类成员中(A)是可以访问的。

A.公有继承的公有成员;

B.公有继承的私有成员;

C.公有继承的保护成员;

D.私有继承的公有成员。

102.C++类体系中,不能被派生类继承的有(A)。

A.构造函数B.虚函数C.静态成员函数D.赋值操作函数

103.下面标识符中正确的是(A)。

A._abcB.3abC.intD.+ab

104.下列哪项(D)不是面向对象程序设计的主要特征?

a.封装b.继承c.多态d.结构

105.若有以下定义,则说法错误的是(D)。

inta=100,*p=&

a;

A.声明变量p,其中*表示p是一个指针变量

B.变量p经初始化

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2