华中科技大学c++程序的设计考试题Word下载.docx

上传人:b****5 文档编号:17242100 上传时间:2022-11-29 格式:DOCX 页数:12 大小:24.75KB
下载 相关 举报
华中科技大学c++程序的设计考试题Word下载.docx_第1页
第1页 / 共12页
华中科技大学c++程序的设计考试题Word下载.docx_第2页
第2页 / 共12页
华中科技大学c++程序的设计考试题Word下载.docx_第3页
第3页 / 共12页
华中科技大学c++程序的设计考试题Word下载.docx_第4页
第4页 / 共12页
华中科技大学c++程序的设计考试题Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

华中科技大学c++程序的设计考试题Word下载.docx

《华中科技大学c++程序的设计考试题Word下载.docx》由会员分享,可在线阅读,更多相关《华中科技大学c++程序的设计考试题Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

华中科技大学c++程序的设计考试题Word下载.docx

D.intn=5;

inta[n][n+2];

【I】

5.关于this指针使用说法正确的是(____)

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

类私有成员在子类中可以被访问。

C.保证基类保护成员在子类中可以被访问。

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

6.所谓多态性是指(____)

A.不同的对象调用不同名称的函数B.不同的对象调用相同名称的函数C一

个对象调用不同名称的函数D.—个对象调用不同名称的对象

B】分值:

【】

7.派生类构造函数的执行顺序是先执行■勺构造函数,然后执行成

员对象的构造函数,最后执行■勺构造函数。

基类或派生类】分值:

8.C++语言程序的注释可以出现在程序中的任何地方,一个注释以

_作为开始和结束的标记。

【**/】分值:

9.下列程序在构造函数和析构函数中申请和释放类的数据成员int*a,申

请时使用形参b初始化a,请填空。

classA{

public:

~A();

private:

int*a;

};

A:

:

(intb){;

}A:

~A()

a=newint(b)或deletea】分值:

10.C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()A.增加了一些新的运算符

B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念

11•下列有关模板和继承的叙述正确的是()A.模板和继承都可以派生

出一个类系

B.从类系的成员看,模板类系的成员比继承类系的成员较为(稳定C从动态性能看,继承类系比模板类系具有更多的动态特性

D.相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系

12.关于new运算符的下列描述中,错误的是()A.它可以用来动态创建

对象和对象数组

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

对象时要调用构造函数

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

13.下列运算符中,在C++语言中不能重载的是(____)A.*B.>

=C.:

D./

C】

14.已知inti=0,x=1,y=0;

在下列选项使i的值变成1的语句是(____)

A.if(x&

&

y)i++;

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

C.if(x||y)i++;

D.if(!

x)i++;

C1

15.sizeof(float)是(____)A.—个双精度型表达式B.—个整型表达式C.一

种函数调用

D.—个不合法的表达式

B1

16.下面叙述不正确的是(____)

A.基类的保护成员在派生类中仍然是保护的成员B.基类的保护成员在公有派生类中仍然是保护的C.基类的保护成员在私有派生类中仍然是私有的D.对

基类成员的访问必须是无二义性

17.决定C++语言中函数的返回值类型的是(____)A.return语句中的表达式类型

B调用该函数时系统随机产生的类型C调用该函数时的主调用函数类型D.

在定义该函数时所指定的数据类型

D1分值:

11

18.下面对于友元函数描述正确的是(____)A.友元函数的实现必须在类的内部定义B友元函数是类的成员函数

C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员

C】分值:

19.不能作为重载函数的调用的依据是(____)A.参数个数B.参数类型C.函数类型D.函数名称

20.面向对象的模型中,最基本的概念是对象和。

类】分值:

21.在V中,若定义一个函数的返回类型为void,以下叙述正确的是(___)A.函数返回值需要强类型转换B.函数不执行任何操作C.函数本身没有返回值

D.函数不能修改实际参数的值

22.函数参数的默认值不允许为(____)A.全局常量B.直接常量C.局部变量D.函数调用

23.下列的描述中(是错误的。

A.使用全局变量可以从被调用函数中获取多个操作结果B.局部变量可以初

始化,若不初始化,则系统默认它的值为0C.当函数调用完后,静态局部变量的值不会消失D.全局变量若不初始化,则系统默认它的值为0

24.已知inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a则不能表示数组a中元素的式子是(____)A.*aB.*pC.a

D.a[p-a]

25.已知inta[3][3]={1,2,3,4,5,6,7,8,9};

则不能表示数组元素a[2][1]的地址是(____)

A.&

a[2][1]B.*(a[2]+1)

D*(a+2)+1

26.设char*s1,*s2;

分别指向两个字符串,判断字符串s1和s2是否相等

的表达式为(____)A.s1=s2B.s1==s2

C.strcpy(s1,s2)==0D.strcmp(s1,s2)==0

27.在类定义的外部,可以被访问的成员有A.所有类成员

B.private或protected的类成员C.public的类成员

D.public或private的类成员

28.若classB中定义了一个classA的类成员Aa,关于类成员的正确叙述是(____)A.在类B的成员函数中可以访问A类的私有数据成员B.在类B的成员函数中可以访问A类的保护数据成员

C.类B的构造函数可以调用类A的构造函数做数据成员初始化D.类A的

构造函数可以调用类B的构造函数做数据成员初始化

29.要求用友员函数重载的运算符是(____)A.=B.[]C.<

<

D.()

30.将以下程序写成三目运算表达式是。

if(a>

b)max=a;

elsemax=b;

max=(a>

b)?

a:

b;

1

31.下面程序的结果为。

#includevoidmain(){inta=1,b=2;

bo

olc=1;

if((a>

b)||c)cout<

elsteue〃<

cout«

〃false〃<

【rue】

32.在创建派生类对象时,构造函数的执行顺序是()

A.对象成员构造函数一基类构造函数一派生类本身的构造函数B.派生类本身的构造函数一基类构造函数一对象成员构造函数C.基类构造函数一派生类本身的构造函数一对象成员构造函数D.基类构造函数一对象成员构造函数一派生类本身的构造函数

33.以下程序的执行结果为。

#inelude

usingnamespacestd;

virtualvoidwho()

{cout«

〃baseclass};

〃<

classderive1:

publicbase{

voidwho()

〃derivelclass};

classderive2:

"

derive2class};

<

voidmain(){

baseobj1,*p;

derive1obj2;

derive2obj3;

p=&

obj1;

p->

who();

obj2;

p->

obj3;

}

baseclassderive1classderive2class]

