至10年全国计算机等级考试二级C++笔试试题及答案.docx

上传人:b****1 文档编号:3175336 上传时间:2023-05-05 格式:DOCX 页数:52 大小:565.80KB
下载 相关 举报
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第1页
第1页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第2页
第2页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第3页
第3页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第4页
第4页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第5页
第5页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第6页
第6页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第7页
第7页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第8页
第8页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第9页
第9页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第10页
第10页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第11页
第11页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第12页
第12页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第13页
第13页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第14页
第14页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第15页
第15页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第16页
第16页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第17页
第17页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第18页
第18页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第19页
第19页 / 共52页
至10年全国计算机等级考试二级C++笔试试题及答案.docx_第20页
第20页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

至10年全国计算机等级考试二级C++笔试试题及答案.docx

《至10年全国计算机等级考试二级C++笔试试题及答案.docx》由会员分享,可在线阅读,更多相关《至10年全国计算机等级考试二级C++笔试试题及答案.docx(52页珍藏版)》请在冰点文库上搜索。

至10年全国计算机等级考试二级C++笔试试题及答案.docx

至10年全国计算机等级考试二级C++笔试试题及答案

2008年9月全国计算机等级考试二级C++真题试卷及答案

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

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

A)123456ABCDE

B)EDCBA54321

C)ABCDE12345D)54321EDCBA

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

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

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

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

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

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

A)O(n)B)O(n2)

C)O(log2n)D)O(nlog2n)

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

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

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

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

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

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

A)控制流

C)模块调用

B)事件驱动

D)数据流

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

A)N-S图

C)PAD图

B)DFD图

D)程序流程图

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

A)一致性

C)多态性

B)分类性

D)标识唯一性

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

A)一对一

C)多对一

B)一对多

D)多对多

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

A)人工管理阶段

C)数据库系统阶段

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

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

A)笛卡尔积

B)交

C)并

D)自然连接

(11)在下列原型所示的C++函数中,按“传值”方式传递参数的是()。

A)voidf1(intx);B)voidf2(int*x);

C)voidf3(constint*x);D)voidf4(int&x)

(12)在C++中,编译系统自动为一个类生成缺省构造函数的条件是()。

A)该类没有定义任何有参构造函数

B)该类没有定义任何无参构造函数

C)该类没有定义任何构造函数

D)该类没有定义任何成员函数

(13)在一个派生类的成员函数中,试图调用其基类的成员函数“voidf();”,但无法通过编

译。

这说明()。

A)f()是基类的私有成员

C)派生类的继承方式为私有

B)f()是基类的保护成员

D)派生类的继承方式为保护

(14)下列关于运算符重载的叙述中,错误的是()。

A)有的运算符可以作为非成员函数重载

B)所有的运算符都可以通过重载而被赋予新的含义

C)不得为重载的运算符函数的参数设置默认值

D)有的运算符只能作为成员函数重载

(15)下列关于模板的叙述中,错误的是()。

A)调用模版函数时,在一定条件下可以省略模板实参

B)可以用int、double这样的类型修饰符来声明模版参数

C)模板声明中的关键字class都可以用关键字typename替代

D)模板的形参表中可以有多个参数

(16)要利用C++流进行文件操作,必须在程序中包含的头文件是()。

A)iostreamB)fstreamC)strstreamD)iomanip

(17)下列字符串中不能作为C++标识符使用的是()。

A)WHILEB)userC)_lvarD)9stars

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

A)constinta;

B)constinta=10;

C)constint*point=0;

D)constint*point=newint(10);

(19)有如下程序:

#include

usingnamespacestd;

intmain(){

intsum;

for(inti=0;i<6;i+=3){

sum=i;

for(intj=i;j<6;j++)sum+=j;

}

cout<

return0;

}

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

A)3B)10C)12D)15

(20)下列语句中,正确的是()。

A)char*myString="Hello-World!

";

B)charmyString="Hello-World!

";

C)charmyString[11]="Hello-World!

";

D)charmyString[12]="Hello-World!

";

(21)若已经声明了函数原型“voidfun(inta,doubleb=0.0);”,则下列重载函数声明中正确

的是()。

A)voidfun(inta=90,doubleb=0.0);B)intfun(inta,doubleB);

C)voidfun(doublea,intB);D)boolfun(inta,doubleb=0.0);

(22)有如下程序:

#include

usingnamespacestd;

classSample{

public:

Sample(){}

~Sample(){cout<<'*';}

};

intmain(){

Sampletemp[2],*pTemp[2];

return0;

}

执行这个程序输出星号(*)的个数为()。

A)1

B)2

C)3

D)4

(23)下列选项中,与实现运行时多态性无关的是()。

A)重载函数B)虚函数C)指针D)引用

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

A)Valueoperator+(Value);

C)Valueoperator*(int);

B)Valueoperator-(Value,Value);

D)Valueoperator/(Value);

(25)下列模板声明中,有语法错误的是()。

A)templateTfun(Tx){returnx;}

B)templateTfun(Tx,intn){returnx*n;}

C)templateTfun(T*p){return*p;}

D)templateTclassA{Tn;};

