全国计算机等级考试无纸化真考题库试卷二级C++(2).docx

上传人:wj 文档编号:4895343 上传时间:2023-05-07 格式:DOCX 页数:28 大小:52.25KB
下载 相关 举报
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第1页
第1页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第2页
第2页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第3页
第3页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第4页
第4页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第5页
第5页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第6页
第6页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第7页
第7页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第8页
第8页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第9页
第9页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第10页
第10页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第11页
第11页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第12页
第12页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第13页
第13页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第14页
第14页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第15页
第15页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第16页
第16页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第17页
第17页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第18页
第18页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第19页
第19页 / 共28页
全国计算机等级考试无纸化真考题库试卷二级C++(2).docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

全国计算机等级考试无纸化真考题库试卷二级C++(2).docx

《全国计算机等级考试无纸化真考题库试卷二级C++(2).docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试无纸化真考题库试卷二级C++(2).docx(28页珍藏版)》请在冰点文库上搜索。

全国计算机等级考试无纸化真考题库试卷二级C++(2).docx

全国计算机等级考试无纸化真考题库试卷

(2)

二级C++

(考试时间l20分钟,满分100分)

一、选择题(每小题1分。

共40分)

(1)一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的

顺序是( )。

A)12345ABCDE

B)EDCBA54321

C)ABCDEl2345

D)5432lEDCBA

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

A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D)循环队列中元素的个数是由队头指针和队尾指针共同决定

(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。

A)O(n)

B)O(n2)

C)O(1092n)

C)0(n1092n)

(4)下列叙述中正确的是( )。

A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

c)顺序存储结构能存储有序表,链式存储结构不能存储有序表

D)链式存储结构比顺序存储结构节省存储空间

(5)数据流图中带有箭头的线段表示的是( )。

A)控制流

B)事件驱动

C)模块调用

D)数据流

(6)在软件开发中,需求分析阶段可以使用的工具是( )。

A)N—s图

B)DFD图

C)PAD图

D)程序流程图

(7)在面向对象方法中,不属于“对象”基本特点的是( )。

A)一致性

B)分类性

C)多态性

D)标识唯一性

(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。

A)一对一

B)一对多

C)多对一

D)多对多

(9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。

A)人工管理阶段

B)文件系统阶段

c)数据库系统阶段

D)三个阶段相同

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

由关系R和S通过运算得到关系T,则所使用的运算为( )。

A)笛卡尔积

B)交

C)并

D)自然连接

(11)下列语句中,错误的是( )。

A)constintbuffer=256;

B)constdouble*point;

C)intconstbuffer=256;

D)double*eonstpoint:

(12)if语句的语法格式可描述为:

格式l:

if(<条件>)<语句>

格式2:

if(<条件>)<语句l>

else<语句2>

关于上面的语法格式,下列表述中错误的是( )。

A)<条件>部分可以是一个if语句,例如if(if(a==0)…)…

B)<语句>部分可以是一个if语句,例如if(…)if(…)…

c)如果在<条件>前加上逻辑非运算符!

并交换<语句l>和<语句2>的位置,语句功能不变

D)<语句>部分可以是一个循环语句,例如if(…)while(…)…

(13)有如下说明:

inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;

则数值为9的表达式是()。

A)*P+9

B)木(P+8)

C)*P+=9

D)P+8

(14)有如下程序段:

inti=0,J=1;

int&r=i;//①

r=j;//②

int*P=&i;//⑧

*P=&r;//④

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

A)④

B)③

C)②

D)①

(15)下列字符串中。

不可以用做c++标识符的是( )。

A)y_2006

B)_EST_H

C)Return

D)switch

(16)为了取代c中带参数的宏,在c++中使用( )。

A)重载函数

B)内联函数

C)递归函数

D)友元函数

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

A)操作数类型

B)操作数个数

C)优先级

D)结合性

(18)在函数中,可以用aut0、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说

明存储类型,则默认的存储类型是( )。

A)auto

B)extern

C)register

D)static

(19)下列运算符函数中肯定不属于类FunNumber的成员函数的是( )。

A)intoperator一(FunNumber);

B)FunNumberoperator一();

C)FunNumberoperator一(int);

D)intoperator一(FunNumber,FunNumber);

(20)若有下面的函数调用:

fun(fl+b,3,max(n一1,b))

则fun的实参个数是( )。

A)3

B)4

C)5

D)6

(21)关于运算符重载,下列表述中正确的是( )。

A)c++已有的任何运算符都可以重载

B)运算符函数的返回类型不能声明为基本数据类型

C)在类型转换符函数的定义中不需要声明返回类型

D)可以通过运算符重载来创建c++中原来没有的运算符

(22)有如下程序:

#nclude

usingnamespacestd;

intmain()

{

voidfunction(doubleval);

doubleval;

function(val);

cout<

return0;

}

voidfunction(doubleval)

}val=3;}

编译运行这个程序将出现的情况是( )。

A)编译出错,无法运行

B)输出:

3

c)输出:

3.0

D)输出一个不确定的数

