全国计算机等级考试二级C++.docx

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

全国计算机等级考试二级C++.docx

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

全国计算机等级考试二级C++.docx

全国计算机等级考试二级C++

3月全国计算机等级考试二级C++

考试频道小编为你收集整理2012年3月全国计算机等级考试二级C++,请阅读!

笔试试卷 (考试时间90分钟,满分100分)

一、选择题(每小题2分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是

A)循环队列是队列的一种链式存储结构B)循环队列是一种逻辑结构

C)循环队列是队列的一种顺序存储结构D)循环队列是非线性结构

(2)下列叙述中正确的是

A)栈是一种先进先出的线性表B)队列是一种后进先出的线性表

C)栈与队列都是非线性结构D)以上三种说法都不对

(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为

A)4B)16C)10D)6

(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是

A)逻辑模式B)概念模式C)内模式D)外模式

(5)在满足实体完整性约束的条件下

A)一个关系中可以没有候选关键字B)一个关系中只能有一个候选关键字

C)一个关系中必须有多个候选关键字D)一个关系中应该有一个或多个候选关键字

(6)有三个关系R、S和T如下:

RstABCABCABCa12a12b21b21d21c31c31则由关系R和S得到关系T的操作是

A)并B)差C)交D)自然连接

(7)软件生命周期的活动中不包括

A)软件维护B)需求分析C)市场调研D)软件测试

(8)下面不属于需求分析阶段任务的是

A)确定软件系统的性能需求B)确定软件系统的功能需求

C)制定软件集成测试计划D)需求规格说明书评审

(9)在黑盒测试方法中,设计测试用例的主要根据是

A)程序外部功能B)程序数据结构C)程序流程图D)程序内部结构

(10)在软件设计中不使用的工具是

A)系统结构图B)程序流程图C)PAD图D)数据流图(DFD图)

(11)若一个函数的原型为int*Xfun1(intx,inty,charz);,则该函数的返回值类型为

A)int*B)int

C)intD)char

(12)若AA为一个类,a为该类的私有整型数据成员,getA()为该类的一个非静态公有成员函数,功能是返回a的值。

如果x为该类的一个对象,要在类外访问x对象中a的值,正确的访问格式为

A)AA.getA()B)x.getA()

C)x.aD)AA:

:

a

(13)当派生类继承一个基类时,默认的继承方式为

A)publicB)protected

C)privateD)不确定

(14)若需要为XV类重载乘法运算符,运算结果为XV类型,在将其声明为类的成员函数时,下列原型声明正确的是

A)XVoperator*(XV,XV);

B)XV*(XV);

C)operator*(XV);

D)XVoperator*(XV);

(15)在定义函数模板或类模板时,开头的保留字是

A)typenameB)template

C)classD)typedef

(16)若需要向一个二进制文件尾部添加数据,则该文件的打开方式为

A)ios_base:

:

app

B)ios_base:

:

binary|ios_base:

:

out

C)ios_base:

:

out

D)ios_base:

:

binary|ios_base:

:

app

(17)在开发一个c++程序的整个过程中,第3个步骤为

A)链接B)运行

C)编辑D)编译

(18)若有定义intx=4,y=5;,则表达式yx++?

x--:

y++的值为

A)3B)4

C)5D)6

(19)有如下程序:

#include

usingnamespacestd;

intmain(){

inti,s=0;

for(i=1;s20;i+=2)s+=i*i;

coutreturn0;

}

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

A)3B)5

C)79)9

(20)若字符指针p所指向的字符串为abcdefg,在执行语句

char*ap=newchar[strlen(p)+1];

之后,ap指向的字符数组的元素个数为

A)9B)8

C)7D)6

(21)有如下程序:

#include

usingnamespacestd;

voidfl(intx){x++;}

voidf2(intx){++x;}

intmain(){

intx=10,y=12;

f1(x);

f2(y);

coutreturn0;

}

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

A)22B)23

C)24D)25

(22)有如下程序:

#include

usingnamespacestd;

