计算机等级考试二级C++真题文档格式.docx

上传人:b****5 文档编号:19667160 上传时间:2023-01-08 格式:DOCX 页数:16 大小:19.85KB
下载 相关 举报
计算机等级考试二级C++真题文档格式.docx_第1页
第1页 / 共16页
计算机等级考试二级C++真题文档格式.docx_第2页
第2页 / 共16页
计算机等级考试二级C++真题文档格式.docx_第3页
第3页 / 共16页
计算机等级考试二级C++真题文档格式.docx_第4页
第4页 / 共16页
计算机等级考试二级C++真题文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

计算机等级考试二级C++真题文档格式.docx

《计算机等级考试二级C++真题文档格式.docx》由会员分享,可在线阅读,更多相关《计算机等级考试二级C++真题文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

计算机等级考试二级C++真题文档格式.docx

A)并B)交

C)投影D)笛卡儿乘积

(9)在

E-R图中,用来表示实体之间联系的图形是()

A)矩形B)椭圆形

C)菱形D)平行四边形

(10)下列叙述中错误的是()

A)在数据库系统中,数据的物理结构必须与逻辑结构一致

B)数据库技术的根本目标是要解决数据的共享问题

C)数据库设计是指在已有数据库管理系统的基础上建立数据库

D)数据库系统需要操作系统的支持

(11)为了取代

C中带参数的宏,在

C++中使用

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

C)递归函数D)友元函数

(12)下列关于类定义的说法中,正确的是

A)类定义中包括数据成员和函数成员的声明B)类成员的缺省访问权限是保护的

C)数据成员必须被声明为私有的D)成员函数只能在类体外进行定义

(13)下列关于派生类构造函数和析构函数的说法中,错误的是

A)派生类的构造函数会隐含调用基类的构造函数

B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数

C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数

D)在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数

(14)通过运算符重载,可以改变运算符原有的

A)操作数类型

C)优先级

(15)有如下函数模板:

template<

classT>

Tsquare(Tx){returnx*x;

}

其中

T是

A)函数形参

C)模板形参

(16)使用输入输出操作符

setw,可以控制

A)输出精度

C)对齐方式

(17)下列字符串中,不可以用作

C一标识符的是

A)y_2006

C)Return

(18)字面常量

42、4.2、42L的数据类型分别是

A)long,double,int

C)

int,double,long

(19)执行下列语句段后,输出字符“

*”的个数是

for(inti=50;

i>

1:

--i)cout<

<

'

*'

;

A)48

C)50

(20)有如下程序段:

inti=0,j=1;

int&

r=i;

//①

r=j;

//②

int*p=&

i;

//③

*p=&

r;

//④

其中会产生编译错误的语句是

A)④

C)②

(21)有如下函数定义:

voidfunc(inta,int&

b){a++;

b++;

若执行代码段:

intx=0,y=1;

func(x,y);

则变量

x和

y的值分别是

A)0和

1

C)0和

(22)有如下程序:

#include<

iostream>

usingnamespacestd;

classA{

public:

staticinta;

voidinit(){a=1;

A(inta=2){int();

a++;

};

intA:

:

a=0;

Aobj;

intmain()

{

cout<

obj.a;

return0;

B)操作数个数

D)结合性

B)函数实参

D)模板实参

B)输出宽度

D)填充字符

B)___TEST_H

D)switch

B)long,float,int

D)

int,float,long

B)49

D)51

B)③

D)①

B)1和

D)1和

j

运行时输出的结果是

A)0B)1

C)2D)3

(23)下列有关继承和派生的叙述中,正确的是

A)派生类不能访问基类的保护成员

B)作为虚基类的类不能被实例化

C)派生类应当向基类的构造函数传递参数

D)虚函数必须在派生类中重新实现

(24)下列运算符中,不能被重载的是

A)&

&

B)!

=

C).D)++

(25)下列函数模版中的定义中,合法的是

A)template<

typenameT>

Tabs(Tx){returnx<

0?

–x:

x;

B)templateclass<

T>

C)templateT<

abs(Tx){returnx<

D)tempIateTabs(Tx){returnx<

-x:

(26)在语句

cin>

>

data;

中,cin是

A)C++的关键字B)类名

C)对象名D)函数名

(27)有如下程序:

#include<

classtest{

private:

inta;

test0{cout+"

constructor"

+endl;

test(inta){cout+a+endl;

test(consttest&

test)

a=test.a;

cout+,,copyconstructor"

test(){Cout+"

destructor"

intmain()

testA(3);

A)3

B)constructor

destructor

C)copyconstructor

D)3

(28)若有如下类声明

