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

下载本文档

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

文档简介

试题说明

本套试题共包括1套试卷

答案和解析在每套试卷后

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

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

L[单选题]1inux系统中列出进程信息使用哪个指令?

A)find

B)grep

C)ps

2.[单选题]千兆网卡的理论读写速度是?

A)100M/S

B)125M/S

C)1000M/S

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

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

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

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

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

4.[单选题]已知递归函数f的定义如下:则函数调用语句f(6)的返回值是「o

intf(intn){if(n<=l)returnl;elsereturnn*f(n-2);}

A)24

B)6

C)12

D)48

5.[单选题]假定一个类的构造函数为"A(intaa=l,intbb=0){a=aa;b=bb;}”,则执行"A

x(4);”语句后,x.a和x∙b的值分别为()。

A)I和0

B)I和4

04和1

口)4和0

6.[单选题]以下代码的输出结果是()。

inta=10%3;

printf(""%d∖n"",a);"

A)3

B)l

C)3.3

D)0.3

7.[单选题]下列for语句的循环次数为()。for(inti=0,x=0;!x&&i<=5;i++);(题)

A)6

B)0

C)5

D)无穷次

8.[单选题]采用函数重载的目的在于

A)实现共享

B)节约空间

C)提高速度

D)使用方便,提高可靠性

9.[单选题]()是析构函数的特征。

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

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

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

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

10.[单选题]下列变量命名中,非法的是()

A)Λ**LONG

B)MyCar

C)my_car

D)a48

IL[单选题]一个友元函数能够访问该类的()。

A)私有成员

B)保护成员

C)公有成员

D)所有成员

12.[单选题]在C++语言中,main函数默认返回一个()类型的值

ʌ)int

B)float

C)char

D)void

13.[单选题]最大容量为n的循环队列,队尾指针是rear,队头是front,则队满的条件是()

A)(rear+l)MODn==front

B)rear==front

C)rear+l==front

D)(rear-1)MODn==front

14.[单选题]在C++中把不返回任何类型的函数应该说明为()

A)int

B)float

C)char

D)void

15.[单选题]已知inta[][3]={{0,1},{2,3,4},{5,6},{7}};则a⑵⑴的值

是()。

A)0

B)2

06

D)7

16.[单选题]对基类和派生类的关系描述中,()是错的。

A)派生类是基类的具体化

B)派生类是基类的子集

C)派生类是基类定义的延续

D)派生类是基类的组合

17.[单选题]已知大写字母A的ASCn码是65,小写字母a的ASCn码是97,则用八进制表示的字符常量

'∖101'是

o(题)

A)A

B)a

Oe

D)E

18.[单选题]由3个结点可以构造出多少种不同的二叉树

A)2

B)3

04

D)5

19.[单选题]下列对派生类的描述中错误的说法是:()。

A)派生类至少有一个基类

B)派生类可作为另一个派生类的基类

C)派生类除了包含它直接定义的成员外,还包含其基类的成员

D)派生类所继承的基类成员的访问权限保持不变.

20.[单选题]如果在一个函数中的复合语句中定义了一个变量,则下列有关该变量的说法正确的是

A)该变量在本程序范围内均有效

B)该变量从定义处开始一直到本程序结束有效

C)该变量在该函数中有效

D)该变量只在该复合语句中有效

21.[单选题]已知二叉树的后序遍历是dabec,中序遍历是debac,则其前序遍历是

A)acbed

B)decab

C)deabc

D)cedba

22.[单选题]用于标识十六进制前缀或后缀是()

A)无

B)后缀L或e

C)前缀零

D)前缀OX

23.[单选题]下列选项中,全部都是C++关键字的选项为()。

A)whileIFStatic

B)breakchargo

C)sizeofcaseextern

D)switchfloatinteger

24.[单选题]关于对象的性质,下列描述错误的是()

A)同一类对象间可相互赋值

B)可以使用对象数组

C)对象不可以用作函数参数

D)一个对象可以用作另一个类的成员

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

ttinclude<iostream>

Usingnamespacestd;

Classshapes

Protected:

intx,y;

Public:

voidsetvalue(int

D,intw=0){x=d;y=w;}

virtualvoiddisp()=0;

):

Classsquare:publicshapes{

Public:

voiddisp(){cout<<x*y<<endl;)

);

Intmain()

(

shapes*p;

squaresi;

p=&sl;

p->setvalue(10,5);

p->disp();

return0;

ABoperator+(AB&A,AB&b)

)

执行上面的程序将输出()

A)50

B)0

C)5

D)10

26.[单选题]以下正确的说法是()。

A)用户若需要调用标准库函数,调用前必须先定义

B)用户可以直接调用标准库函数

C)用户可以定义和标准库函数同名的函数,但调用是调用的是系统库函数

D)用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用库函数

27.[单选题]有如下程序段:intmain(){;while(getchar()!='∖n'):}以下叙述中正确的是(

A)此WhiIe语句将无限循环

B)getchar()不可以出现在WhiIe语句的条件表达式中

C)当执行此While语句时,只有按回车键程序才能继续执行

D)当执行此WhiIe语句时,按任意键程序就能继续执行

28.[单选题]如果X是整型变量,则合法的形式是()。

A)ft(x+5)

B)*x

C)&*X

D)*&x

29.[单选题]先序遍历序列与中序遍历序列相同的二叉树为

A)根结点无左子树的二叉树

B)根结点无右子树的二叉树

C)只有根结点的二叉树或非叶子结点只有左子树的二叉树

D)只有根结点的二叉树或非叶子结点只有右子树的二叉树