classXA{

inta;

public:

staticintb;

XA(intaa):

a(an){b++;}

intgetA(){returna;}

};

intXA:

:

b=0;

intmain(){

XAd1(4),d2(5);

coutreturn0;

}

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

A)9B)11

C)13D)15

(23)有如下程序:

以上是考试频道小编为你收集整理2012年3月全国计算机等级考试二级C++。

#include

usingnamespacestd;

classXX{

intx;

public:

XX(intxx=0):

x(xx){}

intgetX(){returnx;}

};

classYY:

publicXX{

inty;

public:

YY(intxx,intyy):

x(xx),y(yy){}

intgetV(){returngetX()+y;}

};

intmain(){

YYc(3,4);

coutreturn0;

}

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

A)3B)4

C)7D)10

(24)在类中重载赋值运算符时,应将其声明为类的

A)静态函数B)友元函数

C)成员函数D)构造函数

(25)若有函数模板mySwap和一些变量定义如下:

template

voidmySwap(TX,TY);

doubled1,d2;inti1,i2;

下列对mySwap的调用中,错误的是

A)mySwap(i1,i2)

B)mySwap(d1,d2)

C)mySwap(i1,d1)

D)mySwap(i2,d2)

(26)在C++中,打开一个文件时与该文件建立联系的是

A)流对象B)模板

C)函数D)类

(27)已知类IMS中两个成员函数的声明为voidlisten()const;与voidspeak();,

另有两个对象的定义为IMSobj1;与constIMSobj2;,则下列语句中,产生编译错误

的是

A)obj1.listen();

B)obj1.speak();

C)obj2.listen();

D)obj2.speak();

(28)有如下程序:

#include

usingnamespacestd;

classMonkey{

public:

Monkey(){coutM;}

Monkey(charn){cout~Monkey(){coutY;}

};

intmain(){

Monkeyp1,*p2;

p2=newMonkey(X);

deletep2;

return0;

}

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

A)MYXB)MYMY

C)MXYD)MXYY

(29)有如下程序:

#include

usingnamespacestd;

classBoat;

classCar{

public:

Car(inti):

weight(i){}

friendintTotal(constCarc.constBoatb);//①

private:

intweight;

};

classBoat{

public:

Boat(inti):

weight(i){}

friendintTotal(constCarc,constBoatb);

private:

intweight;

};

intTotal(constCarc,constBoatb){//②

returnc.weight+b.weight;

}

intmain(){

Carc(10);

Boatb(8);

coutThetotalweightisreturn0;

}

下列关于程序的描述中,正确的是

A)程序编译正确

B)程序编译时语句①出错

C)程序编译时语句②出错

D)程序编译时语句③出错

(30)有如下程序:

#include

usingnamespacestd;

classMedia{

public:

voidName();

voidShow();

protected:

intpage;

};

classBook:

privateMedia{

public:

voidPrint(){coutvoidShow(){Media:

:

Show();}//①

};

intmain(){

BookBible;

Bible.Name();//②

Bible.Print();//③

Bible.Show();//④

return0;

}

编译时有错误的是

A)语句①B)语句②

C)语句③D)语句④

(31)有如下程序:

#include

usingnamespacestd;

classBase{

public:

virtualvoidShow(){coutB;}

};

classDerived:

publicBase{

public:

voidShow(){coutD;}

};

intmain(){

Base*p1=newDerived;

Derived*p2=newDerived;

p1-Show();

p2-Show();

deletep1;

deletep2;

return0;

}

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

A)BBB)BD

C)DBD)DD

(32)有如下类定义:

classAnimal{

public:

virtualvoidName()=0;

};

classKoala:

publicAnimal{

public:

voidName(){/*函数体略*/}

};

关于上述类定义,下列描述中错误的是

A)类Koala是类Animal的派生类

B)类Koala中的Name函数是一个虚函数

C)类Animal中的Name函数是一个纯虚函数

D)语句Animala;能够建立类Animal的一个对象a

(33)已知类MyClock中未显式定义构造函数,并重载了加法运算符,使得下面的语句

序列能够正确执行:

