C++开发基础练习题及答案6-2023背题版_第1页
C++开发基础练习题及答案6-2023背题版_第2页
C++开发基础练习题及答案6-2023背题版_第3页
C++开发基础练习题及答案6-2023背题版_第4页
C++开发基础练习题及答案6-2023背题版_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

试题说明

本套试题共包括1套试卷

每题均显示答案和解析

C++开发基础练习题及答案6(500题)

C++开发基础练习题及答案6

1.[单选题]动态库的说法错误的是?

A)IinUX环境动态库后缀为.so

B)IinUX环境动态库后缀为.a

C)WindOWS环境动态库后缀为.DLL

答案:B

解析:

2.[单选题]inta[][3]={{l},{3,2},{4,5,6},{0}};中,a[2][2]的值是

A)l

B)6

02

答案:B

解析:

3.[单选题]C++程序从上机到得到结果的几个操作步骤依次是()。

A)编译、编辑、连接、运行

B)编辑、编译、连接、运行

C)编译、运行、编辑、连接

D)编辑、运行、编辑、连接

答案:B

解析:

4.[单选题]下列不属于C++关键字的是。

A)extern

B)goto

C)free

D)default

答案:C

解析:extern、goto,default是C++关键字。free不是C++关键字。

class="fr-ficfr-dib">

5.[单选题]有如下程序:

#include<iostream>

关键字含义关键字含义关键字含义

auto_____自动extern外部SiZeOf计算字节数

break卬止float浮点StatiC修杰

CaSe_____情况for______对于StrUCt结构

Char_____字符goto_____隹向SYitCh开关

continue继续Int______整typedef类型定义

const常量If如果Union共用

default默认IOng_____长UnSigned无符号

do_______做register寄存器VOid_____

doubleS____return返回VIoIatile可变的

else_____否则Short≤___While_________

enu≡signedI有符号

Usingnamespacestd;

Intmain(){

Intsum;

For(inti=0;i<6;i+=3){

Sum=i;

For(intj=i;j<6;j++)sum+=j;

)

Cout<<sum<<endl;

Return0;

}

运行时的输出结果是()。(题)

A)15

B)3

OlO

D)12

答案:A

解析:

6.[单选题]若有以下程序段,intcl=l,c2=2,c3;c3=L0/c2*cl;则执行后,c3中的值是—

A)0

B)0.5

Ol

D)2

答案:A

解析:

7.[单选题]命题”10

A)((m>10)&&(m<15)∣(m>20))

B)((m>20)U(m<15)∣(m>10))

C)(m>10)I((m<15)fe⅛(m>20))

D)((m>10)I(m<15)∣;(m>20))

答案:A

解析:

8.[单选题]函数默认参数在函数原型中说明,默认参数必须放在参数序列的()

A)前部

B)中部

C)后部

D)两端

答案:C

解析:

9.[单选题]下列为文件的扩展名,能被计算机直接执行的是()

A)cpp

B)obj

C)exe

D)h

答案:C

解析:

10.[单选题]以下选项中属于C++语言的基本数据类型是0

A)复数型

B)几何型

C)双精度型

D)集合型

答案:C

解析:

11.[单选题]在下列选项中,全部都合法的浮点型数据的选项为()。

A)-le3.515.2e-4

B)12.34-le+50.1E-12

C)0.2e-2-12345.e-5

D)5.Oe(1+4)0.18e+2

答案:B

解析:

12.[单选题]下列叙述中错误的是()

A)一个函数中可以有多条return语句

B)调用函数必须在一条独立的语句中完成

C)函数中通过return语句传递函数值

D)主函数名main也可以带有形参

答案:B

解析:

13.[单选题]long[int]的字节数是()。

A)4

B)l

OO

D)8

答案:D

解析:

14.[单选题]关键字UnSigned不能修饰的类型是()。

A)char

B)int

C)float

D)longint

答案:C

解析:

15.[单选题]while(!x)中的(!x)与下面哪个条件等价?()

A)x==l

B)x!=l

Ox==0

D)x!=0

答案:C

解析:

16.[单选题]下列对结构体类型变量StUdl的定义中错误的是—

A)Structstudent{intnum;intage;}studl;

B)struct{intnum;intage;};Structstudl;

C)Structstudent{intnum;intage;);Structstudentstudl;

D)Structstudent{intnum;intage;};Studentstudl;

答案:B

解析:

17.[单选题]下列数据结构中能应用折半查找的是

A)有序线性链表

B)有序顺序表

C)顺序存储的栈

D)顺序存储的队列

答案:B

解析:

18.[单选题]非空的循环单链表head的尾结点P满足

A)p->next==head

B)p->next==NULL

C)P==NULL

D)p==head

答案:A

解析:

19.[单选题]已知以下代码:

classA

(

)

classB:publicA

(

)

Aa;

Bb;

则以下说法正确的是()。

A)赋值方式a=b是允许的

B)赋值方式b=a是允许的

Oa可以访问类B的所有成员

D)a可以访问b的所有PUbIiC成员

答案:A

解析:

20.[单选题]图的数据结构说法正确的是

A)图是一种线性表

B)图是一种树

C)图是比线性表和树更为复杂的数据结构

D)以上说法都不对

答案:C

解析:

21.[单选题]字面常量42、4.2、42L的数据类型分别是()。(题)

A)int、double、long

B)IOng、double,int

C)long,floatsint

D)int,float,long

答案:A

解析:

22.[单选题]假设有宏定义:#defineA3#defineBA+A+A则CoUt<

A)7

B)27

C)19

D)9

答案:C

解析:

23.[单选题]以下关于构造函数和析构函数的说法,错误的是()。

A)析构函数中调用虚函数采用静态联编

B)对虚析构函数的调用可以采用动态联编

