2013年9月全国计算机等级《二级C++》上机临考冲刺试卷(8) - 233网校计算机二级题库:在线
1、 在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )来实现。
A.调用语句
B.命令
C.中令
D.消息
2、 有下列程序:
#include
intb=2;
intfun(int*k)
{b=*k+b;return(b);)
voidmain( )
{inta[10]={1,2,3,4,5,6,7,8},i;
for(i=2;i<4;i++){b=fun(&a[i])+b;printf
("%d",b);}
printf("\n");
}
程序运行后的输出结果是( )。
A.1012
B.810
C.1028
D.1016
3、 阅读以下程序
#include(iostream.h>
voidmain( )
{
charline[10];
cin>>line;
cout<<1ine<
如运行时输入“Thisisanexample.
A.This
B.Thisis
C.Thisisa
D.Thisisanexample
4、 下列运算符中不能在C++中重载的是( )。
A.?:
B.+
C.-
D.<=
5、 有下列程序:
#include
voidmain()
{char*a[]={"abcd","ef","gh","ijk");inti;
for(i=0;i<4;i++)printf("%C",*a[i]);
}
程序运行后的输出结果是( )。
A.aegi
B.dfhk
C.abcd
D.abcdefghijk
6、 计算斐波那契数列第n项的函数定义如下:
intfib(intn){
if(n==0)returnl;
elseif(n==l)return2:
elsereturnfib(n-1)+fib(n-2);
}
若执行函数调用表达式fib(2),函数fib被调用的次数是( )。
A.1
B.2
C.3
D.4
7、 下列是软件调试技术的是( )。
A.错误推断
B.集成测试
C.回溯法
D.边界值分析
8、 在下列字符中,不允许作为C++标识符的是( )。
A.b
B.B
C._
D.2
9、 以下程序不用第3个变量实现将两个数进行对调的操作,画线处应为( )。
voidmain( )
{inta,b;
scanf("%d%d",&a,&b);
cin>>a>>b;
cout<<"a="< a=a+b;b=a-b;a=_____;
cout<<"a="< }
A.a+b
B.a-b
C.b*a
D.a/b
10、 C++语言类体系中,不能被派生类继承的有( )。
A.转换函数
B.构造函数
C.虚函数
D.静态成员函数
11、 在E—R图中,用来表示实体的图形是( )。
A.矩形
B.椭圆形
C.菱形
D.三角形
12、 有如下程序:
#include
usingnamespacestd;
classXA{
inta;
public:
staticintb;
XA(intaa):a(aa){b++;}
~XA(){}
intget(){returna;}
};
intXA::b=0
intmain(){
XAdl(1),d2(3);
cout<
}
运行时的输出结果是( )。
A.5
B.6
C.7
D.8
13、关于函数中的<返回类型>,下列表述中错误的是( )。
A.<返回类型>中有可能包含关键字int
B.<返回类型>中有可能包含自定义标识符
C.<返回类型>中有可能包含字符*
D.<返回类型>中可能包含[]
14、 已知枚举类型定义语句为
enHmToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是( )。
A.枚举常量NAME的值为1
B.枚举常量NUMBER的值为1
C.枚举常量MINUS的值为6
D.枚举常量PRINT的值为10
15、 若x和y是程序中的两个整型变量,则下列if语句中正确的是( )。
A.if(x==O)y=1;elsey=2;
B.if(x==0)theny=1elsey=2
C.if(x==O)y=1elsey=2;
D.ifx==0y=1elsey=2;
16、 最简单的交换排序方法是( )。
A.快速排序
B.选择排序
C.堆排序
D.冒泡排序
17、 下列关于模板形参的描述中,错误的是( )。
A.模板形参表必须在关键字template之后
B.模板形参表必须用括弧( )括起来
C.可以用class修饰模板形参
D.可以用typename修饰模板形参
18、 下列关于模板的说法正确的是( )。
A.模板的实参在任何时候都可以省略
B.类模板与模板类所指的是同一概念
C.类模板的参数必须是虚拟类型的
D.类模板中的成员函数全部都是模板函数
19、 以下类定义中可能会引起错误的语句是( )。
classA
{
public:
~A( ){}//1
inti;//2
private:
intj;//3
A(inti){i++;}//4
};
A.1
B.2
C.3
D.4
20、有下列程序:
#include
voidmain( )
{stuctSTU{charname[9];charsex;double
score[2];};
stuctSTUa={"Zha0",'m',85.0,90.0),b={"
Qian",'f',95.0,92.0};
b=a:
printf("%S,%C,%2.0,%2.0\n”,b.name,b.sex,
score[O],bscore[1]);
程序的运行结果是( )。
A.Qian,f,95,92
B.Oian,m,85,90
C.Zha0,f,95,92
D.Zha0,m,85,90
21、 下列选项中,不是C++关键字的是( )。
A.class
B.function
C.friend
D.viruual
22、 将前缀运算符“一一”重载为非成员函数,下列原型中,能正确用于类中说明的是( )。
A.Deer&operator一一{int};
B.Decroperator一一(Decr&,int);
C.friendDeer&cperator一一(Deer&);
D.friendDeeroperacor一一(Deer&,int);
23、 数据库应用系统中的核心问题是( )。
A.数据库设计
B.数据库系统设计
C.数据库维护
D.数据库管理员培训
24、 下列结构体类型说明和变量定义中正确的是( )。
A.typedefstruct;
{intn;charC;)REC;
RECt1,t2;
B.structREC;
{intn;charC;}
RECt1,t2;
C.typedefstructREC;
{intn=0;charc='A';}t1,t2
D.struct
(intn;charc;)REC;
RECt1,t2
25、 当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是( )。
A.任何
B.公有或保护
C.保护或私有
D.私有
26、 在数据管理技术发展的3个阶段中,数据共享最好的是( )。
A.人工管理阶段
B.文件系统阶段
C.数据库系统阶段
D.3个阶段相同
27、 以下程序的输出结果是( )。
#include
longfun(intn)
{longs;
if(n=-1‖n==2)s=2;
elses=n-fun(n-l):
returns;
}
voidmain( ){cout<
B.2
C.3
D.4
28、 某系统总体结构如下图所示:
该系统总体结构图的深度是( )。
A.7
B.6
C.3
D.2
29、
有如下程序:
#include
usingnamespacestd:
classPoint{
intx,y;
public:
Point(intx1=0,inty1=0)):X(X1),y(y1){}
intget( ){returnx+y;)
};
classCircle{
Pointcenter}
intradius;
public:
Circle(intCX,intcy,intr):center(cx,cy),radius(r)
{}
intget( ){returncenter.get( )+radius;}
};
intmain( ){
Circlec(3,4,5);
cout<
}
运行时的输出结果是( )。
A.5
B.7
C.9
D.12
30、
需求分析阶段的任务是确定( )。
A.软件开发方法
B.软件开发工具
C.软件开发费用
D.软件系统功能
31、
如果类A被说明成类B的友元,则( )。
A.类A的成员即类B的成员
B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员
D.类B不一定是类A的友元
32、
下列关于成员函数特征的描述中,错误的是( )。
A.成员函数一定是内联函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
33、
有如下类模板定义:
template
classBigNumber{
longn;
public;
BigNumber(Ti):n(i){}
BigNumberoperator+(BigNumberb){
returnBigNumber(n+b.n):
}
};
已知b1、b2是BigNumber的两个对象,则下列表达式中错误的是( )。
A.b1+b2
B.b1+3
C.3+b1
D.3+3
34、
关于函数中的<返回类型>。下列表述中错误的是( )。
A.<返回类型>中有可能包含关键字int
B.<返回类型>中有可能包含自定义标识符
C.<返回类型>中衣可能包含字符*
D.<返回类型>中可能包含[]
35、
有如下程序:
#include
usingnamespacestd;
classBASE{
public:
~BASE(){cout<<"BASE";}
};
classDERIVED:publicBASE{
public:
~DERIVED(){cout<<"DERIVED";}
};
intmain(){DERIVEDx;return0;)
执行后的输出结果是( )。
A.BASE
B.DERlVED
C.BASEDERIVED
D.DERlVEDBASE
36、
耦合性和内聚性是对模块独或性度量的两个标准。下列叙述中正确的是( )。
A.提高耦合性降低内聚性有利于提高模块的独立性
B.降低耦合性提高内聚性有利于提高模块的独立性
C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度
D.内聚性是指模块间互相连接的紧密程度
37、
有下列程序:
#include
voidfun(inta[],intn)
{inti,t;
for(i=0;i
}
voidmain( )
{intk[10]={1,2,3,4,5,6,7,8,9,10},i;
fun(k,5);
for(i=2,i<8;i++)printf("%d",k[i]);
printf("\n");
}
程序的运行结果是( )。
A.345678
B.876543
C.1098765
D.321678
38、
有三个关系R、S、T如下:
则由关系R和S和到关系T的操作是( )。
A.自然连接
B.差
C.交
D.并
39、
有如下程序:
#include
usingnamespacestd;
classXA{
inta;
public:
staticintb;
XA(intaa):a(aa){b++;}
~XA(){}
intget(){returna;}
};
intXA::b=0
intmain(){
XAd1(1),d2(3);
cout<
return0;
}
运行时的输出结果是( )。
A.5
B.6
C.7
D.8
40、设计程序时,应采纳的原则之一是( )。
A.程序的结构应有助于读者的理解
B.限制goto语句的使用
C.减少或取消注释行
D.程序越短越好
二、程序改错题(18分)
41、使用VC++6.0打开考生文件夹下的源程序文件1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕中。
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include
voidmain()
{
inti=0;
charstr[120];
cout<<"Enterastringendwith'?'."<
cin.getline(str,120);
//********error********
while(str)
{
//********error********
if(str[i])='a')
str[i]=str[i]-'a'+'A';
i++;
}
cout<
}
三、简单应用题(24分)
42、使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。使sum(intn)能计算所有n的因子之和(不包括1和自身)。
注意:不能修改程序的其他部分,只能补充sum函数。
试题程序:
#include
intsum(intn)
{
}
voidmain()
{
cout<
}
四、综合应用题(18分)
43、(1)应添加“BA(intm){a=m;}”。
(2)应添加“PAl(intm,intn):BA(n){b=m;}”。
(3)应添力Ⅱ“PA2(intm,intn,intk):PAl(n,k){C=m;)”。
(4)应添加“cout<
题库优势
相关阅读