30.[单选题]任何一棵二叉树的叶子结点在前序、中序和后序遍历序列中的相对次序。

A)不发生改变

B)发生改变

C)不能确定

D)以上都不对

31.[单选题]定义重载函数时,下列要求错误的是o

A)要求参数个数不同

B)要求函数的返回值不同

C)要求参数中至少有一个类型不同

D)要求参数个数相同时,参数类型不同

32.[单选题]关于权的定义下面正确的是

A)权与图的弧无关

B)权可以表示从一个顶点到另一个顶点的距离或耗费

C)权与图的边无关

D)以上都不对

33.[单选题]下面程序的输出结果是()#includeusingnamespacestd;voidfun(intx,int

y,intz){z=x*x+y*y;}intmain(){intz=68;fun(5,2,z);cout

A)0

B)29

C)68

D)无定值

34.[单选题]对类中声明的变量,用new运算符创建一维数组的正确形式是()

A)int*p=newaL10];

B)float*p=newfloat[10];

C)int*p=newfloat[10];

D)int*p=newint[5]={1,2,3,4,5,6};

w

35.[单选题]已知a=4,b=6,c=8,d=9,则“(a++,b>a++&&c>d)?++d:a<b的值为()o

A)9

B)6

C)8

D)0

36.[单选题]下列二维数组a的定义错误的是o

A)inta[3][4]={1};

B)inta[4]□={1,2,3,4,5,6,7,8);

Ointa[3]C]={{l,2},{3,4},{5}};

D)inta[][4]={1,2,3,4,5,6,7,8);

37.[单选题]二叉查找树的查找在()时其查找效率最低

A)结点太多

B)完全二叉树

C)呈单枝树

D)结点太复杂

38.[单选题]一个函数无返回值时,应选择的说明符是()

A)static

B)extern

C)void

D)无说明符

39.[单选题]所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实

体也就是0。

A)类

B)对象

C)函数体

D)数据块

40.[单选题]以下叙述不正确的是()

A)在不同的函数中可以使用同名的变量

B)函数中的形式参数是局部变量

C)在函数内定义的变量只在本函数范围内有效

D)在函数内复合语句中定义的变量也可在本函数范围内有效

41.[单选题]能正确表示逻辑关系:"OWaWlO”的C++语言表达式是。

A)a<=10anda>=0

B)0<=a<=10

C)a〈=10&&a〉=0

D)a<=10∣∣a>=0

42.[单选题]下面那个不属于编译器

A)gcc

B)msvc

C)clang

D)vscode

43.[单选题]下列选项中能作为C++用户标识符为()。

A)a+b

B)double

OMain

D)if

44.[单选题]关于跳转语句,下列说法正确的是()。

A)break语句只用于循环体中

B)ContinUe语句只用于循环体中

C)break是无条件跳转语句,ContinUe不是

D)break和COntinUe的跳转范围不够确定,容易产生问题

45.[单选题]在下列关键字中,用以说明类中公有成员的是()。

A)public

B)private

C)protected

D)friend

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

A)内联函数就是定义在另一个函数体内部的函数

B)函数体的最后一条语句必须是return语句

C)标准c++要求在调用一个函数之前,必须先声明其原型

D)编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式

47.[单选题]关于继承中的二义性,以下说法中错误的是()。

A)所谓的二义性,就是指基类与派生类中存在同名成员

B)出现二义性的原因是在多重继承情况下,没有显式调用的情况下,系统不知道应该调用哪个基

类的成员

C)基类的对象不能直接访问派生类中的成员

D)派生类的对象可以访问基类的成员

48.[单选题]C++对C语言作了很多改进,下列描述中()使得C语言发生了质变,从面向过程变成

了面向对象。

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

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

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

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

49.[单选题]constint*p说明不能修改()。

A)p指针;

B)p指针指向的变量;

Op指针指向的数据类型;

D)上述A,B,C者;

50.[单选题]在数据结构中,使用的静态链表中指针表示的是

A)内存地址

B)数组下标

C)下一元素地址

D)左、右孩子地址

51.[单选题]纯虚函数的说法错误的是

A)纯虚函数只是一个接口,是个函数的声明

B)纯虚函数必须在子类去实现

C)带纯虚函数的类也被叫可以被实例化

D)带纯虚函数的类也被叫做抽象类

52.[单选题]实现两个相同类型数加法的函数模板的声明是()

A)add(Tx,Ty)

B)Tadd(x,y)

OTadd(Tx,y)

D)Tadd(Tx,Ty)

53.[单选题]类不是内存中的物理实体,只有当使用类产生对象时,才进行内存分配,这种对象建立

的过程称为O

A)程序化

B)结构化

C)过程化

D)实例化

54.[单选题]关于以下代码:

classCGame

constinti=1;

public:

intf()const

{i=3;}

):

说法正确的是()。"

A)该代码编译无法通过

B)该代码编译正常通过,变量i的值为3

C)该代码编译正常通过,变量i的值为1

D)该代码编译正常通过,如果调用函数f则i的值变为3,否则为1

55.[单选题]要实现动态联编,必须通过()调用虚函数?

A)对象指针

B)成员名限定

C)对象名

D)派生类名

56.[单选题]已知inta[10]=[0,1,2,3,4,5,6,7,8,9},*p=a;则不.能.表示数

组a中元素的式子是()。

A)*a

B)*p

C)a

D)a[p-a]

57.[单选题]假设一个栈的入栈序列是1到n,其输出序列为PI到pn,若pl=n,则Pi为

A)i

B)n-i

C)n-i+l

D)不确定