C)当基类的析构函数是虚函数时,其派生类的析构函数一定时虚函数

D)构造函数可以声明为虚函数

答案:D

解析:

24.[单选题]HTTP属于网络模型中的那一层

A)应用层

B)传输层

C)网络层

D)数据链路层

答案:A

解析:

25.[单选题]若有定义intx[10]={0,l,2,3,4,5,6,7,8,9},*pl;则数值不为3的表达式是一

A)x[3]

B)PI=X+3,*pl++

C)pl=x+2,*(pl++)

D)pl=x+2,*++pl

答案:C

解析:

26.[单选题]有关析构函数的说法不正确的是()。

A)析构函数有且只有一个

B)析构函数和构造函数一样可以有形参

C)析构函数的功能是用来释放一个对象

D)析构函数无任何函数类型

答案:B

解析:

27.[单选题]假设已经定义好了一个类StUdent,现在定义类derived,它是从StUdent私有派生的

,定义类derived的正确写法()

A)classderived::studentprivate{∙∙∙};

B)classderived::studentpublic{∙∙∙};

C)classderived::privatestudent{∙∙∙}

D)classderived::publicstudent{∙∙∙);

答案:C

解析:

28.[单选题]数组名作为实参时,传递给形参的是o

A)数组的首字节地址

B)数组第一个元素的值

C)数组中所有元素的值

D)数组元素的个数

答案:A

解析:

29.[单选题]下面关于类型转换的描述中,错误的是()。

A)任何形式的构造函数都可以实现数据类型转换。

B)带非默认参数的构造函数可以把基本类型数据转换成类类型对象。

C)类型转换函数可以把类类型对象转换为其他指定类型对象。

D)类型转换函数只能定义为一个类的成员函数,不能定义为类的友员函数。

答案:A

解析:

30.[单选题]设某棵二叉树中有2000个结点,则该二叉树的最小高度为

A)9

B)10

Oll

D)12

答案:C

解析:

31.[单选题]以下不正确的定义语句是()。

A)doublex[5]={2.0,4.0,6.0,8.0,10.0);

B)inty[5]={0,l,3,5,7,9};

Ocharcl[]={z1','2','3','4','5'};

D)charc2[]={z∖xlθ','∖xa,,'∖x8z};

答案:B

解析:

32.[单选题]判断字符变量C的值是否是小写字母的表达式为()。

A)"a'<=c<='z'

B)'a'<c∣∣c<='z'

C)'a'<=c⅛fec<='z'

D),a,<cfe½c<,z

答案:C

解析:

33.[单选题]执行下列语句后,输出的结果是()。

#include<iostream>

Usingnamespacestd;

Intmain()

(

Inta=3,b=5;

Floatc=b∕a;

Cout<<c<<endl;

Return0;

}(题)

A)l

B)1.66666

C)1.0

D)l.7

答案:A

解析:

34.[单选题]在下面的二维数定义正确的是()

A)intary[5][];

B)intary[][5]={{0,1,2));

C)intary□⑸;

D)intary[5,5];

答案:B

解析:定义二维数在什么情况下也不能省略第二维,所以选项A错误。

在没有初始化的情况下省略第一维是非法的,所以选项C错误。选项D格式错误。

选项B省略的第一维的值为1,合法。

35.[单选题]有以下程序段,其输出结果是()

ttinclude<iostream>

usingnamespacestd;

voidmain()

{charb[]='Hello,you';

b[5]=*!';

cout<<b<<endl;

)

A)Hello,you

B)Hello

C)HelIo!you

D)!

答案:C

解析:数组b用来存放'Hello,you'中的每个个字符,下标从0开始。

数组b开始存放的是字符串“Hello,you",原来b[5]=',',执行b[5]='!'后,数组b存放的是字符串

变成uHelloIyouw,所以输出HelIO!you。选C。

36.[单选题]函数fun计算Prod=I*2*3*…*n,并返回计算结果值。但当n=100时,程序不正确。要找

出该程序的错误,正确的调试方法是()。

intfun(intn){

intprod,i;

prod=1;

for(i=1;i<=n;i++)

prod*=i;

returnprod;

A)监视变量Prod的值,在PrOd*=i;行处设置断点,然后单步运行,直到发现错误原因

B)监视变量PrOd的值,在returnPrOd;行处设置断点,程序中断后,即可发现错误原因

C)在PrOd=1;处设置断点,然后在函数调用堆栈中即可发现错误原因

D)监视变量i的值,在for(i=l;i

答案:A

解析:prod的值会溢出!监视该值.

37.[单选题]包含自定义头文件file,h的预处理指令是()

A)#define<file.h>

B)Jtincludefile,h

C)#definefile.h

D)ftinclude"file.h"

答案:D

解析:嵌入指令#include指示编译器将一个源文件嵌入到带有#include指令的源文件中该指令所在的

位置。书写时,可以使用引号,也可以用尖括号。

尖括号引用系统提供的包含文件。

双引号引用自己定义的包含文件。

根据题意,D选项正确。

38.[单选题]数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的

_和运算等的学科

A)结构

B)关系

C)运算

D)算法

答案:B

解析:

39.[单选题]若有以下语句,则正确的描述是()

Chara[]=ntoyou";

Charb[]={,t,0,,'y','0','u/};

A)a数组和b数组的长度相同

B)a数组长度小于b数组长度

Oa数组长度大于b数组长度

D)a数组等价于b数组

答案:C

解析:

40.[单选题]可用作C++语言用户标识符的一组标识符是()。

A)voiddefine+WORD

B)a3_b3_123YN

C)for-abcCase

D)2aDOsizeof

答案:B

解析:

41.[单选题]设intX;,则经过()后,语句*px=0;可将X值置为0。