(26)在语句“cout<<'A';”中,cout是()。

A)类名

C)函数名

(27)有如下程序:

#include

usingnamespacestd;

classMyClass{

public:

MyClass(inti=0){cout<<1;}

MyClass(constMyClass&x){cout<<2;}

B)对象名

D)C++的关键字

MyClass&operator=(constMyClass&x){cout<<3;return*this;}

~MyClass(){cout<<4;}

};

intmain(){

MyClassobj1

(1),obj2

(2),obj3(obj1);

return0:

}

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

A)112444B)11114444C)121444D)11314444

(28)有如下程序:

#include

usingnamespacestd;

classMyClass{

public:

MyClass(intx):

val(x){}

voidSet(intx){val=x;}

voidPrint()const{cout<<"val="<

private:

intval;

};

intmain(){

constMyClassobj1(10);

MyClassobj2(20);

obj1.Print();//语句1

obj2.Print();//语句2

obj1.Set(20);//语句3

obj2.Set(30);//语句4

return0;

}

其主函数中错误的语句是(

)。

A)语句1

B)语句2

C)语句3

D)语句4

(29)在类声明中,紧跟在“public:

”后声明的成员的访问权限是()。

A)私有

B)公有

C)保护

D)默认

(30)对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明

该基类成员的访问权限是()。

A)公有或私有

B)私有

C)保护或私有

D)公有或保护

(31)定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为()。

A)私有继承

B)非私有继承

C)保护继承

D)公有继承

(32)建立一个有成员对象的派生类对象时,各构造函数体的执行次序为()。

A)派生类、成员对象类、基类

B)成员对象类、基类、派生类

C)基类、成员对象类、派生类

D)基类、派生类、成员对象类

(33)如果表达式a>=b中的“>=”是作为非成员函数重载的运算符,则可以等效地表示为

()。

A)a.operator>=(b)B)b.operatotr>=(a)

C)operator>=(a,b)D)operator>=(b,a)

(34)当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为

()。

A)iosbase:

:

in

B)ios_base:

:

binary

C)ios_base:

:

in|ios_base:

ut

D)ios_base:

ut

(35)在一个抽象类中,一定包含有()。

A)虚函数B)纯虚函数

C)模板函数D)重载函数

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

(1)对下列二叉树进行中序遍历的结果___________。

(2)按照软件测试的一般步骤,集成测试应在___________测试之后进行。

(3)软件工程三要素包括方法、工具和过程,其中,___________支持软件开发的各个环节

的控制和管理。

(4)数据库设计包括概念设计、___________和物理设计。

(5)在二维表中,元组的___________不能再分成更小的数据项。

(6)当使用关键字___________作为函数返回类型时,该函数不返回任何值。

(7)已知数组a中有n个元素,下列语句将数组a中从下标xl开始的k个元素移动到从下

标x2开始的k个元素中,其中0<=xl

For(inti=xl+k-1;i>=xl;i--)

a[___________]=a;

(8)有如下程序:

#include

usingnamespacestd;

intfun1(intx){return++x;}

intfun2(int&x){return++x;}

intmain(){

intx=1,y=2;

y=fun1(fun2(x));

cout<

return0:

}

程序的输出结果是___________。

(9)有如下程序:

#include

usingnamespacestd;

classpumpkin{

public:

pumpkin(){++count;}

~pumpkin(){--count;}

staticvoidtotal_count(){

cout<

}

private:

staticintcount;

};

intpumpkin:

:

count=0;

intmain(){

pumpkinpl[10];

pumpkin:

:

total_count();

return0;

}

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

(10)有如下递归函数:

intFun(intn){

if(n<=1)return1;

___________

}

请补充完整,使得函数Fun能够正确计算形参n的阶乘。

(11)请在下列程序中的空格处填写正确的语句:

classSample{

public:

Sample(){}

~Sample(){}

voidSetData(intdata){//将Sample类成员变量data设置成形参的值

___________

}

private:

intdata;

};

(12)有如下类定义,请将Sample类的拷贝构造函数补充完整。

classSample{

public:

Sample(){)

~Sample(){if(p)deletep;)

Sample(constSample&s){

___________

}

voidSetData(intdata){p=newint(data);}

private:

int*p;

};

(13)重载加法运算符“+”,其函数名是___________。

(14)有如下程序:

#include

usingnamespacestd;

classWages{//“工资”类

doublebase;//基本工资

doublebonus;//奖金

doubletax;//税金

public:

Wages(doubleCBase,doubleCBonus,doubleCTax):

base(CBase),bonus(CBonus),tax(CTax){}

doublegetPay()const;//返回应付工资额

Wagesoperator+(Wagesw)const;//重载加法

};

doubleWages:

:

getPay()const{returnbase+bonus-tax;}

WagesWages:

perator+(Wagesw)const{

returnWages(base+w.base,bonus+w.bonus,tax+w.tax);

}

intmain(){

Wageswl(2000,500,100),w2(5000,1000,300);

cout<<(wl+w2).getPay0<

retun0;

}

程序的输出结果是___________

(15)有如下程序:

#include

usingnamespacestd;

