无忧首页企业系统我的无忧
无忧服务:
兼职活动培训
娱乐交友:
交友社区资讯
全职实习:
实习暑假寒假
微信号:school51
扫一下,立即关注
加关注
在线支付,立省10元
下载新版APP
===大学生成长生活平台===

2013年9月全国计算机等级《二级C++》上机模考试卷(4) - 233网校计算机二级题库:在线全真

2013-12-20来源/作者:管理员点击次数:493

一、选择题(每小题1分,共40分)
1、 下列关于运算符函数的描述中,错误的是(  )。
A.运算符函数的名称总是以0perator为前缀
B.运算符函数的参数可以是对象
C.运算符函数只能定义为类的成员函数
D.在表达式中使用重载的运算符相当于调用运算符重载函数

2、 有如下程序:
#include
usingnamespacestd;
classBase{
public:
virtualvoidfunctionl(){cout<<'0';}
voidfunction2(){out<<'1';}
};
classDerived:publicBase{
oublic:
voidfunctionl(){cout<<'2';}
voidfunction2(){cout<<'3';}
};
intmain(){
Base*p=newDerived();
p->functionl();
p->function2();
return0;
}
运行时的输出结果是(  )。
A.01
B.21
C.03
D.23

3、 有如下程序:
#include(iostream>
usingnamespacestd;
classCon
{
charID;
public:
Con(  ):ID('A){cout<<1;}
Con(charID):ID(ID){cout((2;)
Con(Con8Lc):ID(c.getlD(  )){cout<<3;}
chargetID(  )const{returnID;}
};
voidshow(Conc){cout< intmain(  )
{
Conc1;
show(c1);
Conc2('B');
show(c2);
return0;
执行上面程序的输出结果是(  )。
A.13A23A
B.23A13B
C.13A23B
D.13823A

4、 已知Value是一个类,Value是Value的一个对象。
下列以非成员函数形式重载的运算符函数原形中,正确的是(  )。
A.Valueoperator+(Valuev,inti);
B.Valueoperator+(Valuev=value,inti);
C.Valueoperator+(Valuevinti=O);
D.Valueoperator+(Valuev=value,inti=O);

5、 C++系统预定义了四个用于标准数据流的对象,下列选项中不属于此类对象的是(  )。
A.cout
B.cin
C.cerr
D.cset

6、 下面关于数组的初始化正确的是(  )。
A.charstr[]={'a','b','e'}
B.charstr[2]={'a','b','e')
C.charstr[2][3]={{'a','b'},{'C','d'},{'e','f'}}
D.charstr()={'a','b','C'}

7、 对于复制构造函数和赋值操作的关系,正确的是(  )。
A.复制构造函数和赋值操作是完全一样的操作
B.进行赋值操作时,会调用类的构造函数
C.当调用复制构造函数时,类的对象正在被建立并被初始化
D.复制构造函数和赋值操作不能在同一个类中被同时定义

8、 下列描述中,错误的是(  )。
A.公有继承时基类中的公有成员在派生类中仍是公有成员
B.公有继承时基类中的保护成员在派生类中仍是保护成员
C.保护继承时基类中的公有成员在派生类中仍是公有成员
D.保护继承时基类中的保护成员在派生类中仍是保护成员

9、 生成派生类对象时,派生类构造函数调用基类构造函数的条件是(  )。
A.无需任何条件
B.基类中显式定义了构造函数
C.派生类中显式定义了构造函数
D.派生类构造函数明确调用了基类构造函数

10、 有以下程序:
voidmain(  )
{inta=5,b=4,c=3,d=2;
if(a>b>c)
cout< elseif((C-1>=d)==1)
cout< else
cout< }
A.2
B.3
C.4
D.编译时有错,无结果

11、 语句ofstreamf("DATA.DAT",ios_base::app|ios_base::binary);的功能是建立流对象f,试图打开文件DA-TA.DAT并与之连接,而且(  )。
A.若文件存在,将文件指针定位于艾件首;若文件不存在,建立一个新文件
B.若文件存在,将其截为空文件;若文件不存在,打开失败
C.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件
D.若文件存在,打开失败;若文件不杉在,建立一个新文件

12、 有如下程序:
#include
usingnamespacestd;
classC1{
public:
~C1(  ){cout<<1;)
};
classC2:publicC1{
public:
~C2(  ){cout<<2;)
};
intmain(  ){
C2cb2;
C1*cb1:
return0;
}
运行时的输出结果是(  )。
A.121
B.21
C.211
D.12

13、 数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是(  )。
A.DB包括DBS和DBMS
B.DBMS包括DB和DBS
C.DBS包括DB和DBMS
D.没有任何关系

14、 下列函数按每行8个输出数组中的数据。
voidfun(int*W.intn)
{inti;
for(i=0;i {____
printf("%d",w[i]);
}
printf("\n")
}
下画线处应填入的语句是(  )。
A.if(i/8==0)printf("\n");
B.if(i/8=0)continue;
C.if(i%8==0)printf("\n");
D.if(i%8==0)continue;

15、 下列对于软件测试的描述正确的是(  )。
A.软件测试的目的是证明程序是否正确
B.软件测试的目的是使程序运行结果正确
C.软件测试的目的是尽可能地多发现程序中的错误
D.软件测试的目的是使程序符合结构化原则

16、 有如下程序:
#inelude
usingnamespacestd;
classTest
{
public:
Test(){n+=2;}
~Test(){n-=3;}
staticintgetNum(){returnn;}
private:
staticintn;
};
intTest::n=1;
intmain()

Test*P=newTest:
deleteP;
cout<<"n="< return0;
}
执行后的输出结果是(  )。
A.n=0
B.n=1
C.n=2
D.n=3

17、 在下面的运算符重载函数的原型中,错误的是(  )。
A.Volumeoperator-(double,double);
B.doubleVolume::operator-(double);
C.VolumeVolume::operator-(Volume);
D.Volumeoperator-(Volume);

18、 在C++程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用(  )。
A.内联函数
B.重载函数
C.递归调用
D.嵌套调用

19、 有如下程序:
#include
usingnamespacestd;
className{
charname[20];
public:
Name(  ){
strcpy(name,"");cout<<'?';
}
Name(char*fname){
strcpy(name,fname);cout<<'?';
}
};
intmain(  ){
Namenames[3]={Name(”张三”),Name(”李四”));
return0;
}
运行此程序输出符号?的个数是(  )。
A.O
B.1
C.2
D.3

20、 下面程序的运行结果是(  )。
#include
intfun(inta[],intn)
{
intresult=1;
for(inti=1;i(n;i++)
result=result*a[i];
returnresult;
}
voidmain(  )
{
inta[3]={3,4,5);
coHt< }
A.12
B.15
C.20
D.60

21、 有下列程序:
#include
#include
intfun(intn)
{int*P;
p=(int*)malloc(sizeof(int));
*P=n;return*P;
}
voidmain(  )
{inta;
a=fun(10);printf("%d\n",a+fun(10));}
程序的运行结果是(  )。
A.0
B.10
C.20
D.出错

22、 有如下数组声明:intnum[10】;,下标值引用错误的是(  )。
A.num[10]
B.num[5]
C.num[3]
D.num[0]

23、 使用ifstream流类定义流对象并打开磁盘文件时,文件的隐含打开方式为(  )。
A.ios::in
B.ios::out
C.ios::inlios::out
D.没有默认

24、 有如下程序:
#include
usingnamespacestd;
intmain(  ){
inta[6]={23,15,64,33,40,58};
ints1,s2;
s1=s2=a[0];
for(int*p=a+1;p if(s1>*p)s1=*p;
if(s2<*p)s2=*p;
}
cout< return0;
}
运行时的输出结果是(  )。
A.23
B.58
C.64
D.79

25、 C++系统预定义了3个用于标准数据流的对象,下列选项中不属于此类对象的是(  )。
A.cout
B.cin
C.cerr
D.cset

26、 设变量已正确定义,下列不能统计出一行中输入字符个数(不包含回车符)的程序段是(  )。
A.n=0;while((ch=getchar(  ))!='n')n++;
B.n=0;while(getchar(  )!='\n')n++;
C.for(n=0;getchar(  )!='\n';n++);
D.n=0;for(ch=getchar(  );ch!='n';n++);

27、 数据库设计包括两个疗面的设计内容,他们是(  )。
A.概念设计和逻辑设计
B.模式设计和内模式设计
C.内模式设计和物理设计
D.结构特性设计和行为特性设计

28、 执行语句:cout<A.123*******0K
B.123#######OK
C.123********0K********
D.123#######OK########

29、 有如下程序:
#include
Usingnamespacestd;
ClassMyClass{
Public:
MyClass(){cout<<'*';}
MyClass(MyClass&a){cout<<'#';}
~MyClass(){cout<<'@';}
};
intmain(){
MyClassa;
MyClassb(a);Return0;
}
运行时的输出结果是(  )。
A.*@#@
B.#@*@
C.*#@@
D.#*@@

30、 有下列程序:
#include
voidfun(inta,intb)
{intt;
t=a;a=b;b=t;
voidmain(  )
{intc[1O]={1,2,3,4,5,6,7,8,9,0},i;
for(i=0;i<10;i+=2)fun(c[i],c[i+1]);
for(i=0;i<10;i++)printf(”%d,”,c[i]);
printf("\n");
}
程序的运行结果是(  )。
A.1,2,3,4,5,6,7,8,9,0
B.2,1,4,3,6,5,8,7,0,9
C.0,9,8,7,6,5,4,3,2,1
D.0,1,2,3,4,5,6,7,8,9

31、 有以下程序:
#include(iostream.h)
voidfun(inta,intb,intc)
{a=456,b=567,C=678;}
voidmain(  )
{
intx=10,y=20,z=30;
fun(x,Y,z);
cout< }
输出结果是(  )。
A.30,20,10
B.10,20,30
C.456,567,678
D.678,567,456

32、下面程序的结果是(  )。
#include(iostream.h>
classA
{
inta;
public:
A(  ):a(1){}
voidshowa(  )(cout< };
classB
{
inta;
public:
B(  ):a(2){}
voidshowa(  ){cout< };
classC:publicA,publicB
{
inta;
public:
C(  ):a(3){}
voidshowa(  ){cout< };
voidmain(  )
{
CC;
showa(  ); 
}
A.1
B.2
C.3
D.程序有错误

33、 在软件开发中,需求分析阶段可以使用的工具是(  )。
A.N—S图
B.DFD图
C.PAD图
D.程序流程图

34、 下列控制格式输入输出的操作符中,能够设置浮点数精度的是(  )。
A.setprecision
B.setw
C.setfill
D.showpoint

35、 下面程序的运行结果为(  )。
#include
classA
{
intnum;
public:
A(inti){num=i;)
A(A&a){num=a.num++;}
voidprint(){cout< };
voidmain()
{
Aa(1),b(a);
A.print();
B.print();
}
C.11B.12
D.21D.22

36、 若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是(  )。
A.Data+(Data);
B.Dataoperator+(Data);
C.Data+operator(Data);
D.operator+(Data.Data);

37、 C++语言本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由两个类istreanl和(  )提供。
A.fstream
B.iostream
C.ostream
D.cin

38、 下列关于运算符重载不正确的是(  )。
A.运算符重载不能改变运算符的操作数个数
B.运算符重载不能改变运算符的优先级
C.运算符重载不能改变运算符的结合性
D.运算符重载能改变对预定义类型数据的操作方式

39、对如下二叉树进行后序遍历的结果为(  )。


A.ABCDEF
B.DBEAFC
C.ABDECF
D.DEBFCA

40、 在C++中,cin是一个(  )。
A.类
B.对象
C.模板
D.函数

二、程序改错题(18分)
41、使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,即使程序在屏幕输出以下类似内容:
0012FF6810012FF3C5
0012FF6C20012FF444
0012FF7030012FF4C3
0023FF7440012FF542
0012FF7850012FF5C1
006AFDCC~006AFDEF数据可能因为机器的不同,程序输出的内容会有差异。只要相差为4的连续地址即可。
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include
usingnamespacestd;
intmain()
{
int*P,a[5]={1,2,3,4,5};
double*q,b[5]={5.0,4.0,3.0,2.0,1.0);
intx;
P=a;
q=b;
//********error********
for(x=0;x<=5;X++)
//********error********
cout< (q+x)< return0;
}
三、简单应用题(24分)
42、使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码。
函数sort(int&m,int&n,int&1)实现将3个整数m,n,1由大到小输出。m最大,1最小。程序实现时,可以把最大的数放到m上,先将m与n进行比较,如果m 将函数sort(int&m,int&n,int&1)补充完整,实现3个数的排序。
注意:请勿改动主函数。
试题程序:
#include
voidsort(int8Lm,int&n,int&1)
{
}
intmain()
{
intx=9:
inty=13;
intz=-3:
sort(X,y,z);
cout< return0;
}
四、综合应用题(18分)
43、(1)将“TC(inti,intj)”补充完整为“TC(inti,intj):Num2(j)”。
(2)应添加“friendvoidfunc();”。
(3)应添加“intTC::Num3=4;”。
(4)将“obi.AddNum()”补充完整为“obj.AddNum(2);”。
【解析】本题在第1处完成类的构造函数初始化类的成员变量,常数据成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1处的语句应为“TC(inti,intj):Num2(j)”,i用来初始化Num1和Num3,j初始化Num2。第2处完成fune的函数定义,由审题分析可知,函数fune为类的友元,故第2处的语句应为“friendvoidrune();”。第3处的语句是静态成员的初始化,静态数据成员的初始化格式为“(数据类型)<类名>::<静态数据成员)=<初始值>”,因此第3处的语句应为“intTC::Num3=4;”。成员函数AddNum带有一个整型参数,因此调用此函数时必须有参数传入,可由程序运行结果分析得知传入的参数值的大小。在fun函数内,定义TCobj(1,2)后,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl为4,obj。Num2为常数据成员,其值不会改变,调用AddNum函数后调用显示函数显示成员变量值,可知Num3为19,因此AddNum()的参数为19-17=2,即第4处的语句应为“obj.AddNum(2);”。

只看不练,假把式······
进入233题库【模拟考场】,在线做题测试,在线查看成绩及详细答案解析!
马上进入

题库优势

更好的做题体验
233计算机二级题库有四种做题模式,可选择自己的喜欢和当前适合的做题模式进行训练。
更多的习题、真题
233计算机二级题库题量储备百万道,包含历年真题,模拟试题等题型,题题结合考试大纲贴近考试 考点。
更专业的试题解析
233计算机二级题库结合考试大纲,将各试题划分了详细的章节知识,更全面的详细的展示答案解析。
进入计算机二级模拟考场>>




相关阅读



关于我们 | 联系我们 | 用户指南 | 网站地图 | 意见建议 | 会员注册 | 用户协议 | 隐私政策