全国计算机等级考试历年真题及答案Word文件下载.docx
《全国计算机等级考试历年真题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试历年真题及答案Word文件下载.docx(51页珍藏版)》请在冰豆网上搜索。
![全国计算机等级考试历年真题及答案Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-1/28/e9dba707-5821-4a96-8d59-9a0c6a5e36e6/e9dba707-5821-4a96-8d59-9a0c6a5e36e61.gif)
=ch<
D)ch>
&
(13)已知下列语句中的x和y都是int型变量,其中错误的语句
A)x=y++;
B)x=++y;
C)(x+y)++;
D)++x=y;
(14)执行语句序列
intn;
cin>
>
n;
switch(n)
{case1:
case2:
cout<
'
1'
;
case3:
case4:
2'
break;
default:
3'
}
时,若键盘输入1,则屏幕显示
A)1B)2C)3D)12
(15)下列程序的输出结果是
#include<
iostream>
usingnamespacestd;
intmain()
{
chara[]="
Hello,World"
char*ptr=a;
while(*ptr)
{
if(*ptr>
='
a'
*ptr<
z'
)
char(*ptr+'
-'
);
elsecout<
*ptr;
ptr++;
}
return0;
A)HELLO,WORLDB)Hello,World
C)hELLO,wORLDD)hello,world
(16)已知:
intm=10;
在下列定义引用的语句中,正确的是
A)int&
x=m;
B)inty=&
m;
C)int&
z;
D)int&
t=&
(17)下列函数原型声明中错误的是
A)voidFun(intx=0,inty=0);
B)voidFun(intx,inty);
C)voidFun(intx,inty=0);
D)voidFun(intx=0,inty);
(18)已知程序中已经定义了函数test,其原型是inttest(int,int,int);
,则下列重载形式中正确的是
A)chartest(int,int,int);
B)doubletest(int,int,double);
C)inttest(int,int,int=0);
D)floattest(int,int,float=3.5F);
(19)有以下程序
#include<
inti=0;
voidfun()
{{
staticinti=1;
std:
:
cout<
i++<
'
'
std:
i<
fun();
程序执行后的输出结果是
A)1,2,1,2,B)1,2,2,3,C)2,0,3,0,D)1,0,2,0,
(20)已知函数f的原型是:
voidf(int*a,long&
b);
变量v1、v2的定义是:
intv1;
longv2;
,正确的调用语句是
A)f(v1,&
v2);
B)f(v1,v2);
C)f(&
v1,v2);
D)f(&
v1,&
(21)有以下类定义
classMyClass
public:
MyClass(){cout<
1;
};
则执行语句MyClassa,b[2],*p[2];
后,程序的输出结果是
A)11B)111C)1111D)11111
(22)关于友元,下列说法错误的是
A)如果类A是类B的友元,那么类B也是类A的友元
B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员
C)友元关系不能被继承
D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元
(23)关于动态存储分配,下列说法正确的是
A)new和delete是C++语言中专门用于动态内存分配和释放的函数
B)动态分配的内存空间也可以被初始化
C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间
D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new
(24)有以下程序
MyClass(intn){number=n;
4C.)cout<
"
OK"
FAIL"
后,如果文件打开成功显示“OK”,否则就显示“F厶n。
”。
由此可知,上面if语句的...
处的表达式应是
A)()或outfileB)()或!
outfile
C)()或outfileD)()或!
(32)C++流中重载的运算符>
是一个()
A)用于输出操作的非成员函数B)用于输入操作的非成员函数
C)用于输出操作的成员函数D)用于输入操作的成员函数
(33)有以下类定义
classPoint{
Point(intx=0,inty=0){=x;
=y;
voidMove(intxOff,intyOff)
{_x+=xOff;
+=yOff;
voidPrint()const
{cout<
('
<
_x<
_y<
)'
endl;
private:
int_x,_y;
下列语句中会发生编译错误的是
A)Pointpt;
();
B)constPointpt;
C)Pointpt;
(l,2);
D)constPointpt;
(34)有以下类定义
intid;
chargender,
char*phone;
MyClass():
id(0),gender('
#'
),phone(NULL){}
MyClass(intno,charge='
char*ph=NULl.)
{id=no;
gende=ge;
phone=ph;
下列类对象定义语句中错误的是
A)MyClassmyObj;
B)MyClassmyObj(11,"
"
C)MyClassmyObj(12,'
m'
D)MyClassmyObj(12);
(35)有以下程序
classComplex
Complex(doubler=0,doublei=0):
re(r),im(i){}
doublereal()const{returnre;
doubleimag()const{returnim;
Complexoperator+(Complexc)const
{returnComplex(re+,im+;
doublere,im;
{
Complexa=Complex(l,1)+Complex(5);
cout<
()<
+'
i'
return0;
A)6+6iB)6+1iC)1+6iD)1+1i
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡[1]-[15]序号的横线上,答在试卷上不得分。
注意:
以命令关键字填空的必须拼写完整。
(1)算法的复杂度主要包括[1]复杂度和空间复杂度。
(2)数据的逻辑结构在计算机存储空间中的存放形式称为数据的[2]。
(3)若按功能划分,软件测试的方法通常分为白盒测试方法和[3]测试方法。
(4)如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在[4]的联系。
(5)关系数据库管理系统能实现的专门关系运算包括选择、连接和[5]。
(6)设有定义语句:
inta=12;
,则表达式a*=2+3的运算结果是[6]。
(7)从实现的角度划分,C++所支持的两种多态性分别是[7]时的多态性和运行时的多态性。
(8)将—个函数声明为一个类的友元函数必须使用关键字[8]。
(9)请按下面注释的提示,将类B的构造函数定义补充完整。
classA
inta;
A(intaa=0){a=aa;
classB:
publicA{
intb;
Ac;
.*2*1)
unsignedfact(unsignedn)
{
if(n<
=1)
return1;
return[12];
(13)下列程序的输出结果是[13]。
template<
tytenameT>
Tfun(Ta,Tb){return(a<
=b)?
b;
fun(3,6)<
fun(3.14F,6.28F)<
(14)与成员访问表达式p->
name等价的表达式是[14]。
(15)下列程序的输出结果是[15]。
classbase{
public:
intn;
base(intx){n=x;
virtualvoidset(intm){n=m;
n<
classderiveA:
publicbase{
deriveA(intx):
base(x){}
voidset(mtm){n+=m;
classderiveB:
publicbase[
deriveB(intx):
voidset(intm){n+=m;
n<
deriveAdl
(1);
deriveBd2(3);
base*pbase;
pbase=&
dl;
pbase->
aet
(1);
d2;
set
(2);
2004年9月
公共基础知识及C++语言程序设计
答案及评分标准
选择题(
(1)—(35)每小题2分,共70分)
(1)C
(2)C(3)B(4)A(5)D
(6)B(7)D(8)B(9)C(10)A
(11)D(12)D(13)C(14)D(15)A
(16)A(17)D(18)B(19)D(20)C
(21)B(22)A(23)B(24)B(25)C
(26)D(27)C(28)A(29)A(30)C
(31)C(32)B(33)D(34)B(35)B
(1)[1]时间
(2)[2]存储结构或物理结构或物理存储结构
(3)[3]黑盒或黑箱
(4)[4]一对多或1对多或I:
M或I:
N(其中M、N大小写均可)
(5)[5]投影
(6)[6]60
(7)[7]编译
(8)[8]friend
(9)[9]A(aa),c(aa+1)或c(aa+1),A(aa)
(10)[10]7
(11)[11]042
(12)[12]n*fact(n-1)
(13)[13]3,
(14)[14](*p).name
(15)[15]25
2010年3月计算机等级考试二级C++笔试试题
一、选择题(每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是
A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
(2)算法的时间复杂度是指
A)算法的执行时间
B)算法所处理的数据量
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的基本运算次数
(3)软件按功能可以分为:
应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是
A)编辑软件
B)操作系统
C)教务管理系统
D)浏览器
(4)软件(程序)调试的任务是
A)诊断和改正程序中的错误
B)尽可能多地发现程序中的错误
C)发现并改正程序中的所有错误
D)确定程序中错误的性质
(5)数据流程图(DFD图)是
A)软件概要设计的工具
B)软件详细设计的工具
C)结构化方法的需求分析工具
D)面向对象方法的需求分析工具
(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于
A)定义阶段
B)开发阶段
C)维护阶段
D)上述三个阶段
(7)数据库管理系统中负责数据模式定义的语言是
A)数据定义语言
B)数据管理语言
C)数据操纵语言
D)数据控制语言
(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是
A)文件
B)数据库
C)字段
D)记录
(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
A)需求分析阶段
B)逻辑设计阶段
C)概念设计阶段
D)物理设计阶段
(10)有两个关系R和T如下:
则由关系R得到关系T的操作是
A)选择
B)投影
C)交
D)并
(11)下列关于函数的描述中,错误的是
A)函数可以没有返回值
B)函数可以没有参数
C)函数可以是一个类的成员
D)函数不能被定义为模板
(12)若MyClass是一个类名,且有如下语句序列
MyClassc1,*c2;
MyClass*c3=newMyClass;
MyClass&
c4=c1;
上面的语句序列所定义的类对象的个数是
A)1
B)2
C)3
D)4
(13)下列关于继承方式的描述中,错误的是
A)如果不显式地指定继承方式,缺省的继承方式是私有(private)
B)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员
C)采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员
D)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员
(14)将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是
A)Decr&
operator--(int);
B)Decroperator--(Decr&
int);
C)friendDecr&
operator--(Decr&
D)frlendDecroperator--(Decr&
(15)若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列
MyTempp2;
MyTempp3[2];
编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是
D)0
(16)在C++中,cin是个
A)类
B)对象
C)模板
D)函数
(17)在下列字符中,不允许作为C++标识符的是
A)b
B)B
C)_
D)2
(18)下列叙述中,错误的是
A)false是一个逻辑型常量
B)"
b"
是一个字符型常量
C)365是一个int常量
D)是一个double常量
(19)若x和y是程序中的两个整型变量,则下列if语句中正确的是
A)if(x==0)y=1;
elsey=2;
B)if(x==0)theny=1elsey=2;
C)if(x==0)y=1elsey=2;
D)ifx==0y=1;
(20)要定义整型数组x,使之包括初值为O的三个元素,下列语句中错误的是
A)intx[3]={0,0,0};
B)intx[]={0};
C)staticintx[3]={0};
D)intx[]={0,0,0};
(21)关于函数中的<
返回类型>
,下列表述中错误的是
A)<
中有可能包含关键字int
B)<
中有可能包含自定义标识符
C)<
中有可能包含字符*
D)<
中可能包含[]
(22)要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是
A)MyClassp=MyClass;
B)MyClassp=newMyClass;
C)MyClass&
p=newMyClass;
D)MyClassa,&
p=a;
(23)有如下两个类定义
classXX{
private:
doublex1;
protected:
doublex2;
public:
doublex3;
};
classYY:
protectedXX{
doubley1;
doubley2;
doubley3;
在类YY中保护成员变量的个数是
(24)下列关于运算符重载的描述中,错误的是
A)可以通过运算符重载在C++中创建新的运算符
B)赋值运算符只能重载为成员函数
C)运算符函数重载为类的成员函数时,第一操作数是该类对象
D)重载类型转换运算符时不需要声明返回类型
(25)下列关于类模板的描述中,错误的是
A)类模板的成员函数都是模板函数
B)可以为类模板参数设置默认值
C)类模板描述了一组类
D)类模板中只允许有一个类型参数
(26)下列控制格式输入输出的操作符中,能够设置浮点数精度的是
A)setprecision
B)setw
C)setfill
D)showpoint(27)下列程序段中包含4个函数,其中具有隐含this指针的是
intfun1();
classTest{
intfun2();
friendintfun3();
staticintfun4();
A)fun1
B)fun2
C)fun3
D)fun4
(28)有如下程序
#include
usingnamespacestd;
Test(){}
Test(constTest&
t){cout<
Testfun(Test&
u){Testt=u;
returnt;
in