58.[单选题]下列对二维数组a的正确定义是()。

A)inta["A']['B'];

B)floata[3,4];

C)doublea[l][];

D)floata(3)(4);

59.[单选题]下面选项中等价的是o

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

B)inta[2][3]={0,1}与inta[2][3]={{0},{1}};

0512[2][3]={1,0,2,2,4,5}与仙12[2]口={1,0,2,2,4,5};

D)inta口[3]={l,0,2,2,4,5}∕inta[2][3]={l,0,2,2,4,5};

60.[单选题]快速排序在最坏情况下的时间复杂度是

A)0(n^21og2n)

B)0(n^2)

C)0(nlog2n)

D)0(log2n)

61.[单选题]已知字符“a”的ASCn码值为97,字符“A"ASCn码值为65,有以下程序:

Winclude<iostream>

Usingnamespacestd;

Intmain()

intx,y;charcl,c2;

cin»x>>y;

cl=χ-20;c2=y+10;

cout<<cl<<","<<c2«endl;

return0;

程序运行时输入118,57(回车),则输出结果是()。

A)A,A

B)B,C

C)A,A

D)C,C

62.[单选题]以下关于友元的说法错误的是()。

A)友元具有单方向性

B)友元不能继承

C)友元不能传递

D)若类A是类B的友元,则类B也是类A的友元

63.[单选题]假设已经有定义"constchar*constname="chen";a,下面的语句中正确的是:

A)name[3]='a';

B)name="lin";

C)name=newcharLδ];

D)cout<<name[3];

64.[单选题]若有以下程序intmain(){inty=10;While(y—);cout<<"y="<

A)y=0

B)y=-l

C)y=l

D)WhiIe构成无限循环

65.[单选题]设X和y均为bool量,则x&&y为真的条件是()。

A)它们均为真

B)其中一个为真

C)它们均为假

D)其中一个为假

66.[单选题]对于下面代码,描述正确的是templateclassA{public:enumE{N=A::E::N*

M};};templateclassA{public:enumE{N=1};};intmain(){intaLA::N];return0;}

A)编译错误,定义数组时下标必须为常量

B)能正确编译,数组a大小为24

C)能正确编译,数组a大小为4

D)能正确编译,数组a大小为10

67.[单选题]下列说法中错误的是()。

A)静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值

B)若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽

C)静态全局变量可以被其他的编辑单位所引用

D)所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出

其所在的函数体(或复合语句)时消失

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

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

{

if(i%2==0)

coutinue;

cout<<i<<",";

)

其输出的结果为()o

A)l,

B)l,3,4,

01.3

D)l,3,

69.[单选题]数据结构中,在一个具有n个结点的有序单链表中插入一个新结点,并使插入后仍然有

序,则该操作的时间复杂性量级为

A)0(1)

B)0(n)

C)0(nlog2n)

D)0(n2)

70.[单选题]面向对象程序设计范型的主要特征是:

A)程序=数据结构+算法

B)程序=过程+调用

C)程序=对象+消息

D)程序=数据+运算

71.[单选题]下面关于类和对象说法不正确是。

A)类由数据与函数组成

B)一个对象必属于某个类对象是类的实例

C)对象是类的实例

D)一个类的对象只有一个

72.[单选题]有如下程序:运行这个程序的输出结果是o

A)MYX

B)MYMY

OMXY

D)MXYY

73.[单选题]设有定义:inti=2,j=3;则表达式i/j的结果为()。

A)0

B)0.7

00.6667

D)0.666667

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

A)long,doubleint

B)Iong、floatsint

C)int、double,long

D)int、float>long

75.[单选题]设x,y和Z是int型变量,且x=3,y=4,z=5,则下面表达式中值为O的是()。

A)'x,&&iy,

B)x<=y

C)x∣(y+z)&&(y-z)

D)!((x<y)U!z∣1)

76.[单选题]系统在处理完一个异常后,下一步是()。

A)返回抛出异常的地方,执行下一句

B)执行当前异常处理语句的CatCh语句块的下一句

C)转到主函数结束的地方

D)异常退出

77.[单选题]以下哪个C++容器不能用迭代器遍历

A)set

B)map

C)queue

D)vector

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

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

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

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

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

79.[单选题]C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()

A)增加了一些新的运算符

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

C)规定函数说明符必须用原型

D)引进了类和对象的概念

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

A)类

B)对象

C)函数

D)变量

81.[单选题]下列关于new运算符的描述中错误的是:

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

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

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

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

82.[单选题]假定AB为一个类,则执行“ABa(2),b[3],*p[4];”语句时共调用该类构造函数的次

数为()。

Λ)3

B)4

05

D)9

83.[单选题]用顺序存储的方法,将完全二叉树中所有结点按层逐个从左到右的顺序存放在一维数组

R[1..N]中,若结点R[i]有右孩子,则其右孩子是

A)R[2i-l]

B)R[2i+l]

C)R[2i]

D)R[2∕i]

84.[单选题]若有定义语句:inta=3,b=2,c=l;则以下赋值语句错误的是()。

A)a=4+b=3;

B)a=b=c+1;

C)a=(b=4)+c;

D)a=l+(b=c=4);

85.[单选题]递归函数最终会结束,那么这个函数一定

A)使用局部变量

B)有一个分支不调用自身

C)使用了全局变量或者使用了一个或者多个参数

D)没有虚幻调用

86.[单选题]类声明的内容用花括号括起来,在花括号后跟哪个符号表示类声明结束。

A):

B);

0,

D)

87.[单选题]关于树的说法,以下说法错误的是