A)int*PX;

B)intconst*PX=&x;

C)int*constpx=fex;

D)constint*PX=&x;

答案:C

解析:

42.[单选题]在C++中,混合类型表达式()。

A)允许存在

B)为一错误

C)从int到float

D)从float到int

答案:A

解析:

43.[单选题]内部排序算法的稳定性是指

A)该排序算法不允许有相同的关键字记录

B)该排序算法允许有相同的关键字记录

C)平均时间为0(nlogn)的排序方法

D)以上都不对

答案:D

解析:

44.[单选题]下列程序的输出结果是o

A)k=5

B)5

03

D)k=3

答案:D

解析:

45.[单选题]下列变量名中,()是合法的。

A)CHINA

B)byte-size

C)double

D)A+a

答案:A

解析:

46.[单选题]下列程序的输出结果为()intmain(){intm=7,n=4;floata=38.4,b=

6.4,x;x=m/2+n*a∕b+1/2;printf("%f∖n",x);return0;)

A)27.OOOOOO

B)27.500000

C)28.000000

D)28.500000

答案:A

解析:注意整型和整型的除法,等到的仍然是整型,并不会出现浮点型或者double型

47.[单选题]inline内联函数的说法错误的是

A)相当于把内联函数里面的内容写在调用内联函数处

B)相当于不用执行进入函数的步骤,直接执行函数体

C)相当于宏,却比宏多了类型检查,真正具有函数特性

D)没用

答案:D

解析:

48.[单选题]关于动态存储分配,下列说法正确的是()。

A)new和delete是C++语言中专门用于动态内存分配和释放的函数

B)动态分配的内存空间也可以被初始化

C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间

D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new

答案:B

解析:

49.[单选题]在if语句中的表达式是()。

A)只能是表达式

B)只能是关系表达式和逻辑表达式

C)只能是逻辑表达式

D)可以是任意表达式

答案:D

解析:

50.[单选题]以下哪种操作最适合先进行排序处理

A)找最大、最小值

B)计算算术平均值

C)找中间值

D)找出现次数最多的值

答案:C

解析:

51.[单选题]下列错误的十六进制整型常量表示是()。(题)

A)0xlf

B)0xaf

OOxll

D)Oxg

答案:D

解析:

52.[单选题]在下列成对的表达式中,运算符“+”的意义不相同的一对是()

A)5.0+2.0和5.0+2

B)5.0+2.0和5+2.0

C)5.0+2.0和5+2

D)5+2.0和5.0+2

答案:C

解析:

53.[单选题]图的存储复杂表现在

A)图中顶点度一致会浪费很多存储单元

B)任意顶点之间不存在联系

C)图中顶点的度不一样,有的可能相差很大,若按度数最大的顶点设计结构,则会浪费很多存储单

D)以上都不对

答案:C

解析:

54.[单选题]关于对类的描述中,错误的是()

A)类是创建对象的样板

B)类是具有唯一标识符的实体

C)类就是C语言中的结构类型

D)类是具有共同行为的若干对象的统一描述体

答案:C

解析:对象就是一类物体的实例,将一组对象的共同特征抽象出来,从而形成“类”的概念,即类是

创建对象的样板。类要先声明后使用,不管声明的内容是否相同,声明同一个名字的两个类是错误

的,类是具有唯一标识符的实体。类是对一组性质相同对象的程序描述。类是从结构演变而来的

,开始称为“带类的C”。因此C选项错误。

55.[单选题]#defineDOUBLE(x)x+x,i=5*DOUBLE(5);

i是多少?

A)25

B)30

C)50

D)15

答案:B

解析:

56.[单选题]有以下程序

≠include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;

printf("%d,%d,%d,%d∖n",m,n,*p,*q);

}程序运行后的输出结果是()

A)l,2,1,2

B)l,2,2,1

02,1,2,1

D)2,1,1,2

答案:B

解析:

57.[单选题]

类A、B、C的定义如下:

ClassA{public:intm;A(intm=0):m(m){)};

ClassB{public:intm;A(intm=0):m(m){}};

ClassC{public:intm;Aa;Bb;C(intm=0):b(m),a(m),m(m){}};

则在C类的对象生命期结束时,调用各个类的析构函数的次序是:

Λ)A,B,C

B)B,A,C

C)C,A,B

D)C,B,A

答案:D

解析:

58.[单选题]在类外定义成员函数时,::运算符两侧分别连接。

A)返回值类型函数名

B)返回值类型类名

C)函数名类名

D)类名函数名

答案:D

解析:类体外函数定义的前面必须用“类名::”来限定,格式如下:

返回值类型类名::成员函数名(参数列表)

成员函数的函数体

59.[单选题]数据结构中,连续存储设计时,存储单元的地址

A)一定连续

B)一定不连续

C)不一定连续

D)部分连续,部分不连续

答案:A

解析:

60.[单选题]下列选项中,()属于多行注释

A)//

B)/**/

OW

D)∖(续行符)

答案:B

解析:

61.[单选题]若X是二叉中序线索树中一个不为根的有左孩子的结点则X的前驱为

A)X的双亲

B)X的右子树中最左的结点

C)X的左子树中最右结点

D)X的左子树中最右叶结点

答案:C

解析:

62.[单选题]树的度不为0的结点称为

A)根

B)叶子

C)分支结点

D)父结点

答案:c

解析:

63.[单选题]在n个结点的顺序表中,算法的时间复杂度是O(I)的操作是

A)访问第i个结点(l≤i≤n)和求第i个结点的直接前驱(2≤i≤n)

B)在第i个结点之后插入一个新结点(l≤i≤n-l)

C)删除第i个结点(IWiWn)

D)将n个结点从小到大排序

答案:A

解析:

64.[单选题]

