全国计算机等级考试二级C++笔试试题及答案Word文档格式.docx
- 文档编号:18650794
- 上传时间:2022-12-30
- 格式:DOCX
- 页数:10
- 大小:27.24KB
全国计算机等级考试二级C++笔试试题及答案Word文档格式.docx
《全国计算机等级考试二级C++笔试试题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C++笔试试题及答案Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
(9)设有如下关系表:
则下列操作中正确的是
A)T=R∩S
B)T=R∪S
C)T=R×
S
D)T=R/S
(10)数据库系统的核心是
A)数据模型
B)数据库管理系统
C)数据库
D)数据库管理员
(11)下列关于C++函数的叙述中,正确的是
A)每个函数至少要具有一个参数
B)每个函数都必须返回一个值
C)函数在被调用之前必须先声明
D)函数不能自己调用自己
(12)下列关于类和对象的叙述中,错误的是
A)一个类只能有一个对象
B)对象是类的具体实例
C)类是对某一类对象的抽象
D)类和对象的关系是一种数据类型与变量的关系
(13)在C++中,用于实现运行时多态性的是
A)内联函数
B)重载函数
C)模板函数
D)虚函数
(14)下列关于运算符重载的叙述中,正确的是
A)通过运算符重载,可以定义新的运算符
B)有的运算符只能作为成员函数重载
C)若重载运算符+,则相应的运算符函数名是+
D)重载一个二元运算符时,必须声明两个形参
(15)下列关于模板的叙述中,错误的是
A)模板声明中的第一个符号总是关键字template
B)在模板声明中用<
和>
括起来的部分是模板的形参表
C)类模板不能有数据成员
D)在一定条件下函数模板的实参可以省略
(16)对于语句cout<
<
A)“cout”是一个输出流对象
B)“endl”的作用是输出回车换行
C)“x”是一个变量
D)“<
”称作提取运算符
(17)下列字符串中,正确的C++标识符是
A)foo-1
B)2b
C)new
D)_256
(18)已知枚举类型定义语句为:
enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是
A)枚举常量NAME的值为1
B)枚举常量NUMBER的值为1
C)枚举常量MINUS的值为6
D)枚举常量PRINT的值为10
(19)执行语句序列
inti=0;
while(i>
25)i+=3;
cout<
输出结果是
A)24
B)25
C)27
D)28
(20)要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是
A)intvect[]={30,50,-88};
B)intvect[]={30,50,-88,0,0};
C)intvect[5]={30,50,-88};
D)intvect[5]={30,50,-88,0,0};
(21)有如下程序:
#include
voidfun(int&
x,inty){intt=x;
x=y;
y=t;
}
intmain()
{
inta[2]={23,42};
fun(a[1],a[0]);
std:
:
cout<
a[0]<
"
"
<
a[1]<
endl;
return0;
}
执行后的输出结果是
A)42,42
B)23,23
C)23,42
D)42,23
(22)有如下类声明:
classFoo{
intbar;
};
则Foo类的成员bar是
A)公有数据成员
B)公有成员函数
C)私有数据成员
D)私有成员函数
(23)有如下类声明:
classMyBASE{
intk;
public:
voidset(intn){k=n;
intget()const{returnk;
};
classMyDERIVED:
protectedMyBASE{
protected:
intj;
voidset(intm,intn){MyBASE:
set(m);
j=n;
intget()const{returnMyBASE:
get()+j;
则类MyDERIVED中保护的数据成员和成员函数的个数是
A)4
B)3
C)2
D)1
(24)已知在一个类体中包含如下函数原型:
VOLUMEoperator-(VOLUME)const;
,下列关于这个函数的叙述中,错误的是
A)这是运算符-的重载运算符函数
B)这个函数所重载的运算符是一个一元运算符
C)这是一个成员函数
D)这个函数不改变类的任何数据成员的值
(25)有如下函数模板定义:
template
Tfunc(Tx,Ty){
returnx*x+y*y;
在下列对func的调用中,错误的是
A)func(3,5);
B)func(3.0,5.5);
C)func(3,5.5);
D)func(3,5.5);
(26)有如下程序:
#include
usingnamespacestd;
intmain()
{
cout.fill('
*'
);
cout.width(6);
#'
cout<
123<
endl;
A)###123
B)123###
C)***123
D)123***
(27)在下列函数原型中,可以作为类AA构造函数的是
A)voidAA(int);
B)intAA();
C)AA(int)const;
D)AA(int);
(28)下列关于this指针的叙述中,正确的是
A)任何与类相关的函数都有this指针
B)类的成员函数都有this指针
C)类的友元函数都有this指针
D)类的非静态成员函数才有this指针
(29)有如下程序:
usingnamespacestd;
classTest{
Test()
{n+=2;
~Test()
{n-=3;
staticintgetNum(){returnn;
private:
staticintn;
intTest:
n=1;
Test*p=newTest;
deletep;
n="
Test:
getNum()<
A)n=0
B)n=1
C)n=2
D)n=3
(30)有如下程序:
classA{
A(){cout<
A"
;
classB{public:
B(){cout<
B"
}};
classC:
publicA{
Bb;
C(){cout<
C"
intmain(){
Cobj;
A)CBA
B)BAC
C)ACB
D)ABC
(31)有如下类声明:
classXA{
intx;
XA(intn){x=n;
classXB:
publicXA{
inty;
XB(inta,intb);
在构造函数XB的下列定义中,正确的是
A)XB:
XB(inta,intb):
x(a),y(b){}
B)XB:
XA(a),y(b){}
C)XB:
x(a),XB(b){}
D)XB:
XA(a),XB(b){}
(32)有如下程序:
classBASE{
~BASE(){cout<
"
BASE"
classDERIVED:
publicBASE{
~DERIVED(){cout<
DERIVED"
intmain(){DERIVEDx;
return0;
A)BASE
B)DERIVED
C)BASEDERIVED
D)DERIVEDBASE
(33)在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。
下列叙述中正确的是
A)operator+有两个参数,operator*有两个参数
B)operator+有两个参数,operator*有一个参数
C)operator+有一个参数,operator*有两个参数
D)operator+有一个参数,operator*有一个参数
(34)下面关于C++流的叙述中,正确的是
A)cin是一个输入流对象
B)可以用ifstream定义一个输出流对象
C)执行语句序列char*y="
PQMN"
D)执行语句序列char
x[80];
cin.getline(x,80);
时,若键入
Happy
new
year
则x中的字符串是"
Happy"
(35)有如下程序:
classAA{
intn;
AA(intk):
n(k){}
intget(){returnn;
intget()const{returnn+1;
AAa(5);
constAAb(6);
cout<
return0;
执行后的输出结果是
A)55
B)57
C)75
D)77
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
(1)数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是
【1】
。
(2)算法复杂度主要包括时间复杂度和
【2】
复杂度。
(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:
驱动模块和承接模块(桩模块)。
其中
【3】
的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
(4)一棵二叉树第六层(根结点为第一层)的结点数最多为
【4】
个。
(5)数据结构分为逻辑结构和存储结构,循环队列属于
【5】
结构。
(6)下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false。
请在横线处填上适当内容,实现该函数。
boolfun(char*str)
inti=0,j=0;
while(str[j])
【6】
;
for(j--;
i
returni
【7】
j;
(7)执行语句序列
intx=10,&
r=x;
cout>
'
-'
输出结果为
【8】
(8)下列程序的输出结果为
Objectid=0
Objectid=1
请将程序补充完整。
classPoint
Point(intxx=0,intyy=0){X=xx;
Y=yy;
countP++;
}
~Point(){countP--;
intGetX(){returnX;
intGetY(){returnY;
staticvoidGetC(){cout<
Objectid="
ENDL;
}&
NBSP;
intX,Y;
staticintcountP;
【9】
//静态数据成员的初始化
intmain()
Point:
GetC();
PointA(4,5);
A.GetC();
(9)非成员函数应声明为类的
【10】
函数才能访问这个类的private成员。
(10)派生类中的成员不能直接访问基类中的
【11】
成员。
(11)下列程序的输出结果为2,请将程序补充完整。
classBase
【12】
voidfun(){cout<
1;
classDerived:
publicBase
voidfun(){cout<
2;
Base*p=newDerived;
p->
fun();
deletep;
(12)请将下列类定义补充完整。
classBase{public:
Base:
fun"
classDerived:
publicBase{
voidfun(){
【13】
//显式调用基类的fun函数
Derived:
}};
(13)多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但[]运算符只能作为类的
【14】
函数重载。
(14)下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。
栈初始为空,top值为0,栈顶元素在stack[top-1]中,在下面横线处填上适当语句,完成栈类模板的定义。
template
classTstack
enum{size=1000};
Tstack[size];
inttop;
Tstack():
top(0){}
voidpush(constT&
i){
if(top<
SIZE)
stack[top++]=i;
Tpop(){
if(top==0)exit
(1);
//栈空时终止运行
return
【15】
2005年9月全国计算机等级考试二级C++笔试试题答案
选择题:
01.C02.A03.D04.D05.C06.D07.A08.A09.B10.B11.C12.A13.D14.B15.C16.D
17.D18.A19.C20.A21.B22.C23.B24.B25.C26.A27.D28.D29.A30.D31.B32.D
33.C34.A35.B
填空题:
36.数据库系统37.空间38.驱动模块39.3240.存储41.J++
>
=42.10-10
43.intpoint:
countp=044.友元45.私有46.virtual47.Base:
fun()48.成员
49.stack[--top]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 C+ 笔试 试题 答案