MyClockc1,c2;

//......

c2=c1+10;

由此可知,为类MyClock重载的+运算符函数的声明是

A)friendMyClockoperator+(MyClock,int);

B)friendMyClockoperator+(MyClock,MyClock);

C)friendMyClockoperator+(int,MyClock);

D)MyClockoperator+(MyClock);

(34)下列控制对齐方式的操作符中,错误的是

A)internalB)centerC)leftD)right

(35)有如下程序:

以上是考试频道小编为你收集整理2012年3月全国计算机等级考试二级C++。

#include

usingnamespacestd;

classMountain{

intheight;

public:

Mountain(inth=0):

height(h){}

virtualchar*GetName()const

{return山;}

intGetHeight()const{returnheight;}

};

classLushan:

publicMountain{

public:

Lushan(intd):

Mountain(d){}

char*GetName()const

{return庐山;}

};

intmain(){

Mountain*p=newLushan(1000);

coutGetName()海拔GetHeight()米;

return0;

}

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

A)庐山海拔1000米

B)庐山海拔0米

C)山海拔1000米

D)山海拔0米

二、填空题(每空2分,共30分)

请将每一个空的正确答案写在答题卡【1】-【15】序号的横线上,答在试卷上不

得分。

(1)在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元

素个数为_____1_____。

(2)设循环队列的存储空间为Q(1:

30),初始状态为front=rear=30。

现经过一系列

入队与退队运算后,front=16,rear=15,则循环队列中有___2___个元素。

(3)数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是___3___。

(4)在将E-R图转换到关系模式时,实体和联系都可以表示成___4___。

(5)常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念

属于___5___。

(6)如果a为int型变量,b为double型变量,则表达式a+b的值的类型为___6___。

(7)break语句可用于循环语句和___7___语句中。

(8)如果P是指向一个动态数组空间的指针变量,则释放该数组空间的语句是___8____。

(9)如果一个函数在其函数体内直接或间接地调用自己,则该函数称为___9___函数。

(10)调用时不必提供参数的构造函数称为___10___构造函数。

(11)有如下程序:

#include

usingnamespacestd;

classMachine{

staticintnum;

public:

Machine(){num++;}

staticvoidshowNum()

{cout};

intMachine:

:

num=0;

intmain(){

Machinea[10],b;

Machine:

:

showNum();

return0;

}

运行这个程序的输出结果是___【11】___。

(12)类Base、Component和Derived的定义如下,请将横线处缺失部分补充完整。

classBase{

doubledata;

public:

Base(doubled):

data(d){}

};

classComponent{

intdata;

public:

Component(intd):

data(d){}

};

classDerived:

publicBase{

Componentcom;

charcharacter;

public:

Derived(doublea,intb,charc):

//使用参数a初始化基类成员,使用参数b初始化成员对象com

___【12】___,character(c){}

};

(13)形状类Shape中包含一个纯虚函数draw,它无形参和返回值,则draw函数在

Shape类中的原型声明是___【13】___。

(14)正方形类的定义如下,请将横线处缺失部分补充完整。

classSquare{

private:

doublewidth;

public:

Square(doublew):

width(w){}

//重载大于运算符,用于比较两个正方形的大小,函数结果类型为bool类型

___【14】___(Squares);

};

(15)有如下程序,请将横线处缺失部分补充完整。

#include

usingnamespacestd;

template

classDataset{

T*data;

intsize;

public:

Dataset(T*arr,intlength):

size(1ength){

data=newT[length];

for(inti=0;idata[i]=arr[i];

}

};

intmain(){

intarr[]={2,4,6,8,10};

//利用数组arr初始化类模板Dataset的对象set

___【15】___

return0;

参考答案:

ADABADADDABACDAACCDB

DBBBABBADADBCCDADCAC

n29数据操作语言关系面向对象方法a=1,b=223k=n074rgb572*a[i]cabtest

以上是考试频道小编为你收集整理2012年3月全国计算机等级考试二级C++。

 

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

当前位置:首页 > 总结汇报 > 其它

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

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