[默认继承方式]有类定义如下:

ClassA{};classB{};

ClassC:public

A.B();

则下列说法正确的是:

A)C类公有继承了A类和B类

B)C类公有继承A类,私有继承B类

C)语法错误,一个类不能继承两个类

D)语法错误,继承时必须写明继承方式

答案:B

解析:

65.[单选题]对C++编译器区分重载函数无任何意义的信息是()。

A)参数类型

B)参数个数

C)返回值类型

D)常成员函数关键字COnSt

答案:C

解析:

66.[单选题]在小端序的机器中,如果UniOnX(intx;chary[4];};如果Xa;a.x=

OXII223344;//16进制则:()

A)y[0]=ll

B)y[l]=ll

Oy[2]=11

D)y[3]=ll

答案:D

解析:小端存储,低位存在低地址。0x44是最低位,所以它存放在最低的地址。y[0]取的是低地址的

值,所以y[0]=0x44,y[3]=0xll

67.[单选题]执行下列语句后,X的值是(d),y的值是()。

intX,y;

X=y=1;++XII++y;

A)不确定

B)0

Ol

D)2

答案:C

解析:

68.[单选题]有如下程序:#includeusingnamespacestd;voidconvert(intd){if(d

A)6677889910

B)12344321

067899876

D)6789109876

答案:D

解析:

69.[单选题]对有n个记录的表作快速排序,在最坏情况下,算法的时间复杂度是

A)0(n)

B)0(n^2)

C)0(nlog2n)

D)0(n^3)

答案:B

解析:

70.[单选题]设intX=O,y=l;表达式(Xlly)的值是()

A)0

B)l

02

D)-l

答案:B

解析:

7L[单选题]若对n个元素进行直接插入排序,在进行第i趟排序时,假定元素r[i+l]的插入位置为

r[j],则需要移动元素的次数为

A)j-i

B)i-j-l

C)i-j

D)i-j+l

答案:D

解析:

72.[单选题]下面关于数组的初始化正确的是()。

A)charstr[]={'a∖','b∖",∖"c'}

B)charstr[2]={∖'a∖',∖'b∖",∖'c'}

OcharStr⑵⑶={{∖'a',∖'b'),{'e',∖'d'),{'e','f∖')}

D)charstr[]={∖'a∖',∖"b∖',∖'c,}

答案:A

解析:

73.[单选题]若有定义Char*st="howareyou";下列程序段中正确的是。

A)chara[ll],*p;strcpy(p=a+l,&st[4]);

B)chara[l1];strcpy(++a,st);

C)chara[ll];strcpy(a,st);

D)chara[],*p;strcpy(P=&a[l],st+2);

答案:A

解析:

74.[单选题]对于基类型相同的两个指针变量之间,不合理的运算是o

AX

B)=

C)+

D)-

答案:C

解析:

75.[单选题]结构化程序设计所规定的3种基本控制结构是()。

A)输入、处理、输出

B)树形、网形、环形

C)顺序、选择、循环

D)主程序、子程序、函数

答案:C

解析:

76.[单选题]下列字符列中,可作为C++语言程序自定义标识符是()。

A)switch

B)file

C)break

D)do

答案:B

解析:

77.[单选题]关于类成员函数的重载、覆盖和隐藏,下面说法错误的是()

A)重载函数必须要在同一个类中

B)派生类函数覆盖基类函数,基类函数最好不要有VirtUaI关键字

C)如果派生类的函数与基类的函数名相同,通过派生类的实例也只能调用到派生类的函数。

D)重载函数不必使用VirtUaI关键字修饰

答案:B

解析:

78.[单选题]下列关于虚函数的说明中,正确的是()。

A)从虚基类继承的函数都是虚函数。

B)虚函数不得是静态成员函数。

C)只能通过指针和引用调用虚函数。

D)抽象类中的成员函数都是虚函数。

答案:B

解析:

79.[单选题]下列关于SWitCh语句的描述中,不正确的是O

A)SWiteh语句中的default子句可以没有,也可以有一个

B)SWitCh语句中的每一个CaSe子句中必须有一个break语句

C)SWitCh语句中的default子句可放在SWitCh语句中的任何位置

D)SWitCh语句中的CaSe子句后面的表达式只能是整型、字符或枚举类型常量

答案:B

解析:

80.[单选题]下列说明语句中正确的是()

A)inta,&ra=a,&&ref=ra

B)int⅛refa[10]

C)inta,&ra=a,⅛*refp=fera

D)int*pi,*⅛ref=pi

答案:D

解析:题目考查指针。

C++语言兼容C语言,定义指针方式相同。格式:数据类型符*指针变量名[=初始地址值'初始

地址值”通常是“&变量名”“&数组元素”或“一维数组名”,这里的变量或数组必须是已定义的

O

A:连用两个&,不正确。

B:&是取地址运算符,可删除

C:*refp不是指针变量,错误。

D:int*pi,*½pref=pi,正确。

81.[单选题]以下程序的运行结果是:

ttinclude<iostream>

usingnamespacestd;

classB{

public:

BO{}

B(inti,intj){

x=i;

y=j:

}

voidprintb(){

cout<<x<<","<<y<<endl;

)

private:

intx,y;

};

classA{

public:

AO{}

A(inti,intj);

voidprinta();

private:

Bc;

};

A::A(inti,intj):c(i,j){}

voidA::printa(){c.printb();}

intmain(){

Aa(7,8);

a.printa();

return0;

)

A)8,9

B)7,8

C)5,6

D)9,10

答案:B

解析:

82.[单选题]关于静态数据成员的说法错误的是()。

A)静态数据成员只能说明全局变量

B)静态数据成员在内存中只有1个拷贝

C)静态数据成员可通过类或静态函数访问