(23)下列情况中,不会调用拷贝构造函数的是( )。

A)用一个对象去初始化同一类的另一个新对象时

B)将类的一个对象赋值给该类的另一个对象时

c)函数的形参是类的对象,调用函数进行形参和实参结合时

D)函数的返回值是类的对象,函数执行返回调用时

(24)以下关键字不能用来声明类的访问权限的是( )。

A)public

B)static

C)protected

D)private

(25)由于常对象不能被更新,因此( )。

A)通过常对象只能调用它的常成员函数

B)通过常对象只能调用静态成员函数

C)常对象的成员都是常成员

D)通过常对象可以调用任何不改变对象值的成员函数

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

A)如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员

B)派生类的成员函数可以访问基类的所有成员

C)基类对象可以赋值给派生类对象

D)如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类

(27)在公有继承的情况下,允许派生类直接访问的基类成员包括( )。

A)公有成员

B)公有成员和保护成员

C)公有成员、保护成员和私有成员

D)保护成员

(28)有如下程序:

#include

usingnamespacestd;

classBase{

public:

voidfun(){

__________________

cout<<”Base:

fun”<

};

classDerived:

publicBase{

public:

voidfun(){

cout<<”Derived:

fun”<

}

};

intmain(){

Derivedd;

d.fun();

return0;

}

已知其执行后的输出结果为:

Base:

fun

Derived:

fun

则程序中下画线处应填人的语句是( )。

A)Base.fun();

B)Base:

fun();

C)Base—>fun();

D)fun();

(29)有如下程序:

#include

usingnamespacestd;

classMyClass{

public:

MyClass(){cout<<’A’;}

MyClass(charC){cout<

~MyClass(){cout<<’B’;}

};

intmain(){

MyClasspl,+p2;

p2=newMyClass(’X’);

deletep2;

return0;

}

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

A)ABX

B)ABXB

C)AXB

D)AXBB

(30)有如下程序:

#include

usingnamespacestd;

inti=1;

classFun{

public:

staticinti;

intvalue(){returni—l;}

intvalue()const{returni+1;}

};

intFun:

i=2;

intmain(){

inti=3;

Funfunl;

constFunfun2:

__________________

return0;

}

若程序的输出结果是:

123

则程序中下画线处遗漏的语句是( )。

A)cout<

i<

B)tout<

i<

C)cout<

i:

D)eout<

i<

(31)有如下程序:

#include

usingnamespacestd;

classObj{

staticinti;

public:

Obj(){i++;}

一Obj(){i一一;}

staticintgetVal(){returni;}

};

intObj:

i=0:

voidf(){Objob2;cout<

intmain(){

Objobl;

f();

Obj}ob3=newObj;cout<getVal();

deleteob3;cout<

9etVal();

return0;

}

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

A)232

B)231

C)222

D)221

(32)有如下程序:

#include

usingnamespacestd;

classPair{

intm,n;

public:

Pair(intj,intk):

m(j),n(k){}

intget(){returnm;}

intget()const{returnm+n;}

};

intmain(){

Paira(3,5);

constPairb(3,5);

tout<

returnU:

}

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

A)33

B)38

C)83

D)88

(33)有如下程序:

#include

usingnamespacestd;

classBase{

protected:

Base(){cout<<’A’;}

Base(charC){cout<

};

classDerived:

publicBase{

public:

Derived(charc){tout<

};

intmain(){

Deriveddl(’B’);

retum0;

}

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

A)B

B)BA

C)AB

D)BB

(34)有如下类定义:

classMyBase{

intk;

public:

MyBase(intn=O):

k(n)}}

intvalue()eonst{returnk;}

};

classMyDerived:

MyBase{

intj;

public:

MyDerived(inti):

j(i)}}

intgetK()const{returnk;}

intgetJ()const{returnj;}

};

编译时发现有一处语法错误,对这个错误最准确的描述是( )。

A)函数9etK试图访问基类的私有成员变量k

B)在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private

C)类MyDerived缺少一个无参的构造函数

D)类MyDerived的构造函数没有对基类数据成员k进行初始化

(35)有如下程序:

#include

usingnamespacestd;

classInstrument{

public:

virtualvoidDisplay()=0;

};

classPian0:

publicInstrument}

public:

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

};

intmain(){

InstrumentS;

Instrument*P=0:

//…;

return0;

}

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

A)语句“Insturment*P=0;”编译时出错

B)语句“Instnunents;”编译时出错

C)类Pian0中的Display函数不是虚函数

D)类Instrument是一个虚基类

(36)有如下程序:

#include

usingnamespacestd;

classA{

public:

virtualvoidfancl(){cout<<”Al”;}

voidfunc2(){cout<<”A2”;}

};

classB:

publicA{

public:

voidfuncI(){tout<<”Bl”;}

voidfunc2(){tout<<”B2”;}

};

intmain()}

A*P=newB:

P—>funcl();

P—>func2();

deletep;

return0;

}

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

A)B182

B)A1A2

C)B1A2

D)AIB2

(37)关于在调用模板函数时模板实参的使用,下列表述中正确的是( )。

