当前位置:首页 > 全部子站 > IT > 等级考试

2018年9月计算机二级C++考前基础练习试题(6)

来源:长理培训发布时间:2018-07-27 19:11:09

 1.下列控制格式输入输出的操作符中,能够设置浮点数精度的是(  )。

A.setprecision

B.setw

C.setfill

D.showpoint

2.下列程序段中包含4个函数,其中具有隐含this指针的是(  )。

intfunl(  );

classTest{

public:

intfun2(  );

friendintfun3(  );

staticintfun4(  );

};

A.funl

B.fun2

C.fun3

D.fun4

3.有如下程序:

#include

usingnamespacestd;

classTest(

public:

Test(  ){}

Test(constTest8Lt){cout<<1;}

};

Testfun(Test&u){Testt=U;returnt;}

intmain(  ){Testx,y;x=fun(y);return0;}

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

A.无输出

B.1

C.1l

D.111

4.有如下程序:

#include

usingnamespacestd;

classA{

public:

A(inti=O):rl(i){}

voidprint(  ){cout<<’E’

voidprint(intx){cout<<’P’<-’;}

private:

intr1;

};

intmain(  ){

Aal:

constAa2(4);

a1.print(2);

a2.print(  );

return0;

}

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

A.P8一E4

B.P8一C16一

C.P0一E4一

D.P0一C16—

5.下列代码段声明了3个类:

classPerson{);

classStudent:publicPerson{};

classUndergraduate:Student{);

下列关于这些类之间关系的描述中,错误的是(  )。

A.类Person是类Undergraduate的基类

B.类Undergraduate从类Student公有继承

C.类Student是类Person的派生类

D.类Undergraduate是类Person的派生类

6.有如下程序:

#include

Usingnamespacestd;

classBase{

public:

Base(intx=O):valB(x){cout<~Base(  ){cout

intvalB:

};

classDerived:publicBase{

public:

Derived(intX=0,inty=0):Base(x),valD(y)(cout<~Derived(  ){cout

intvalD;

};

intmain(  ){

Derivedobj12(2,3);

return0;

}

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

A.2332

B.2323

C.3232

D.3223

7.下面是类Shape的定义:

classShape{

public:

virtualvoidDraw(  )=0;

}

下列关于Shape类的描述中,正确的是(  )。

A.类Shape是虚基类

B.类Shape是抽象类

C.类Shape中的Draw函数声明有误

D.语句“ShapeS;”能够建立Shape的一个对象S

8.将运算符“+”重载为非成员函数,下列原型声明中,错误的是(  )。

A.MyClockoperator+(MyClock,long);

B.MyClockoperator+(MyClock,MyCloek);

C.MyCloekoperator+(long,long);

D.MyClockoperator+(long,MyCloek):

9.打开文件时可单独或组合使用下列文件打开模式:

①ios_base::aop

②ios_base::binary

③ios_base::

④ios_base::out

若要以二进制读方式打开一个文件,需使用的文件打开模式为(  )。

A.①③

B.①④

C.②③

D.②④

10.有如下程序:

#include

usingnamespacestd;

classB{

public:

B(intxx):x(xx){++count;x+=10;}

virtualvoidshow(  )const

{cout

staticintcount;

private:

intx;

};

classD:publicB{

public:

D(intxx,intyy):B(XX),y(yy){++count;y+=

100;)

virtualvoidshow(  )const

{cout

inty;

};

intB::count==0;

intmain(  ){

B*ptr=newD(10,20);

ptr->show(  );

deleteptr;

return0;

}

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

A.1_120

B.2_120

C.1_20

D.2_20

参考答案:

1.A。【解析】setprecision(int)是设置浮点数的精度,setw(intn)是设置输入输出宽度,setfill(charc)设置填充字符,showpoint即使小数部分为0,也输出以及其后的无效数据0。

2.B。【解析】this指针是成员函数所属对象的指针,是指向类对象的地址,是一个隐含的指针,隐含于每个类的非静态成员函数中。funl是外部函数,fun3是友元函数,fun4是静态成员函数,故选B。

3.C。【解析】本题调用了fun函数。

4.D。

5.B。【解析】类Undergraduate从类Student私有继承,继承方式缺省则默认是private。

6.A。【解析】本题使用析构函数。

7.B。【解析】抽象类是类中至少有一个纯虚函数,抽象类是用来被继承的,即是用来生成派生类,它本身不能生成实例。

8.C。【解析】非成员函数一般都是友元函数,相比成员函数第一个操作数是对象本身以thiS指针的形式隐含在参数列表中,非成员函数调用必须显式的列出参数;选项C中没有MyClock类型,故选C。

9.D。【解析】ios_base::binary是作为二进制文件打开,ios_base::out是为输出而打开,故选D。

10.B。【解析】本题考查了类的继承。继承有3种方式,public公有、private私有和protected保护,本题都涉及了。本题中类D公有继承类B。在类B中又定义了虚函数,并且有保护类静态类型count及私有变量x。主函数中调用类D,类D又继承了类B,经过系统及调用,本题最终结果为2_120。

责编:曾珂

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部