D)静态数据成员可通过对象访问

答案:A

解析:

83.[单选题]若数组名作实参而指针变量作形参,函数调用时实参传给形参的是()。

A)数组的长度

B)数组第一个元素的值

C)数组所有元素的值

D)数组第一个元素的地址

答案:D

解析:

84.[单选题]下列关于this指针的叙述中,正确的是()。

A)this指针是一个隐含指针,它隐含于类的成员函数中

B)只有在使用this时,系统才会将对象的地址赋值给this

C)类的友元函数也有this指针

D)this指针表示了成员函数当前操作的数据所属的对象

答案:D

解析:

85.[单选题]有关在结构体的描述中,正确的是o

A)在结构体中可以定义私有成员函数

B)在结构体中不可以定义私有成员函数

C)在结构体中不可以定义私有数据成员

D)在结构体中不可以定义保护数据成员

答案:A

解析:

86.[单选题]在ios中提供控制格式的标志位中,哪个是转换为十六进制形式的标志位?()

A)hex

B)oct

C)dec

D)left

答案:A

解析:

87.[单选题]要求打开文件D:\file.dat,并能够写入数据,正确的语句是()。

A)ifstreaminfile(rtD:∖∖file.dat”,ios::in);

B)ifstreaminfile("D:∖∖file.dat”,ios::out);

C)ofstreamoutfile("D:∖∖file.dat”,ios::in);

D)fstreaminfile(UD:∖∖file.dat”,ios::inios::out);

答案:D

解析:

88.[单选题]有如下程序段:

For(inti=1;i<4;i++)

If(i%2==0)

Continue;

Cout<<i<<n,";

}

其输出的结果为()。(题)

A)l,

B)l,3,

01,3,4,

D)l,3

答案:B

解析:

89.[单选题]下列字符串可以用作C++标识符的是:

A)_123

B)2009var

C)goto

D)test-2009

答案:A

解析:标识符用来表示函数、类型及变量的名称,是字母、下划线和数字的排列。1、必须用字母或

下划线开头。2、只能是字母、下划线、数字的组合,不能出现其他符号。2、大小写的含义是不同

的。3、标识符的名称不能是C语言中的关键字,关键字是具有特定含义的标识符

90.[单选题]假设已经定义好了类StUdent,现在要定义类derived,它是从StUdent私有派生的,

则定义类derived的正确写法是()

A)classderivedstudentprivate{//,,,,.)

B)classderivedstudentpublic{〃,,,,.)

C)classderivedpublicstudent{//,,,,.)

D)classderivedprivatestudent{//,,,,.)

答案:D

解析:

91.[单选题]设intx=2,y=4,z=7;则执行x=y一

A)0,3

B)l,3

C)2,3

D)2,4

答案:B

解析:

92.[单选题]设intn=ll,i=4;,则赋值运算n%=i+l;执行后n的值是()。//的优先级比

"%="的高

A)0

B)3

02

D)l

答案:D

解析:

93.[单选题]一组记录的排序码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为

基准得到的第一次划分结果为OO

A)38,40,46,56,79,84

B)40,38,46,79,56,84

040,38,46,56,79,84

D)40,38,46,84,56,79

答案:C

解析:

94.[单选题]已知:intc[3][4];则对数组元素引用正确的是()。

A)c[l][4]

B)c[l.5][0]

C)c[l+O][0]

D)以上表达都错误

答案:C

解析:

95.[单选题]以下哪个不是容器操作函数()

A)assign

B)swap

C)erase

D)length

答案:D

解析:

96.[单选题]以下程序输出结果是ointmain(){intm=5;if(m++>5)cout<

A)7

B)6

C)5

D)4

答案:B

解析:

97.[单选题]已知如下定义:

enumA{A1,A2,A3,A4}a;

a=Λ2;

intb=(int)a;

则b的值为()。"

A)语法错误

B)l

02

D)不一定

答案:B

解析:

98.[单选题]若已定义的函数有返回值,则有关该函数调用的叙述中错误的是()

A)函数调用可以作为独立的语句存在

B)函数调用可以作为一个函数的形参

C)函数调用可以作为一个函数的实参

D)函数调用可以出现在表达式中

答案:B

解析:

99.[单选题]设有如下定义:

structst

inta;

intb;

}data;

int*p;

则要使P指向data中的成员a的正确赋值语句是()。

A)p=&a;

B)p=data,a

C)p=&data.a

D)p=data.&a

答案:C

解析:

IOO.[单选题]若有语句inta=l,x=l;while(a<10){x++;a++;}则循环体中语句会执行()

A)无限次

B)不确定次

C)IO次

D)9次

答案:D

解析:

IOL[单选题]下面程序输出结果为o

Uincludettincludeusingnamespacestd;intmain(){charst[20]="hello∖0∖t∖∖";cout<

A)520hello

B)1220hello∖0∖t

C)520hello∖t

D)1120hello

答案:A

解析:

102.[单选题]能作为C++程序的基本单位是()。

A)字符

B)语句

C)函数

D)源程序文件

答案:B

解析:

103.[单选题]下列选项中,均是合法的实型常量的是()

A)+le+l5e-9.403e2

B)-0.1012e-4-8e5

C)123e1.2e-.4+2eT

D)-e3.8e-45.e-0

答案:B

解析:

104.[单选题]有如下程序:

Winclude<iostream>

Usingnamespacestd;

Intmain()

(

Cout.fill('*');

Cout.width(6);

Cout.filK'#');

Cout<<123<<endl;

Return0;

)

执行后的输出结果是()。(题)

A)###123

B)123###

C)***123

D)123***

答案:A

解析:

105.[单选题]有以下程序

Intmain()