A)树形结构的特点是一个结点可以有多个直接前趋

B)线性结构中的一个结点至多只有一个直接后继

C)树形结构可以表达(组织)更复杂的数据

D)树(及一切树形结构)是一种"分支层次"结构

88.[单选题]C++语言中友元的作用之一是:

A)提高程序的运行效率

B)加强类的封装性

C)实现数据的隐藏性

D)增加成员函数的种类

89.[单选题]下列有关函数重载的叙述中,错误的是()。

A)函数重载就是用相同的函数名定义多个函数

B)重载函数的参数列表必须不同

C)重载函数的返回值类型必须不同

D)重载函数的参数可以带有默认值

90.[单选题]设n是描述问题规模的非负整数,下面程序片段的时间复杂度是()。x=2;while(x

A)0(log2n)

B)O(n)

C)0(nlog2n)

D)0(n2)

91.[单选题]下列函数中,不能重载运算符的函数是()。

A)成员函数

B)构造函数

C)普通函数

D)友员函数

92.[单选题]在32位机器上,代码段的执行结果为()charX=65;floaty=7.3;inta=

100;doubleb=4.5;printf("%d,%d,%d,%d∖n",sizeof(x),sizeof(y),sizeof(a),sizeof(b));

A)2,2,2,4

B)l,2,4,4

C)l,4,4,8

D)2,4,4,8

93.[单选题]下列说法正确的是_

A)结构体变量不能像int型变量一样作函数的参数

B)结构体变量不能像int型变量一样作函数的返回值

C)结构体变量通常不能像int型变量一样作为整体进行输入输出

D)相同结构体类型的变量之间不能直接进行赋值

94.[单选题]下列关于动态联编的描述中,错误的是()。

A)动态联编是以虚函数为基础

B)动态联编是运行时确定所调用的函数代码的

C)动态联编调用函数操作是指向对象的指针或对象引用

D)动态联编是在编译时确定操作函数的

95.[单选题]下列关于函数默认参数值的叙述中,正确的是()。

I)函数参教的默认值可以是表达式

H)只能在函数声明时设置函数参数的默认值

HD设置函数参数默认值时,应该从右至左依次设置

A)仅I、III

B)仅I

C)仅I、II

D)仅HI

96.[单选题]对于线,性表的叙述中,错误的是哪一个

A)线性表采用顺序存储,必须占用一片连续的存储单元。

B)线性表采用顺序存储,便于进行插入和删除操作。

C)线性表采用链接存储,不必占用一片连续的存储单元。

D)线性表采用链接存储,便于插入和删除操作。

97.[单选题]下列常量中,()不是字符常量。

A),∖005,

B),\n,

O,c,

D)“a”

98.[单选题]一棵完全二叉树上有IOOl个结点,其中叶子结点的个数是

A)250

B)500

0254

D)501

99.[单选题]如果在C++程序中使用了库函数中的字符串函数,则应在源程序文件中使用的文件包含命

令是()。

A)#include<iostream>

B)ttinclude<cmath>

C)#include<stdlib.h>

D)Winclude<string>

100.[单选题]如果一个函数没有返回值,那该函数的类型是()。

A)任意

B)void

C)int

D)无

IOL[单选题]以下正确的函数原型为()。

A)fl(intx;inty);

B)voidfl(x,y);

C)voidfl(intx,y);

D)voidfl(int,int);

102.[单选题]内联函数的特点是()

A)减少代码量,加快访问速度

B)减少代码量,减缓访问速度

C)增加代码量,减缓访问速度

D)增加代码量,加快访问速度

103.[单选题]以下说法中不正确的是()

A)C++程序中必须有一个主函数main(),而且是从main()的第一条语句开始执行

B)非主函数都是在执行主函数时,通过函数调用或嵌套调用而得以执行的

C)主函数可以在任何地方出现

D)主函数必须出现在固定位置

104.[单选题]在私有继承的情况下,基类成员在派生类中的访问权限O

A)受限制

B)保持不变

C)受保护

D)不受保护

105.[单选题]设变量111,11,2,13,(:,(1均为0,执行(m=a==b)&&(n=c!=d)后,m,n的值是

A)0,0

B)0,l

01.0

D)l,l

106.[单选题]一个二叉树有N个度为2的节点,求叶节点的数目为多少

A)N-1

B)N

C)N+1

D)N+2

107.[单选题]预处理命令在程序中都是以()符号开头的。

A)*

B)#

O&

D)@

108.[单选题]作用域运算符“::”的功能是O

A)标识作用域的级别的

B)指出作用域的范围的

C)给定作用域的大小的

D)标识成员是属于哪个类的

109.[单选题]关于C++主函数特性,下列叙述正确的是。

A)主函数在同一个C++文件中可以有两个

B)主函数类型必须是VOid类型

C)主函数一定有返回值

D)每个C++程序都必须有一个main。函数

110.[单选题]下列选项中错误的定义语句是()。

A)chara□={'t',','y',','u',''0'};

B)chara[]={"toyou∖0"};

C)chara[]="toyou∖0";

D)chara[]=ztoyou∖0,;

111.[单选题]函数重载是指()。

A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同

C)两个以上的函数名字不同,但形参的个数或类型相同

D)两个以上的函数取相同的函数名,并且函数的返回类型相同

112.[单选题]若有定义int*p=newint(0),则下列说法正确的是()

A)系统用指针变量P来表示所指整型变量

B)声明一个指针变量p,指向名为new的存储单元

C)系统为指针变量P分配一个整型数据的存储空间

D)通过运算符new,分配一个整型数据的存储空间,并将其内存地址赋予指针变量