classMyClass{

MyClass(){cout<

1;

执行下列语句

MyClassa,b[2],*p[2]:

以后,程序的输出结果是

A)11B)111

C)1111D)11111

(29)有如下程序:

classPoint{

staticintnumber;

Pointo{number++;

~Point(){number--;

intPoint:

number--0;

voidmainO{

Point*ptr;

PointA,B;

Point*ptr_point=newPoint[3];

ptx=ptr_point;

PointC;

Gout+Point:

number+endl;

delete[]ptr;

A)3B)4

C)6D)7

(30)如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。

有如

下程序,没有使用多态机制。

classBase{

inta,b;

Base(intx,inty){a=x;

b=y;

voidshow(){cout<

a<

'

b<

endl;

classDerived:

publicBase{

intc,d;

Derived(intx,inty,intz,intm):

Base(x,y){c=z;

d=m;

c<

d<

BaseB1(50,50),*pb;

DerivedD1(10,20,30,40);

pb=&

D1;

return();

A)10,20

C)20,30

(31)有如下程序:

classA

A(inti){x=i;

voiddispa(){cout<

x<

’,’;

intx;

classB:

publicA

B(inti):

A(i+10){x=i;

voiddispb(){dispa();

cout<

endl;

B)30,40

D)50,50

private

Bb

(2);

b.dispb();

A)10,2B)12,10

C)12,2D)2,2

(32)虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的

是指针所指的实际对象的虚函数。

而非虚函数不支持多态调用。

有如下程序:

classBase

virtualvoidf(){cout<

”f0+”;

voidg(){cout<

”g0+”;

publicBase

voidf(){cout<

”f+”;

voidgo{cout<

”g+”;

intmain

Derivedd;

Base*p=&

d;

p->

f();

P->

g();

A)f+g+

C)f+g0+

(33)下面程序中对一维坐标点类

Point进行运算符重载

classPoint{

Point(intval){x=val;

Point&

operator++(){x++;

return*this;

B)f0+g+

D)f0+g0+

Pointoperator++(int){Pointold=*this;

++(*this);

returnold;

IntGetX()const{returnx;

Pointa(10);

(++a).GetX();

a++.GetX();

编译和运行情况是

A)运行时输出

1011B)运行时输出

1111

C)运行时输出

1112D)编译有错

(34)有如下程序:

charstr[100],*p;

"

Pleaseinputastring:

”;

cin;

str;

p=str;

for(inti=0;

*p!

=’\0’;

p++,i++);

“I”<

运行这个程序时,若输入字符串为

abcdefgabcd

则输出结果是

A)7B)12

C)13D)100

(35)有如下程序:

classSample

friendlongfun(Samples);

Sample(longa){x=a;

longx;

longfun(Samples)

if(s.x<

2)return1:

returns.x*fun(Sample(s.x-1)):

intsum=0;

i<

6;

i++){sum+=fun(Sample(i));

sum;

A)120B)16

C)154D)34

二、填空题(每空

2分,共30分)

(1)在深度为7的满二叉树中,度为2的结点个数为___________。

(2)软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于___________测试。

(3)在数据库系统中,实现各种数据管理功能的核心软件称为___________。

(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。

编码和测试属于___________阶段。

(5)在结构化分析使用的数据流图(DFD)中,利用___________对其中的图形元素进行确切解释。

(6)C++中只有两个逻辑常量:

true和___________。

(7)若要访问指针变量p所指向的数据,应使用表达式___________。

(8)已知一个函数的原型是:

intfn(doublea);

若要以5.27为实参调用该函数,应使用表达式___________。

(9)有如下定义:

classMA{

intvalue;

MA(intn=0):

value(n){}

MA*ta,tb;

其中MA类的对象名标识符是___________。

(10)如下类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函

明完整。

classmyClass{

intdata;

myClass(intvalue);

//构造函数

myClass(const___________anotherObject);

//拷贝构造函数

(11)用来派生新类的类称为___________,而派生出的新类称为它的子类或派生类。

(12)有如下程序:

classCA{

CA(){cout+'

A'

;

classCB:

privateCA{

CB(){cout<

’B’;

intmain(){

CAa;

CBb;

这个程序的输出结果是___________。

(13)若将一个二元运算符重载为类的成员函数,其形参个数应该是___________个。

(14)有如下程序:

classDA{

intk;

DA(intx=1):

k(x){}

~DA(){cout<

k;

intmain(){

DAd[]={DA(3),DA(3),DA(3)};

DA*p=newDA[2];

delete[]p;

return();

(15)C++语言中的多态性分为编译时的多态性和___________时的多态性。

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

当前位置:首页 > PPT模板 > 其它模板

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

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