{chara□={'a','b','c','d','e','f','g','h','∖0'};

inti,j;

i=sizeof(a);

j=strlen(a);

cout«i«"«j«endl;

Return0;

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

A)9,9

B)8,9

01,8

D)9,8

答案:D

解析:

106.[单选题]若有序表的关键字序列为■,酬必6,£,8辛,1',5,。,则在二分查找关键字13的过程中

,先后进行比较的关键字依次是

A)f,C,b

B)f,d,b

C)g,c,d

D)g,d,b

答案:A

解析:

107.[单选题]关于封装,下列说法中不正确的是()。

A)作结合在一起,形成一个整体

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

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

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

答案:D

解析:

108.[单选题]派生类的对象对它的基类成员中()是可以访问的。

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

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

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

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

答案:A

解析:

109.[单选题]有如下两个类定义,在B类的定义中哪些数据成员的定义是非法的

?classΛ{};classB{Aal;Bbl;B*pl;B&b2;intx=0;constinty;public:B(B&b3):y(0),b2(bɜ){}};

A)al和bl

B)bl和X

C)b2和X

D)b2、X和y

答案:B

解析:

110.[单选题]下列有关重载函数的说法中正确的是O

A)重载函数必须具有不同的返回值类型

B)重载函数参数个数必须相同

C)重载函数必须有不同的形参列表

D)重载函数名可以不同

答案:C

解析:

IlL[单选题]运行时的多态性可以通过使用以下哪个要素来实现?()

A)虚函数和指针

B)重载函数和析构函数

C)虚函数和对象

D)虚函数和引用

答案:A

解析:

112.[单选题]下列叙述中,错误的是。

A)"x''是一个字符型常量

B)2.71828是一个double常量

Otrue是一个逻辑型常量

D)IoO是一个int常量

答案:A

解析:

113.[单选题]假定要对类AB定义加号运算符重载成员函数,实现两个AB类对象的加法,并返回相加

结果,则该成员函数的声明语句为()

A)ABoperator+(AB&a,AB&b)

B)ABoperator+(AB&a)

C)operator+(ΛBa)

D)AB&operator+(AB&a)

答案:B

解析:

114.[单选题]当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的()o

A)public成员

B)private成员

C)protected成员

D)友员

答案:A

解析:

115.[单选题]引用的调用方式是

A)形参和实参都是变量

B)形参是引用,实参是变量

C)形参是指针,实参是地址值

D)形参是变量,实参是地址值

答案:B

解析:

116.[单选题]下列变量名正确的是()。

A)la

B)int

0_n_2

D)#a2

答案:C

解析:

117.[单选题]语句int*p;说明了()

A)P是指向一维数组的指针

B)P是指向函数的指针,该函数返回一个int类型的数据

C)P是指向int型数据的指针

D)P是函数名,该函数返回一指向int型数据的指针

答案:C

解析:

118.[单选题]线性结构的说法正确的是

A)研究数据元素一对多的关系

B)比树结构更复杂

C)比图结构更复杂

D)研究数据元素一对一的关系

答案:D

解析:

119.[单选题]设Char*sl,*s2;分别指向两个字符串。判断字符串Sl和s2是否相等的表达式为()

A)sl=s2

B)sl==s2

C)strcpy(s1,s2)==0

D)strcmp(si,s2)==0

答案:D

解析:

120.[单选题]在"inta[][3]={{l},(8,2},{4,5,6},{0}};"中,a[2][2]的值是()。

A)l

B)0

06

D)2

答案:C

解析:

121.[单选题]在下面有关C++语言析构函数特征的描述中,正确的是:

A)一个类中可以定义多个析构函数

B)析构函数名与类名完全相同

C)析构函数不能指定返回类型

D)析构函数可以有一个或多个参数

答案:C

解析:

122.[单选题]下列关于单目运算符++、一的叙述中正确的是o

A)它们的运算对象可以是任何变量和常量

B)它们的运算对象可以是Char型变量和int型变量,但不能是float型变量

C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量

D)它们的运算对象可以是Char型变量、int型变量和float型变量

答案:B

解析:

123.[单选题]假定AB为一个类,则执行ABX;语句时将自动调用该类()

A)有参构造函数

B)无参构造函数

C)拷贝构造函数

D)赋值构造函数

答案:B

解析:

124.[单选题]若有定义:inta=8,b=5,c;执行语句c=a∕b+0.4;后,C的值为()。

A)1.4

B)l

02.0

D)2

答案:B

解析:

125.[单选题]执行语句inta=5,b=10,c;int*pl=&a,*p2=&b;后,下面语句中不正确的是(

)O

A)*p2=b;

B)pl=a;

C)p2=pl;

D)c=*pl*(*p2);

答案:B

解析:

126.[单选题]假定一个类的构造函数为B(intx,inty){a=x—;b=a*y—;},则执行Bx(3.5);语句

后,X.a和x.b的值分别为()

A)3和5

B)5和3

03和15

D)20和5

答案:C

解析:

127.[单选题]在一棵有n个结点的二叉树中,若度为2的结点数为n2,度为1的结点数为nl,度为O的

结点数为nθ,则树的最大高度为

A)nθ+nl+n2

B)nl+n2

C)n2+l

D)l

答案:A

解析:

128.[单选题]下列关于数组概念的描述中,错误的是____。

A)数组中所有元素类型是相同的

B)数组定义后,它的元素个数是可以改变的

C)数组在定义时可以被初始化,也可以不被初始化

D)数组元素的个数与定义时的每维大小有关

答案:B

解析:

129.[单选题]静态成员函数没有O

A)返回值

B)this指针

C)指针参数

D)返回类型

答案:B

解析:

130.[单选题]有如下程序:#include#includeusingnamespacestd;intmain(){cout<

A)setfill(*)

B)fixed

C)setprecision(3)