113.[单选题]类中成员默认的访问权限是0

A)私有的

B)公有的

C)保护的

D)私有的或保护的

114.[单选题]有如下代码:structAl{virtual^Al(){}};structA2{virtual^A2(){}};struct

Bl:Al,A2{};intmain(){Bld;Al*pbl=&d;A2*pb2=dynamic_cast(pbl);//LlA2*

pb22=static_cast(pbl);/∕L2return0;}说法正确的是()

A)LI语句编译失败,L2语句编译通过

B)LI语句编译通过,L2语句编译失败

C)L1,L2都编译失败

D)L1,L2都编译通过

115.[单选题]一个类的静态数据成员所表示属性()。

A)是类的或对象的属性

B)只是对象的属性

C)只是类的属性

D)类和友元的属性

116.[单选题]已知有数组定义Chara[3][4];下列表达式中错误的是()。

A)a[2]="WIN"

B)strcpy(a[2],"WIN")

C)aL2][3]='w'

D)a[0][l]=a[0][l]

117.[单选题]树的结点拥有的子树数称为

A)根

B)父树

C)父结点

D)度

118.[单选题]下列关于纯虚函数的描述中,正确的是()。

A)纯虚函数是一种特殊的虚函数,它是个空函数

B)具有纯虚函数的类称为虚基类

C)一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数

D)具有纯虚函数的类不能创建类对象

119.[单选题]下面的哪个保留字不能作为函数的返回类()

A)void

B)int

C)new

D)long

120.[单选题]必须用一对大括号括起来的程序段是()

A)SWitCh语句中的CaSe标号语句

B)if语句的分支

C)循环语句的循环体

D)函数的函数体

121.[单选题]下列说法中错误的是()。(题)

A)源程序不能被计算机系统执行

B)汇编语言和高级语言编写的程序都是源程序

C)解释程序的作用是验证程序运行结果是否与预期相符

D)汇编程序、编译程序、解释程序都是用来翻译源程序的

122.[单选题]定义以下的类

:classA{inta;public:A(intx=0){a=x;}};classB:publicA{intb;public:B(intx=0,inty=0):A(y){b

=x;}};下列语句中,存在语法错误的是o

A)Λ*pa=newB(l,2);

B)Aal=B(1,3);

C)Λb2(2,3);B&a2=b2;

D)Bb3(10);Aa3(b3);

123.[单选题]已知:inta=3;则执行a+=a-=a*a;后,变量a的值为()。

A)3

B)0

09

D)-12

124.[单选题]下列有关C++流的叙述中,错误的是()。(题)

A)C++操作符SetW设置的输出宽度永久有效

B)C++操作符endl可以实现输出的回车换行

C)处理文件1\0时,要包含头文件fstream

D)进行输入操作时,eof()函数用于检测是否到达文件尾

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

ttincludeusingnamespacestd;intd=l;voidfun(intp){intd=5;d+=p++;cout<

A)84

B)96

C)94

D)85

126.[单选题]双精度浮点型的字节数是()。

A)4

B)l

OO

D)8

127.[单选题]对n个不同的排序码进行冒泡排序,在下列哪种情况下比较的次数最多。

A)从小到大排列好的

B)从大到小排列好的

C)元素无序

D)元素基本有序

128.[单选题]下面有关重载函数的说法中正确的是()。

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

B)重载函数形参个数必须不同。

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

D)重载函数名可以不同。

129.[单选题]下面程序的输出结果是()#includeusingnamespacestd;f(inta){intb=0;

staticintc=3;b++;c++;return(a+b+c);}intmain(){inta=2,i;for(i=0;i

Λ)789

B)777

C)71013

D)7911

130.[单选题]()是给变量取一个别名,它引入了变量的同意词。

A)指针

B)引用

C)枚举

D)结构

131.[单选题]如果进栈序列为el,e2,e3,e4,则不可能的出栈序列是:

A)Θ2,Θ4,θɜ,©1

B)e4,e3,e2,el

C)el,e2,e3,e4

D)e3,el,e4,e2

132.[单选题]不能实现函数之间数据传递的是()

A)全局变量

B)局部变量

C)函数接口

D)函数返回值

133.[单选题]内部静态变量的作用域是()。

A)定义该静态变量的函数外部

B)定义该静态变量的函数内部

C)定义该静态变量的文件外部

D)定义该静态变量的文件内部

134.[单选题]下列浮点型常量不符合C++语言语法的是()。

A)-3.14

B)123f

C)2.3E5

D)1E2.5

135.[单选题]下列关于类的权限的描述错误的是()

A)类本身的成员函数只能访问自身的私有成员

B)类的对象只能访问该类的公有成员

C)普通函数不能直接访问类的公有成员,必须通过对象访问

D)一个类可以将另一个类的对象作为成员

136.[单选题]下列for循环的次数为()o

for(inti(0),x=0;!x&&i<=5;i++)

A)5

B)6

Ol

D)无限

137.[单选题]关于跳转语句,下列说法正确的是()。

A)break语句只用于循环体中

B)ContinUe语句只用于循环体中

C)break是无条件跳转语句,COntinUe不是

D)break和COntinUe的跳转范围不够确定,容易产生问题

138.[单选题]函数定义为VOidfUn(int&i),变量定义intn=Io0,则下面调用该函数正确的是

A)fun(20)

B)fun(20+n)

C)fun(n)

D)fun(&n)

139.[单选题]数据结构中,树结构是

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

B)每个元素对下层只能是多个元素相联系

C)对上层可以有多个元素相关