34.虚析构函数的作用是(____)A.虚基类必须定义虚析构函数B.类对象作用域结束时释放资源C.delete动态对象时释放资源D.无意义

35.若一个类中含有纯虚函数,则该类称为(____)A.基类B.纯基类C.抽象类D.派生类

C]

36.下列流类中可以用于处理文件的是(____)A.ios

B.iostreamC.strstreamD.fstream

37.作为语句标号使用的C++保留字case和default只能用于语

句的定义体中。

Switch】

38.存储字符’和字符串”分别需要占用和字节。

【或2】

39.若有定义“structAA{inta;

charb;

doublec;

}x;

则”x,占用空间大小

为字节。

【3】分值:

40.若y是x的引用,则&

y和&

x的值即为变量的地

址。

相等或X】分值:

41.执行作将释放由p所指向的动态分配的数据空间。

deletep】分值:

【l】

42.已知语句“cout«

s;

的输出是“apple则执行语句“cout<

s+2;

的输

出结果为。

pie】分值:

43.基类和派生类的关系称为。

继承】分值:

44.若只需要通过一个成员函数读取数据成员的值,而不需要修改它,则

应在函数头的后面加上键字。

Const】分值:

45.为了释放类对象中指针成员所指向的动态存储空间,则需要为该类定

义。

析构函数】分值:

46.假定AB为一个类,贝U执行“AEa[10];

语句时,系统自动调用该类构

造函数的次数为。

【0】分值:

47.对类中引用成员的初始化只能通过在构造函数中给出的来实

现。

参数初始化表】分值:

48•假定要把aa定义为AB类中的一个引用整数型数据成员,则定义语

句为。

【nt&

aa;

】分值:

49.定用户为类AB定义了一个构造函数“AB(intaa=O):

a(aa){}则定义该

类的对象时,可以有种不同的定义格式。

2】分值:

50.定用户为类AB定义了一个构造函数“AB(intaa):

a(aa){}则定义该类

的对象时,有种定义格式。

【】分值:

【!

51.定用户为类AB定义了一个构造函数“AB(intea=0,intbb=0){a=aa;

b=bb;

}”则定义该类的对象时,可以有种不同的定义格式。

3】分值:

52.假定用户只为类AB定义了一个构造函数“AB():

a(0),b(0){}则定义该,

类对象x的定义语句“A改是正确/错误)的。

正确】分值:

53.假定AB为一个类,则该类的拷贝构造函数的函数头为。

_

AB(AB&

)】分值:

54.假定AB为一个类,该类中含有一个指向动态数组空间的指针成员pa,

则在该类的析构函数中应该包含有一条句。

delete[]pa;

55.派生类的成员函数可以直接访问基类的公有和保护成员,不能直接

访问基类的成员。

私有】分值:

56.若要保证一个公共的基类在派生类中只产生一个基类子对象,则必须

都以方式直接继承它。

虚基类】分值:

57.弓I进虚基类的根本目的是为了消除。

二义性】分值:

58.若运行时给变量x输入12,则以下程序的运行结果是(____)#inelude