classPet{

charname[10];

public:

Pet(char*name){strcpy(this->name,name);}

constchar*getName()const{returnname;}

virtualvoidcall()const=0;

};

classDog:

publicPet{

public:

Dog(char*name)et(name){}

voidcall()const{cout<<"汪汪叫";}

};

classCat:

publicPet{

public:

Cat(char*name)et(name){}

voidcall()const{cout<<"喵喵叫";}

};

intmain(){

Pet*pet1=newDog("哈克"),*pet2=newCat("吉米");

coutcall();cout<

coutcall();cout<

return0;

2008年9月二级C++笔试试卷参考答案

一、选择题

(1)B)

(2)D)(6)B)(7)A)(11)A)(12)A)(16)B)(17)B)

(21)C)(22)C)(26)B)(27)C)(31)A)(32)C)(3)C)

(8)B)(13)C)(18)D)(23)A)(28)B)(33)A)(4)A)(9)C)

(14)B)(19)A)(24)D)(29)A)(34)B)(5)D)(10)D(15)D

(20)D(25)C)(30)D(35)C)

二、填空题

(1)DBXEAYFZC

(2)单元(3)过程(4)逻辑设计(5)分量(6)联接

(7)设计(8)选择结构(或条件结构)(9)RunSQL(10)动态(11)64

(12)num(13)f0+f1(14)rs.eof(15)fd

2009年3月计算机等级考试二级C++语言真题及参考答案

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

 

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

   A)栈是“先进先出”的线性表

   B)队列是“先进后出”的线性表

   C)循环队列是非线性结构

   D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构   

 

(2)支持子程序调用的数据结构是

   A)栈

   B)树

   C)队列

   D)二叉树   

 (3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是

   A)10

   B)8

   C)6

   D)4   

 (4)下列排序方法中,最坏情况下比较次数最少的是

   A)冒泡排序

   B)简单选择排序

   C)直接插入排序

   D)堆排序   

 (5)软件按功能可以分为:

应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是

   A)编译程序

   B)操作系统

   C)教务管理系统

   D)汇编程序   

 (6)下面叙述中错误的是

   A)软件测试的目的是发现错误并改正错误

   B)对被调试的程序进行“错误定位”是程序调试的必要步骤

   C)程序调试通常也称为Debug

   D)软件测试应严格执行测试计划,排除测试的随意性   

 (7)耦合性和内聚性是对模块独立性度量的两个标准。

下列叙述中正确的是

   A)提高耦合性降低内聚性有利他哦高模块的独立性

   B)降低耦合性提高内聚性有利于提高模块的独立性

   C)耦合性是指一个模块内部各个元索间彼此结合的紧密程度

   D)内聚性是指模块间互相连接的紧密程度   

 (8)数据库应用系统中的核心问题是

   A)数据库设计

   B)数据库系统设计

   C)数据库维护

   D)数据库管理员培训   

 (9)有两个关系R,S如下:

 

 

   由关系R通过运算得到关系S,则所使用的运算为

   A)选择

   B)投影

   C)插入

   D)连接   

 (10)将E-R图转换为关系模式时,实体和联系都可以表示为

   A)属性

   B)键

   C)关系

   D)域   

 (11)对C++编译器区分重载函数无任何意义的信息是

   A)参数类型

   B)参数个数

   C)返回值类型

   D)常成员函数关键字coast   

 (12)有如下类定义和变量定义:

   classA{

   publie:

   A(){data=0;}

   ~A(){}

   intGetData()coast{returndata;}

   voidSetData(intn) {data=n;}

   private:

   intdata;

   };

   ccnstAa;

   Ab;

   下列函数调用中错误的是

   A)a.GetData();

   B)a.SetData(10);

   C)b.GetData();

   D)b.SetData(10);   

 (13)有如下类定义和变量定义:

   classParents{

   public:

   intpublicuata;

   private:

   intprivateData;

   };

   classChildA:

publicParents{/*类体略*/};

   classChildB:

privateParents{/*类体略*/);

   ChildAa;

   ChildBb;

   下列语句中正确的是

   A)cout<

   B)cout<

   C)cout<

   D)cout<

 (14)运算符重载时不需要保持的性质是

   A)操作数个数

   B)操作数类型

   C)优先级

   D)结合性   

 (15)下列关于函数模板的描述中,错误的是

   A)从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准

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

   C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参

   D)模板参数表不能为空   

 (16)要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是

   A)ifstreamfin=ifstream.open(“file.dat”);

   B)ifstream*fir.=newifstream(“file.dat”);

   C)ifstreamfin;fin.open(“file.dat”);

   D)ifstream*fin=newifstream();fin一>open(“file.dat”);   

 (17)下列描述中,不属于面向对象思想主要特征的是

   A)封装性

   B)跨平台性

   C)继承性

   D)多态性   

 (18)有如下程序段:

   Tnti=4;intj=l;

   intmain(){

   inti=8,j=i;

   cout<

   }

   运行时的输出结果是

   A)44            

   B)41           

   C)88          

   D)81   

 (19)有如下程序段:

   inti=5;

   while(inti=0){cout《'*

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

当前位置:首页 > 医药卫生 > 基础医学

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

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