D)数据元素间有明显的层次关系

140.[单选题]在公有派生的情况下,派生类中定义的成员函数只能访问原基类的()。

A)公有成员和私有成员

B)私有成员和保护成员

C)公有成员和保护成员

D)私有成员、保护成员和公有成员

14L[单选题]下列数据中,属于字符串常量的是()

A)“a”

B){ABC}

C)'abc∖0'

D)'a,

142.[单选题]下面语句,循环执行的次数为()。

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

For(intj=0;j<=i;j++)

Cout<<'*';(题)

A)10

B)13

C)14

D)16

143.[单选题]以下选项中可作为C++语言合法整数的是()。

A)IOlOll

B)0286

C)Oxffa

D)x2ba

144.[单选题]已知inti=0,x=0;下面WhiIe语句执行时循环次数为()。

while(!x&&i<3){x++;i++;}

A)4

B)3

C)2

D)l

145.[单选题]对于友元描述正确的是()

A)友元是本类的成员函数

B)友元不是本类的成员函数

C)友元不是函数

D)友元不能访问本类私有成员

146.[单选题]定义了指向常量的指针P的选项是()

A)constint*p;

B)int*p;

C)int*constp=&x;

D)constint*constp=&x;

147.[单选题]已知:shorta=l;则表达式SiZeOf(a+'a')的值为()o

A)l

B)2

04

D)8

148.[单选题]已知在一程序中已定义函数doubleMak(intm,doublen);则下列函数中不可在同一

程序中重载的是O

A)doubleMak(intn);

B)doubleMak(intm,intn);

C)intMak(intm,doublen);

I))doubleMak(doublem,intn);

149.[单选题]设栈ST用顺序存储结构表示,则栈ST为空的条件是

A)ST.top-ST.base<>O

B)ST.top-ST.base二。

C)ST.top-ST.base<>n

D)ST.top-ST.base=-n

150.[单选题]在一个有参函数的原型声明中可有可无的语法成分是()。

A)形参类型

B)形参变量

C)函数名

D)函数返回类型

151.[单选题]C++语言中,默认的类中成员的访问权限为()。

A)public

B)private

C)protected

D)default

152.[单选题]下面语句,循环执行的次数为()。

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

for(intj=0;j<=i;j÷+)

COUt<<;

A)16

B)10

C)13

D)14

153.[单选题]带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,

这样将对虚基类的子对象初始化()。

A)与虚基类的派生类个数有关

B)多次

C)两次

D)一次

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

A)***123***456

B)***123456***

C)***123456

D)123456

155.[单选题]以下程序的输出结果是()SdefineM(X,y,z)x*y+zvoidmain(){inta=l,b=2,

c=3;cout

A)19

B)17

C)15

D)12

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

A)公有继承的公有成员

B)公有继承的私有成员

C)公有继承的保护成员

D)私有继承的公有成员

157.[单选题]假设OneCIaSS为一个类,则该类的拷贝初始化构造函数的声明语句为()。

A)OneClass(OneClassp);

B)0neClass⅛(OneClassp);

C)OneClass(OneClass&p);

D)OneClass(OneClass*p);

158.[单选题]在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是()

A)cerr

B)cin

C)cout

D)cfile

159.[单选题]设有IOO个元素,用二分法查找时,最大比较次数是。

A)25

B)7

OlO

D)l

160.[单选题]若二维数组有n列,则在a[i][j]之前的元素个数为()。

A)j*n+i

B)i*n+j

C)i*n+j-l

D)i*n+j+l

161.[单选题]在语句"cout<<'A';"中,cout是()。(题)

A)对象名

B)类名

C)函数名

D)C++的关键字

162.[单选题]已知有声明inta[20],x=10;,下列对a的元素正确引用的是

A)a[χ]

B)a[2*x]

C)a(x)

D)a(2*x)

163.[单选题]一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的叙述中,错误的

是O

A)每个派生类的构造函数都要为虚基类构造函数提供实参

B)多继承时有可能出现对基类成员访问的二义性问题

C)使用虚基类可以解决二义性问题并实现运行时的多态性

D)建立派生类对象时,虚基类的构造函数会首先被调用

164.[单选题]以下叙述中正确的是()。

A)在C++程序中,main函数必须位于程序的最前面。

B)C++程序的每行中只能写一个语句。

C)C++语言本身没有输入输出语句,输入输出靠调用函数实现。

D)C++在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

165.[单选题]C++语言中每条语句必须以()结束。

A)句号

B)小数点

C)分号

D)换行符

166.[单选题]已知一个二叉树的后序遍历的结果为ΛEFDHZMG,那么它的中序遍历可能为

A)ADEFHMGZ

B)ΛDEFGHMZ

C)GDAEFMHZ

D)GDΛFEMHZ

167.[单选题]关于类的静态成员函数描述错误的是()

A)在创建对象前不存在

B)不能说明为虚函数

C)不能直接访问非静态函数

D)不是对象的成员

168.[单选题]和顺序栈相比,链栈有一个比较明显的优势是

A)通常不会出现栈满的情况

B)通常不会出现栈空的情况

C)插入操作更容易实现

D)删除操作更容易实现

169.[单选题]以下叙述中正确的是o

A)构成C++程序的基本单位是函数

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

C)main()函数必须放在其它函数之前

D)所有被调用的函数一定要在调用之前进行定义

170.[单选题]对于长度为n的顺序表执行删除操作,则其结点的移动次数

A)最少为0,最多为n

B)最少为1,最多为n

C)最少为0,最多为n-1

D)最少为1,最多为nT