intx,y;

cin>

>

x;

y=x>

12?

x+10:

x-12;

cout<

}A.OB.22C.12D.10

59.一个类可以从直接或间接的祖先中继承所有属性和方法。

采用这个方

法提高了软件的。

60.静态成员函数可以直接访问类的成员,不能直接访问类的

成员。

静态或非静态】分值:

61.函数模板:

template

Tadd(Tx,Ty){returnx+y;

下列对add函数的调用不正确的是(____)A.addv>

(1,2)B.add(1,2)C.add(1.0,2)D.add(1.0,2.0)

62.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是()A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用

C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋

给指向基类的指针

63.在C++语言中每个类都有一个针,该指针指向正在调用成员函数的对象。

64.在C++中,cin是一个(____)A.类B对象C.模板D.函数

65.下列叙述中,不属于结构化程序设计方法的主要原则的是(____)A.自顶向下B.由底向上

C模块化

D.限制使用goto语句

66.关于构造函数A()的拷贝构造函数正确的是(____)A.A(A*B);

B.A(AB);

C.A(A&

B);

D.A(A);

67.派生类的成员一般分为两部分,一部分是另一部分是自己定义的新成员。

从基类继承的成员】分值:

68.(不是构造函数的特征A.构造函数的函数名与类名相同B构造函

数可以重载

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

69.以下对C++语言函数的有关描述中,正确的是(____)

A.在C++语言中调用函数,只能把实参的值传给形参,形参的值不能传送给实参B.C++语言函数既可以嵌套定义又可以递归调用C.函数必须无返回值,否则不能使用函数D.函数必须有返回值,返回值类型不定

70.可以把具有相同属性的一些不同对象归类,称为。

对象类】分值:

71.C++语言中的多态性是在编译时通过和模板体现的,在运行时

是通过现的。

函数重载或虚函数】分值:

72.常数据成员和静态数据成员在使用前共同的要求是要进行。

初始化】分值:

73.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数),这3种构造函数的调用顺序为(____)A.abcB.acbC.cabD.cba

74.表达式x.operato叶(y.operator++(0))还可以写成。

X+y++或x+(y++)】分值:

75.每个C++程序中都必须有且仅有一个A.类

B.预处理命令C.主函数D.语句

76.C++中封装性、继承性和面向对象思想的主要特征

多态性】分值:

77.以下叙述中正确的是(____)

A.构成C++语言程序的基本单位是类B.可以在一个函数中定义另一个函数

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

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

78.类的析构函数的作用是(____)A.一般成员函数的初始化B.类的初始化

C.对象的初始化D.删除类创建的对象

79.下面关于类和对象的描述中,错误的是(____)

A.类就是C语言中的结构体类型,对象就是C语言中的结构体变量B.类和对象之间的关系是抽象和具体的关系

C对象是类的实例,一个对象必须属于一个已知的类D.类是具有共同行为的

若干对象的统一描述体

80.以下程序中,错误的行为是()⑴#inelude

(2)ClassA(3){

(4)public:

(5)intn=2;

(6)A(intval){}(7)〜A(){}(8)};

(9)voidmain()(10){

(11)Aa(o);

(12)}A)(5)B)(6)C)(7)D)(11)

81.有如下函数定义:

voidfunc(inta,int&

b){a++;

b++;

}若执行代码段:

intx=0,y=1;

func(x,y);

则变量x和y值分别是()A.和1B和1C和2D.和2

82.关于友元的概念错误的是()A.友元函数没有this指针

B调用友元函数时必须在它的实参中给出要访问的对象C.一个类的成员函

数也可以作为另一个类的友元函数D.只能在类的公有段声明友元

A分值:

83.下列函数的运行结果是()#ineludeintf(inta,intb){intc;

if(a>

b)c=1;

elseif(a==b)c=0;

elsec=-1;

return(c);

}voidmain(){inti=2,j=3;

int

P=f(i,j);

cout<

P;

}<

p="

"

x/P;

}v>

A.-1B.1C.2

D.编译出错,无法运行

84.下列运算符中全都可以被友元函数重载的是()A.=,+,-,\

B.[],+,(),newC.->

+,*,»

D.v>

+,*

85.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初实

化并执行其他内部管理操作的函数是()A.友元函数B虚函数C.构造函数D.

析构函数

86.若执行下面的程序时,从键盘上输入5和2,则输出结果是(____)#inc

ludevoidmain(){inta,b,k;

a>

k=a;

if(aelsek=b%a;

k<

vendl;

}A.5B.3C.2D.0

87.关于虚函数下面说的正确的是(____)

A.若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数B虚函数

不能声明为友元

C子类必须重定义父类的虚函数D.虚函数不能是static的

88.C++中,封装是借助于(达到的A.结构B.类C数组D.函数

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

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1