D)setw(8)

答案:D

解析:

131.[单选题]下面四个选项中,()是用来声明虚函数的。

A)virtual

B)public

C)include

D)using

答案:A

解析:

132.[单选题]已知inta=3;,则执行完表达式a+=a-=a*a后,a的值是。

A)-3

B)9

0-12

D)6

答案:C

解析:

133.[单选题]有如下程序:

IntX=3;

Do(

X-=2;

cout<<X;

}while(!(-x));

执行这个程序的输出结果是()。

A)l

B)30

C)1-2

D)死循环

答案:C

解析:

134.[单选题]C++中,根据()识别类层次中不同类定义的虚函数版本。

A)参数个数

B)参数类型

C)函数名

D)this指针类型

答案:D

解析:

135.[单选题]有以下程序段

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

b=p[5];

b中的值是()。

A)5

B)6

08

D)9

答案:B

解析:

136.[单选题]设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用什么最节省时间

A)单链表

B)单循环链表

C)带尾指针的单循环链表

D)带头结点的双循环链表

答案:D

解析:

137.[单选题]有如下类定义:ClassSample{private:Staticintx;};x=8;将类的静态成员

X初始化为8,下划线处应填写的内容是o

A)int

B)Staticint

C)intSample::

D)StaticintSample::

答案:C

解析:

138.[单选题]下面对数组的初始化,不合法的是()。

A)inta[2]□={{l},{2,3,4}};

B)inta[4]={l,2,3};

C)chars[]={'∖013','∖O',"∖n',"∖O");

D)chars[]="abcde";

答案:A

解析:

139.[单选题]已知inta=5,b=6,c=7,d=8,m=2,n=2;,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为

A)0

B)l

02

D)3

答案:C

解析:

140.[单选题]执行下列语句后,Z的值是()。intx,y,z;x=y=l;z=++x∣∣++y;

A)不确定

B)0

Oi

D)2

答案:C

解析:

141.[单选题]在C++语言的数据类型中,int,ShOrt等类型的长度是()。

A)固定的

B)任意的

C)用户自定义的

D)与机器字长有关的

答案:D

解析:

142.[单选题]在下列对字符数组进行初始化中是错误的。

A)charsi口="abed";

B)chars2[3]="xyz";

C)char*p="hello";

D)chars3L2∏4]={"xyz","mnp");

答案:B

解析:

143.[单选题]若X是一个bool型变量,y是一个值为-5的int型变量,则表达式!x&&y

A)为true

B)为false

C)与X的值相同

D)与X的值相反

答案:D

解析:

144.[单选题]具有5个顶点的无向完全图有几条边

A)6

B)8

OlO

D)20

答案:C

解析:

145.[单选题]不能作为函数重载判断的依据的是()

A)参数顺序

B)返回类型

C)参数个数

D)参数类型

答案:B

解析:

146.[单选题]下列对构造函数和析构函数的描述中,正确的是()。

A)析构函数不可以重载

B)构造函数不能定义为内联函数

C)构造函数中不能设置参数的缺省值

D)析构函数名与类名不同

答案:A

解析:

147.[单选题]一台机器对200个单词进行排序花了200秒(使用冒泡排序),那么花费800秒,大概可以

对多少个单词进行排序

A)400

B)500

0600

D)700

答案:A

解析:

148.[单选题]this指针存在的目的是O

A)保证基类私有成员在子类中可以被访问

B)保证基类保护成员在子类中可以被访问

C)保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码

D)保证基类公有成员在子类中可以被访问

答案:C

解析:

149.[单选题]C++语言中,函数返回值的类型是由()决定。

A)主调函数的类型

B)retum语句中表达式的类型

C)由系统临时指定

D)定义该函数时所指定的函数类型

答案:D

解析:

150.[单选题]有关运算符重载正确的描述是:

A)C++语言允许中重载运算符时改变运算符的操作数个数

B)C++语言运行在重载运算符时改变运算符的优先级

C)C++语言运行在重载运算符时改变运算符的结合性

D)C++语言运行在重载运算符时改变运算符原来的功能

答案:D

解析:

151.[单选题]对n*n的二维线性表进行查找运算,所需的算法时间复杂度为

A)0(n*n)

B)0(nlog2n)

C)0(Iog2n)

D)0(n)

答案:A

解析:

152.[单选题]下列默认参数的声明不正确的是O

A)intmax(inta,intb,intc,intd=0);

B)intmax(inta,intb,intc=0,intd=0);

C)intmax(inta=0,intb,intc=0,intd=0);

D)intmax(inta,intb=0,intc=0,intd=0);

答案:C

解析:C++语言规定,提供默认值时必须按从右至左的顺序提供,即有默认值的形参必须在形参列表

的最后。如果有某个形参没有默认值,则它左侧的所有形参都不能有默认值。故C错误,默认值应该

连续出现再形参列表的最后。

调用函数时,主调函数的实参与被调函数的形参按从左至右的顺序进行匹配对应。即在调用时只能

缺省后面的连续若干个实参。

153.[单选题]下列关于派生类和基类的描述中,正确的是

A)派生类成员函数只能直接访问基类的公有成员

B)派生类成员函数只能直接访问基类的公有和保护成员

C)派生类成员函数可以直接访问基类的所有成员

D)派生类对基类的默认继承方式是公有继承

答案:B

解析:

154.[单选题]通过下面哪种方式存储待排序元素,可以更容易实现快速排序

A)顺序存储

B)链式存储

C)堆

D)栈

答案:A

解析:

155.[单选题]以下选项中,不合法的字符常量是()。

A)'∖n'

B)Λxf,

C)Λ0,

D)”\045”

答案:D

解析:

156.[单选题]已知inti=0,x=l,y=O;在下列选项使i的值变成1的语句是()。

