C++练习题(附答案).pdfVIP

  • 0
  • 0
  • 约2.89万字
  • 约 33页
  • 2026-02-09 发布于河南
  • 举报

5.9

(11)下列关于C++函数的叙述中,正确的是

A)每个函数至少要具有一个参数B)每个函数都必须返回一个值

C)函数在被调用之前必须先声明D)函数不能自己调用自己

(12)下列关于类和对象的叙述中,错误的是

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

B)对象是类的具体实例

C)类是对某一类对象的抽象

D)类和对象的关系是一种数据类型与变量的关系

(13)在C++中,用于实现运行时多态性的是

A)内联函数B)重载函数

C)模板函数D)虚函数

(14)下列关于运算符重载的叙述中,正确的是

A)通过运算符重载,可以定义新的运算符

B)有的运算符只能作为成员函数重载

C)若重载运算符+,则相应的运算符函数名是+

D)重载一个二元运算符时,必须声明两个形参

(15)下列关于模板的叙述中,错误的是

A)模板声明中的第一个符号总是关键字template

B)在模板声明中用和括起来的部分是模板的形参表

C)类模板不能有数据成员

D)在一定条件下函数模板的实参可以省略

(16)对于语句coutendlx;中的各个组成部分,下列叙述中错误的是

A))是一个输出流对象

B))的作用是输出回车换行

C))是一个变量

D))称作提取运算符

(17)下列字符串中,正确的C++标识符是

A)foo-1B)2b

C)newD)_256

(18)已知枚举类型定义语句为:

enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};

则下列叙述中错误的是

A)枚举常量NAME的值为1B)枚举常量NUMBER的值为1

C)枚举常量MINUS的值为6D)枚举常量PRINT的值为10

(19)执行语句序列

inti=0;while(i25)i+=3;couti;

输出结果是

A)24B)25

C)27D)28

(20)要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,

0和0,则下列定义语句

中错误的是

A)intvect[]={30,50,-88};B)intvect[]={30,50,-88,0,0};

C)intvect[5]={30,50,-88};D)intvect[5]={30,50,-88,0,0};

(21)有如下程序:

#includeiostream

voidfun(intx,inty){intt=x;x=y;y=t;}

intmain()

{

inta[2]={23,42};

fun(a[1],a[0]);

return0;

}

执行后的输出结果是

A)42,42B)23,23

C)23,42D)42,23

(22)有如下类声明:

classFoo{intbar;};

则Foo类的成员bar是

A)公有数据成员B)公有成员函数

C)私有数据成员D)私有成员函数

(23)有如下类声明:

classMyBASE

{

intk;

public:

voidset(intn){k=n;}

intget()const{returnk;}

};

classMyDERIVED:protectedMyBASE

{

protected:

intj;

public:

voidset(intm,intn){MyBASE::set(m);j=n;}

intget()const{returnMyBASE::get()+j;}

};

则类MyDERIVED中保护的数据成员和成员函数的个数是

A)4B)3

C)2D)1

(24)已知在一个类体中包含如下函数原型:VOLUMEoperator-(VOLUME)const;,下列关

于这个函数的叙述中,错误

的是

A)这是运算符-的重载运算符函数

B)这个函数所重载的运算符是一个一元运算符

C)这是一个成员函数

D)这个函数不改变类的任何数据成员的值

(25)有如下函数模板定义:

templateclassT

Tfunc(Tx,Ty){returnx*x+y*y;}

在下列对func的调用中,错

文档评论(0)

1亿VIP精品文档

相关文档