17L[单选题]有程序段:inta[10]=U,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];,则b的值是

____________O

A)5

B)6

08

D)9

172.[单选题]计算数列第n项的函数定义如下:若执行函数调用表达式f(5),函数f被调用的次数是

intf(intn){if(n==0)returnO;elseif(n==l)returnl;elseif(n==2)return2;elseif(n==3)return3;

elsereturnf(∏-l)+f(n^4);}

A)3

B)4

C)5

D)6

173.[单选题]下列条件语句中,功能与其他语句不同的是。

A)if(a)cout<<x<<"∖n";elsecout<<y<<"∖n";

B)if(a==0)cout<<y<<"∖n";elsecout<<x<<"∖n";

C)if(a!=0)cout<<x<<"∖n";elsecout<<y<<"∖n";

D)if(a==0)cout<<x<<"∖n";elsecout<<y<<"∖n";

174.[单选题]下面程序执行后的输出结果是o

ttincIudeusingnamespacestd;voidfun(char*c,chard){*c=*c+l;d=d+l;cout<<*c<<","<

A)B,a,B,a

B)a,B,a,B

C)A,b,A,b

D)b,B,A,b

175.[单选题]下面有关for循环的正确描述是一o

ʌ)for循环只能用于循环次数已经确定的情况

B)for循环是先执行循环体语句,后判断表达式

C)在for循环中,不能用break语句跳出循环体

D)for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来

176.[单选题]如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式

,则可表示为()。

A)operator+(b)

B)operator+(a)

C)operator+(a,b)

D)operator(a+b)

177.[单选题]如入栈序列为1,2,3,4,5,则可能得到的出栈序列为()

A)l,2,5,3,4

B)3,1,2,5,4

C)3,2,5,4,1

D)l,4,2,3,5

178.[单选题]字符串常量"MY\nA”的长度为。

A)2

B)l

03

D)4

179.[单选题]关于成员函数重载的说法错误的是

A)相同的范围(在同一个类中)

B)函数名字相同,参数不同

C)返回值不同

D)VirtUal关键字可有可无

180.[单选题]已知基类EmPloyee只有一个构造函数,其定义如下

Employee::Employee(intn):id(n){}Manager是EnIPloyee的派生类,则下列对Manager的构造函数的定

义中,正确的是。

A)Manager::Manager(intn):id(n){}

B)Manager::Manager(intn){id=n;}

C)Manager::Manager(intn):Employee(n){}

D)Manager::Manager(intn){Employee(n);}

181.[单选题]如果定义:floataL10],x;则以下叙述中正确的是()

A)语句a=&x;是非法的

B)表达式a+1是非法的

C)三个表达式a[l]、*(a+l)、&a[l]代表的变量互不相同

D)表达式<a[l]是非法的,应该写成*(&(a[l]))

182.[单选题]有关类和对象的说法不正确的是()。

A)对象是类的一个实例

B)一个类只能有一个对象

C)任何一个对象只能属于一个具体的类

D)类与对象的关系和数据类型和变量的关系相似

183.[单选题]以下成员函数哪个表示纯虚函数?()

A)virtualintvf(int)

B)voidvf(int)=O

Ovirtualvoidvf()=0

D)virtualvoidvf(int){}

184.[单选题]关于下列语句叙述错误的是()。

inti=10,*p=&i;

A)P的值为10

B)p指向整型变量i

C)*p表示变量i的值

D)p的值是变量i的地址

185.[单选题]类的私有成员可在何处被访问()

A)本类的成员函数中

B)本类及子类的成员函数中

C)通过对象名在任何位置

D)不可访问

186.[单选题]C++中定义标准输入输出的库为()

A)stdio

B)math

C)iostream

D)stdlib

187.[单选题]执行如下语句,输出结果为()

Charstr[]="Beijing";

Cout<<strlen(strcpy(str,"China"));

A)5

B)7

C)8

D)12

188.[单选题]判断字符型变量Ch是否为大写英文字母,应使用表达式()。

A)ch>='A'&ch<='Z'

B)ch>='A'&&ch<='Z'

C)'A'<=ch<='Z'

D)ch<='A'∏ch>='Z'

189.[单选题]下面程序的输出结果是()

≠include<iostream>

usingnamespacestd;

intmain()

{inta=l,b=-2,c=3;

if(a<b)

if(b<O)c=O;

elsec+=l;

cout<<c<<endl;

return0;

}

A)O

B)2

C)3

D)4

190.[单选题]输入输出时需要包含哪个头文件?()。

A)iostream

B)iomanip

C)istream

D)ostream

191.[单选题]类MyA的拷贝初始化构造函数是O

A)MyA()

B)MyA(MyA*)

C)MyA(MyAfe)

D)MyA(MyA)

192.[单选题]类的私有成员可在何处访问()

A)通过子类的对象访问

B)本类及子类的成员函数中

C)通过该类对象访问

D)本类的成员函数中

193.[单选题]C++的break语句

A)可用在能出现语句的任意位置

B)只能用在循环体内

C)能用在任一复合语句中

D)只能用在循环体内或SWitCh语句中

194.[单选题]对使用关键字new所开辟的动态存储空间,释放时必须使用()

A)free

B)create

C)delete

D)realse

195.[单选题]下列函数原型声明中错误的是()。

A)voidFun(intx=0,inty=0);

B)voidFun(intx,inty);

C)voidFun(intx,inty=0);

D)voidFun(intx=0,inty);

196.[单选题]当执行以下程序段时y=-l;do{y—;}while(一y);cout<

A)循环体将执行一次

B)循环体将执行两次

