模拟题三及参考答案_第1页
模拟题三及参考答案_第2页
模拟题三及参考答案_第3页
模拟题三及参考答案_第4页
模拟题三及参考答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

本文格式为Word版,下载可任意编辑——模拟题三及参考答案模拟题三及参考答案

1.C++对C语言作了好多改进,以下描述中_____使得C语言发生了质变,即从面向过程变成又面向对象(2分)A.增加了一些新的运算符

B.允许函数重载,并允许设置默认参数C.规定函数说明必需用原型

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

2.依照标识符的要求,_______符号不能组成标识符。(2分)A.连接符B.下划线

C.大小写字母D.数字字符

3.选择出合法的if语句(设有intx,a,b,c;)。(2分)A.if(a==b)x++;B.if(a=b)x++;

D.if(a=>b)x++;

4.以下while循环的次数是_______。While(inti=0)i--;(2分)A.0B.1C.5

D.无限

5.以下_______为一个已有的数据类型另外命名。(2分)A.enumB.structC.typedef

D.union

6.表达式18/4*Sqrt(4.0)/5值的数据类型是_______。(2分)A.intB.floatC.double

D.不确定

7.sizeof(double)是一个______表达式。(2分)

A.整型B.双精度C.不合法

D.函数调用

8.内联函数定义中,_____不正确。(2分)

A.内联函数体内不能有循环语句和switch语句。B.执行时在调用处用函数体进行替换。

C.内联函数的声明必需出现在内联函数第一次被调用之前。

D.对内联函数不能进行异常接口声明。

9.函数不可以_______。(2分)A.嵌套调用

B.直接递归调用C.间接递归调用

D.主函数调用主函数

10.有关函数重载的描述哪些是正确的?(2分)

A.对不同类型的数据进行一致的操作需定义名称完全不同的函数。B.对不同类型的数据进行一致的操作需定义名称一致的函数。C.对一致类型的数据进行不同的操作需定义一致的函数。

D.对一致类型的数据进行一致的操作需定义完全不同的函数。

11.以下函数中,____不能重载。(2分)A.成员函数B.非成员函数C.析构函数

D.构造函数

12.关于虚函数的描述中,_____是正确的。(2分)A.虚函数是一个static类型的成员函数B.虚函数是一个非成员函数

C.基类中说明白虚函数后,派生类中与其对应的函数可不必说明为虚函数

D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型

13.以下运算符中,_____运算符在C++中不能重载。(2分)A.void{}

30.分析以下程#includeclass{

Sample(int

序执行的结果(11分)

Sample

int

x,y;public:

Sample(){x=y=0;}

a,intb){x=a;y=b;}

~Sample()

{

if(x==y)

cout17ABD18类

19private20重载

21类域标记22系统自动23template24动态25文件26申明27setw()28ios::right

29.解:x=2,y=3x!=yx!=y

此题说明白可以显式调用析构函数。首先定义了一个类Sample,在main()中定义了它的一个对象,定义s1对象时调用其重载构造函数(x=2,y=3),然后,调用其成员函数输出数据成员,然后调用一次析构函数,最终在退出程序时又自动调用析构函数,所以输出为:x=2,y=3x!=yx!=y注意:析构函数不同于构造函数,析构函数既能被显式调用,也能被隐式调用。

30.解:x=0,y=0x=2,y=3x!=yx=y

此题说明白析构函数的调用顺序,这里定义了两个对象,先顺序调用s1和s2对象的构造函数,再调用各自的成员函数disp(),最终顺序调用s2和s1的析构函数。所以输出为:x=0,y=0x=2,y=3x!=yx=y31.解:

设计一个学生类Stud,除了包括no(学号)、name(姓名)、和deg(成绩)数据成员外。有两个静态变量sum和num,分别存放总分和人数,另有一个构造函数、一个普通成员函数disp()和一个静态成员函数avg(),它用于计算平均分。此题程序如下:#include#includeclassStud{

intno;

charname[10];intdeg;

staticintsum;staticintnum;public:

Stud(intn,charna[],intd){

no=n;deg=d;

strcpy(name,na);sum+=d;num++;}

staticdoubleavg(){

returnsum/num;}

voiddisp(){

printf(\}

};

intStud::sum=0;intStud::num=0;

voidmain(){

Studs1(1,\printf(\学号姓名成绩\\n\s1.disp();s2.disp();s3.disp();

printf(\平均分=%g\\n\\n\}

温馨提示

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

评论

0/150

提交评论