A)if(x&&y)i++;

B)if(x==y)i++;

C)if(x∣Iy)i++;

D)if(!x)i++;

答案:C

解析:

157.[单选题]一个学生类的定义如下,请参照注释完成填空。

Uincludettincludeusingnamespacestd;classstudent{charname[20];〃姓名intscore;〃成绩

public:student(char*name=0,intscore=0){_(1)〃初始化姓名_(2)//初始化成绩

});intmain(){studentstud("Jane",90);return。;}下述选项中填写错误的是。

A)(I)处填写StrCPy(this->name,name)

B)(2)处填写this->score=score;

C)(I)处填写StUdent::name=name;

D)(2)处填写StUdent::score=score;

答案:C

解析:

158.[单选题]设inta=3,b=4,c=5;表达式(a+b)>c&&b==C的值是。

A)2

B)-l

OO

D)l

答案:C

解析:

159.[单选题]执行下列语句段后,输出字符Il*11的个数是()。for(inti=5O;I>1;-i

)COUt

A)48

B)49

C)50

D)51

答案:B

解析:

160.[单选题]假定指针变量P定义为"int*p=newint(100);",要释放P所指向的动态内存,应使用

语句()

A)deletep;

B)delete*p;

C)delete&p;

D)delete[]p;

答案:B

解析:如果是使用new运算符动态分配了一个数组,那么释放该数组时,语句如下:

delete口指针;

故本题选D。

161.[单选题]在C++中继承方式有几中()

A)l

B)2

03

D)4

答案:C

解析:

162.[单选题]inta=0;intb=a++;b的值是多少?

A)0

B)l

02

D)4

答案:A

解析:

163.[单选题]下列有关函数定义和调用的叙述中,错误的是。

A)一个函数必须定义后才能使用

B)在一个函数体内可以定义另一个函数

C)用户定义的函数可以被一个和多个函数调用任意多次

D)一般要求在函数调用时,实参的个数和类型必须与形参的个数和类型一致

答案:B

解析:

164.[单选题]已知有Char*p=newchar[20];,则释放P所指向的动态存储空间应使用的语句是

A)deletep;

B)delete*q;

C)delete&q;

D)delete[]p;

答案:D

解析:

165.[单选题]若用数组名作为调用函数的实参,则传递给形参的是()。

A)数组存贮首地址

B)数组的第一个元素值

C)数组中全部元素的值

D)数组元素的个数

答案:A

解析:

166.[单选题]intm=10;在下列定义引用的语句中,正确的是()。

A)int&x=m;

B)inty=&m;

C)int&z;

D)int&t=&m;

答案:A

解析:

167.[单选题]关于C++的特点下列说法不正确的是()。(题)

A)C++是一种低级语言

B)C++是以C语言为基础逐渐发展演变而成的

OC++是一种面向对象的程序设计语言

D)C++语言是全兼容C语言

答案:A

解析:

168.[单选题]若有以下定义和语句,则对S数组的元素的正确引用形式是()。

ints[4][5],(*ps)[5];

PS=s;

A)ps+1

B)*(ps+3)

C)ps[O][2]

D)*(ps+l)+3

答案:C

解析:

169.[单选题]

[多层继承时派生类构造函数的执行]有下列类定义:

ClassA{A(){cout<<"A";}};

ClassB:publicA{B(){cout<<"B";}};

ClassCzpublicB{C(){cout<<"C";}};

主函数中的代码是:

Ccl;

则输出是:

A)C

B)BC

OABC

D)CBA

答案:C

解析:

170[单选题]函数调用func((expl,exp2),exp3,(exp4,exp5))中所含实参的个数为

A)l

B)2

03

D)5

答案:C

解析:

171.[单选题]执行下列程序语句后,屏幕输出为()。

ttinclude<iostream)

Usingnamespacestd;

Intn=5;

Intmain()

intn=3;

n++;

n++;

cout<<n<<endl;

returnO;

}

A)3

B)4

C)5

D)6

答案:B

解析:

172.[单选题]运行这个程序段的输出是o

A)1234

B)1233

C)1122

D)1223

答案:C

解析:

173.[单选题]下列对引用的陈述中不正确的是()。

A)每一个引用都是其所引用对象的别名,因此必须初始化

B)形式上针对引用的操作实际上作用于它所引用的对象

C)一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行

D)不需要单独为引用分配存储空间

答案:C

解析:

174.[单选题]在C程序的源文件中如果需要使用函数StrCPy,需要在该文件开头引入

哪个头文件()

A)iostream,h

B)string,h

C)math.h

D)不需要任何头文件

答案:B

解析:

175.[单选题]树的度为0的结点称为

A)叶子

B)分支结点

C)根

D)父结点

答案:A

解析:

176.[单选题]已知定义int*p[3],则以下说法正确的是()。

A)定义了1个int类型的指针变量,该变量具有3个指针

B)定义了1个指针数组,该数组有3个元素,每个元素都是int类型的指针变量

C)定义了1个名为*p的int类型数组,该数组含有3个int类型的变量

D)定义了1个指向一维数组的指针变量p,该一维数组有3个int类型的元素

答案:B

解析:

177.[单选题]讨论树、和二叉树的关系,目的是为了

A)借助二叉树上的运算方法去实现对树的一些运算

B)将树按二叉树的存储方式进行存储

C)将树转换成二叉树

D)体现一种技巧,没有什么实际意义

答案:A

解析:

178.[单选题]类模板的使用实际上是将类模板实例化为1个具体的()。

A)类

B)对象

C)函数

D)模板类

答案:B

解析:

179.[单选题]已知a=4,b=6,c=8,d=9,则(a++,b>a++&&c>d)?++d:a

A)9

B)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论