C)循环体将执行无限次

D)系统将提示有语法错误

197.[单选题]运行以下程序,若输入China

A)2,0

B)5,0

C)5,5

D)5,2

198.[单选题]有如下类定义

classA{intx;protected:inty;public:intz;ʌ():x(0),y(0){}intGetX(){returnx;}voidSetX(intx)

{A::x=x;}}obj;已知Obj是类A的对象,下列语句中错误的是o

A)obj.y;

B)obj.z;

C)obj.GetX();

D)obj.SetX(O);

199.[单选题]执行下列程序后,输出的结果是()。floata=l.1234;doublebɪl.1234;if(a==b)

cout<<"

Equal∖n";elsecout<<"notequal∖n";(题)

A)notequal

B)equal

C)equalnotequal

D)notequalequal

200.[单选题]命题“1020”的C++语言表达式是o

A)((m>10)feft(m20))

B)((m>20)U(ml0))

C)(m>10)II((m20))

D)((m>10)I!(m20))

201.[单选题]在C++中,关于构造、析构函数的自动生成,以下描述错误的是。

A)如果用户没有定义缺省构造函数,则系统自动生成一个空的缺省构造函数

B)如果用户没有定义析构函数,系统自动生成一个空的缺省析构函数

C)如果用户没有定义拷贝构造函数,则系统自动生成一个拷贝构造函数

D)如果用户定义了一个构造函数,不管它是否是缺省构造函数,系统就不会再自动生成缺省构造函数

202.[单选题]阅读下面代码,输出结果为()intmain(){charstrlLl="abc";charstr2[]=

"abc";constcharstr3[]="abc";constcharstr4[]="abc";constchar*str5="abc";

constchar*str6="abc";cout

A)truefalsetrue

B)falsetruetrue

C)falsefalsefalse

D)falsefalsetrue

203.[单选题]若二叉树采用二叉链表存储结构,要交换其所有分支结点左.右子树的位置,利用

()遍历方法最合适

A)前序

B)中序

C)后序

D)按层次

204.[单选题]#includeusingnamespacestd;intmain(){intx=023;cout

A)17

B)18

C)23

D)24

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

A)字符

B)语句

C)函数

D)源程序文件

206.[单选题]下列字符串中不能作为C++标识符使用的是()。(题)

A)_lvar

B)user

C)while

D)stars

207.[单选题]下面关于类的成员函数描述不正确的是:()

A)静态成员函数内可以直接访问类的非静态成员数据

B)静态成员函数内可以直接访问类的静态成员数据

C)非静态成员函数可以直接访问类的非静态成员数据

D)非静态成员函数可以直接访问类的静态成员数据

208.[单选题]在c++中,constinti=0;int*j=(int*)&i;*j=1;printf("%d,%d",i,

*j)输出是多少?

A)0,1

B)l,1

01,0

D)0,0

209.[单选题]下列字符串中,不可以用作C++标识符的是()。

A)y2006

B)_EST_H

C)Return

D)switch

210.[单选题]下列定义中,()是定义指向数组的指针p。

A)int*p[5]

B)int(*p)[5]

C)(int*)p[5]

D)int*p[]

211.[单选题]假定一个类的构造函数为A(intaa,intbb){a=aa—;b=a*bb;},则执行Ax(4,5);语

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

A)3和15

B)5和4

C)4和20

D)20和5

212.[单选题]下列C++运算符中,优先级最高的是____o

A)+

B)*

O<=

D)*=

213.[单选题]下列哪个类型的函数适合声明为内联函数()

A)函数体语句较多

B)函数体语句较少

O函数体内含有循环

D)函数体内含有SWitCh语句

214.[单选题]一个函数为VOidX(int,charCh='a,),另一个函数为VOidx(int),则它们()

A)不能在同一程序中定义

B)可以在同一程序中定义并可重载

C)可以在同一程序中定义,但不可以重载

D)以上说法均不正确

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

A)C++是C语言的超集,大多数C程序在不用修改的情况下就可以在C++的集成环境下运行或调试

B)C++是面向对象的程序设计语言

C)C++的执行效率很高

D)C++中没有结构化编程的语句

216.[单选题]什么函数不能声明为虚函数?

A)静态成员函数、构造函数

B)内联函数、构造函数

C)静态成员函数、析构函数

D)内联函数、析构函数

217.[单选题]如果从原有类定义新类可以实现的是O

A)信息隐藏

B)数据封装

C)继承机制

D)数据抽象

218.[单选题]对使用关键字new所开辟的动态存储空间,释放时必须使用()

A)free

B)create

C)delete

D)release

219.[单选题]一棵有124个叶结点的完全二叉树,最多有。个结点

A)247

B)248

0249

D)250

220.[单选题]如没有使用PriVate关键字定义类的数据成员,则默认为()

A)private

B)public

C)protected

D)friend

221.[单选题]栈和队列具有相同的

A)抽象数据类型

B)逻辑结构

C)存储结构

D)运算

222.[单选题]关系表达式的求值结果为()。

A)I或一1

B)I或0

C)任意正整数或0

D)任意负整数或0

223.[单选题]关于C++中的new和C语言中的malloc,以下说法哪个是正确的:()

A)都是用来申请内存的

B)都是函数

C)都会调用构造函数

D)他们没有区别,都一样

224.[单选题]对指针动态分配空间用的关键字是O

A)define

B)int

C)new

D)float

225.[单选题]以下代码片段的输出结果是。()

unionstudent

(

Struct

(

intx,y,z;

}i;

intk;

}a;

a

温馨提示

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

评论

0/150

提交评论