A)对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略

B)对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略

C)对于虚拟类型参数所对应的模板实参,若能够省略则必须省略

D)对于常规参数所对应的模板实参,任何情况下都不能省略

(38)关于关键字class和typename,下列表述中正确的是( )。

A) 程序中的typename都可以替换为class

B)程序中的class都可以替换为typename

C)在模板形参表中只能用{ypename来声明参数的类型

D)在模板形参表中只能用class或typenanle来声明参数的类型

(39)在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是( )。

A)ios_base:

cur

B)ios—base:

beg

C)los_base:

0ut

D)ios—base:

end

(40)下列关于c++流的描述中,错误的是( )。

A)cout>>’A’表达式可输出字符A

B)eof()函数可以检测是否到达文件尾

C)对磁盘文件进行流操作时,必须包含头文件fstream

D)以ios_base:

0ut模式打开的文件不存在时,将自动建立一个新文件

二、基本操作题(共l8分)

请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,此工程中包含一个源程序文件

main.cpp,其中有类Book(“书”)和主函数main的定义。

程序中位于每个“//ERROR****found****”下

的语句行有错误,请加以改正。

改正后程序的输出结果应该是:

书名:

C++语句程序设计总页数:

299

已把“c++语言程序设计”翻到第50页

已把“c++语言程序设计”翻到第51页

已把“c++语言程序设计”翻到第52页

已把“c++语言程序设计”翻到第51页

已把书合上。

当前页:

0

注意:

只修改每个“//ERROR***found***”下的那一行,不要改动程序中的其他内容。

#include

usingnamespacestd;

classBook{

char*title;

intnum—pages;//页数

intcur_page;//当前打开页面的页码,0表示书未打开

public:

//ERROR***********found***********

Book(constchar*theTitle,intpages)num_pages(pages)

{

title=newchar[strlen(theTitle)+1];

strepy(title,theTitle);

cout<

”<

<<”总页数:

”<

}

~Book(){delete[]title;}

boolisClosed()const{returncur_page==0;}//书合上时返回true,否则返回false

boolisOpen()const{return!

isClosed();}//书打开时返回true,否则返回false

intnumOfPages()const{returnnum_pages;}//返回书的页数

intcurrentPage()const{returncur_page;}//返回打开页面的页码

//ERROR***********found***********

voidopenAtPage(intpage_no)const{//把书翻到指定页

cout<

i“page_nohum_pages){

tOUt<<”无法翻到第”<

”;

ClOSe();

}

else{

cur_page=page_n0;

tout<<”已把“"<

}

}

voidopenAtPrevPage(){openAtPage(curpage—1);{//把书翻到上一页

voidopenAtNextPage(){openAtPage(cur_page+1);}//把书翻到下一页

voidclose(){//把书合上

tout<

if(isClosed())

tout<<"书是合上的。

";

else{

//ERROR**********found**********

num_pages=0;

cout<<”已把书合上。

”;

}

cOut<

}

};

intmain(){

Bookbook(”C++语言程序设计”,299);

book.openAtPage(50);

book.openAtNextPage();

book.openAtNextPage();

book.openA.tPrevPage();

book.close();

tout<<”当前页:

”<

return0:

}

三、简单应用题(共24分)

请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2。

此工程中包含一个源程序文件

main.cpp,其中有“房间”类Room及其派生出的“办公室”类0ffice的定义,还有主函数main的定义。

请在程

序中“//****found****”下的横线处填写适当的代码并删除横线,以实现上述类定义。

此程序的正确输出

结果应为:

办公室房间号:

308

办公室长度:

5.6

办公室宽度:

4.8

办公室面积:

26.88

办公室所属部门:

会计科

注意:

只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“///料料found••料”。

#include

usingnamespaeestd;

classRoom{//“房间”类

introom_n0;//房间号

doublelength;//房间长度(m)

doublewidth;//房间宽度(n1)

public:

Room(intthe—room—n0,doublethe~length,doublethe—width):

loom—no(the—room—no),length(the—

length),width(the—width){}

inttheRoomNo()eonst{returniDonl—n0;}

//返回房间号

doubletheLength()const{returnlength;}//返回房间长度

doubletheWidth()const{returnwidth;}//返回房间宽度

//**********found**********

doubletheArea()const{_______________}//返回房间面积(矩形面积)

};

classOffice:

publicRoom{//“办公室”类

char*depart;//所属部门

public:

Office(intthe_room_n0,doublethe_length,doublethe_width,eonstchar木the_depart)

//**********found**********

_______________{

depart=newchar[strlen(thedepart)+1];

//**********found**********

strcpy(_______________);

}

~Office(){delete[]depart;}

constchar*theDepartment()const{returndepart;}//返回所属部门

};

intmain(){

//**********found**********

Office_______________;

cout<<”办公室房间号:

”<

<<”办公室长度:

”<

<<”办公室宽度:

”<

<<”办公室面积:

”<

<<”办公室所属部门:

”<

return0;

}

四、综合应用题(共18分J

请使用VC6或使用【答题】菜单打开考生文件夹pr

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2