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

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

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

一、选择题(每小题1分,共40分)
1、 有下列程序:
#include
voidfun(char*s)
{while(*s)
{if(*s%2==(1)printf("%C",*s);
s+十:
}
}
voidmain(  )
{chara[]={"good");
fun(a);printf("n");
}
注意:字母a的ASCIl码值为97,程序运行后的输出结果是(  )。
A.d
B.go
C.god
D.good

2、 执行下列程序后,w的值为(  )。
intw='A',x=14,y=15;
w=((x‖y)&&(w<'a'));
A.-l
B.NULL
C.1
D.0

3、 下面程序的运行结果是(  )。
#include
voidmain(  )
{
inti=1:
while(i<=8)
if(++i%3!=2)continue;
elsecout< }
A.25
B.36
C.258
D.369

4、 计算斐波那契数列第n项的函数定义如下:
intfib(intn){
if.(n==0)return1;
elseif(n==1)return2:
elsereturnfib(n-1)+fib(n-2);
}
若执行函数调用表达式fib(2),函数fib被调用的次数是(  )。
A.1
B.2
C.3
D.4

5、 下列叙述中正确的是(  )。
A.有一个以上根结点的数据结构不一定是非线性结构
B.只有一个根结点的数据结构不一定是线性结构
C.循环链表是非线性结构
D.双向链表是非线性结构

6、 已知类MyClass的定义如下:
classMyClass{
public:
voidfunctionl(MyClass&c){out< statievoidfunction2(MyClas&c){cout< voidfunction3(){out< statiCvoidfunction4(){COut< private:
intdata;
}:
其中有编译错误的函数是(  )。
A.function1
B.function2
C.function3
D.function4

7、 有如下程序:
#include
usingnamespacestd;
classA{
public:
A(inti=O):rl(i){}
voidprint(  ){cout<<'E'< voidprint(  )const{cout<<'C'< -';)
voidprint(intx){cout<<'P'< -';}
private:
intr1;
};
intmain(  ){
Aal:
constAa2(4);
a1.print(2);
a2.print(  );
return0;
}
运行时的输出结果是(  )。
A.P8一E4
B.P8一C16一
C.P0一E4一
D.P0一C16—

8、 能正确表示逻辑关系”a≥10或a≤0”的C++语言表达式是(  )。
A.a>=10ora<=0
B.a)一01a(一10
C.a>=10&&a<=0
D.a>=10||a(=0

9、 下列程序的运行结果为(  )。
#include
template
classFF
{TTa1,a2,a3;
public:
FF(TTb1,TTb2,TTb3){a1=b1;a2=b2;a3=b3;}
TTSum(){returna1+a2+a3;}};
voidmain()
{FFx(int(1.1),2,3),y(int(4.2),5,6);
cout<A.6.115.2
B.615
C.615.2
D.6.115

10、 某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是(  )。
A.10
B.8
C.6
D.4

11、 有如下程序:
#include
usingnamespacestd;
classPair{
intm,n;
public;
Pair(intj,intk):m(j),n(k){}
intget(){returnm;}
intget()const{returnm+n;}
};
intmain(){
Paira(3,5);
constPairb(3,5);
cout< return0;
}
运行时的输出结果是(  )。
A.33
B.38
C.83
D.88

12、 有如下类定义:
classFoo
{
public:

Foo(intv):value(v){}//①
~Foo(){}//②
private:
Foo(){}//③
intvalue=0;//④
};
其中存在语法错误的行是(  )。
A.①
B.②
C.③
D.④

13、 下列关于栈的描述正确的是(  )。
A.在栈中只能插入元素而不能删除元素
B.在栈中只能删除元素而不能插入元素
C.栈是特殊的线性表,只能在一端插入或删除元素
D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素

14、 有下列程序:
#include
voidf(int*P,int*q);
voidmain(  )
(intm=1,n=2,*r=&m;
f(r,&n);printf("%d,%d",m,n);
}
voidf(int*P,int*q)

 

{p=p+1;*q=*q+1;}
程序运行后的输出结果是(  )。
A.1,3
B.2,3
C.1,4
D.1,2

15、 有如下模板声明:
templateclassA;
下列声明中,与上述声明不等价的是(  )。
A.templateclassA;
B.templateclassA;
C.templateclassA;
D.templateclassA;

16、 结构化分析方法是面向(  )的自顶向下、逐步求精进行需求分析的方法。
A.对象
B.数据结构
C.数据流
D.目标

17、 有下列程序:
#include
voidmain(  )
{chara=4;
printf("%dn",a=a<<1);
}
程序的运行结果是(  )。
A.40
B.16
C.8
D.4

18、 若有以下定义:
inta[]={1,2,3,4,5,6,7};
charc1='b',c2='2';
则数值不为2的表达式是(  )。
A.a[1]
B.'d'c1
C.a['3'-c2]
D.c2-0

19、 若为Fraction类重裁前增1运算符++,应在类体中将其声明为(  )。
A.Fraction&poerator++(  );
B.Fraction&poeralor++(int);
C.friendFraction&operator++(  ):
D.friendFraction&operator++(int);

20、若有定义语句“intm[]={5,4,3,2,1),i=4;”则下列对m数组元素的引用中错误的是(  )。
A.m[--i]
B.m[2*2]
C.m[m[o]]
D.m[m[i]]

21、 下列对重载函数的描述中,错误的是(  )。
A.重载函数中不允许使用默认参数
B.重载函数中编译是根据参数表进行选择的
C.不要使用重载函数来描述毫不相干的函数
D.构造函数重载将会给初始化带来多种方式

22、 有定义语句“chars[10];”,若要从终端给S输入5个字符,错误的输入语句是(  )。
A.gets(&s0);
B.scanf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]);

23、 存取指针所指的值时,采用的运算符是(  )。
A.#
B.&
C.%
D.*

24、 定义如下枚举类型enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2};则下列选项正确的是(  )。
A.表达式Wednesday==Friday的值是true
B.Dayday;day=3;
C.Dayday;day=Monday+3;
D.Daydayday=Tuesday+10;

25、 负责数据库中查询操作的数据库语言是(  )。
A.数据定义语言
B.数据管理语言
C.数据操纵语言
D.数据控制语言

26、 有如下类模板定义:
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

27、下列关于栈的叙述正确的是(  )。
A.栈顶元素最先被删除
B.栈顶元素最后才能被删除
C.栈底元素永远不能被删除
D.以上三种说法都不对

28、 重载输人流运算符>>必须使用的原型为(  )。
A.istream&operator>>(istream&,<类名>&);
B.istream&operator>>(istream,<类名>);
C.istreamoperator>>(istream,<类名>&);
D.<类名>operator>>(istream&,<类名>&);

29、 下列关于类模板的描述中,错误的是(  )。
A.类模板的成员函数都是模板函数
B.可以为类模板参数设置默认值
C.类模板描述了一组类
D.类模板中只允许有一个类型参数

30、 关于continue语句叙述不正确的是(  )。
A.continue语句用于循环体中,结束循环
B.continue语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断
C.continue可以用于if语句中
D.continue语句不能代替break语句

31、 下列描述中正确的是(  )。
A.软件工程只是解决软件项目的管理问题
B.软件工程主要解决软件产品的生产率问题
C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D.软件丁二程只是解决软件开发中的技术问题

32、 关于静态数据成员的描述中正确的是(  )。
A.类的静态数据成员不是类的所有对象共享的数据
B.类的静态数据成员不能被类的成员函数调用
C.类的静态数据成员不能被类的构造函数调用
D.类的静态数据成员必须进行初始化

33、 有如下程序:
#include
#includediomanip>
usingnamespacestd;
intmain(  ){
ints[]={123,234);
cout< for(inti=0;i<2;i++){cout< return0;
}
运行时的输出结果是(  )。
A.123
B.***123
234234
C.***123
D.***123
***234234***

34、按照“后进先出”原则组织数据的数据结构是(  )。
A.队列
B.栈
C.双向链表
D.二叉树

35、 有如下程序:
#include
usingnamespacestd;
intmain(){
intf,f1=0,f2=1
for(inti=3;i<=6;i++){
f=f1+f2:
f1=f2:f2=f
}
cout< return0;
}
运行时的输出结果是()。
A.2
B.3
C.5
D.8

36、 有以下程序:
#include
usingnamespacestd;
#defineP13.14
classPoint
{private:
intX,y;
public:
Point(inta,intb)
{x=a:
y=b;}
intgetx()
{returnX;}
intgety()
{returny;}};
classCircle:publicPoint
{private:
intr;
public:
Circle(inta,intb,intc):Point(a,b)
{r=C;}
intgetr()
{returnr;}
doublearea()
{returnPI*r*r;}};
intmain()
(Circlec1(5,7,10);
cout< return0;}
程序执行后的输出结果是(  )。
A.314
B.157
C.78.5
D.153.86

37、 若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是(  )。
A.*p
B.x[5]
C.*(p+1)
D.*x

38、 下列工具中为需求分析常用工具的是(  )。
A.PAD
B.PFD
C.N-S
D.D.DFD

39、 下列函数的运行结果是(  )。
#include
intadd(inta,intb);
voidmain()
{
externintX,y;
cout< }
intx(20),y(5);
intadd(inta,intb)
{
ints=a+b:
returns;
}
A.25
B.30
C.20
D.15

40、 数据库设计中,用E—R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的(  )。
A.需求分析阶段
B.逻辑设计阶段
C.概念设计阶段
D.物理设计阶段

二、程序改错题(18分)
41、使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为
Constructor,i=0,
Destructor
注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include(iostream.h)
classTC
{
inti;
public:
TC();
voiddisplay();
~TC();
};
//******error******
TC:TC()
{
cout<<"Constructor"<<",";
i=0;
)
//******error******
TC:display()
{
tout<<"i="< }
//******error******
TC:TC()
{
COUI<<"Destructor"< }
voidmain()
{
TCa;
a.display();
}
三、简单应用题(24分)
42、使用VC6打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数sum(intn)返回1,2,3,…,n的和。其中n大于0。
程序要求使用递归实现上述功能。
注意:不能修改程序的其他部分,只能补充sum函数。
试题程序:
#include
#include
intsum(intn)
{
}
voidmain()
{
cout<<"1+2+3+…+100="< endl;
return;
}
四、综合应用题(18分)
43、使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。每卖出一个水果,则计算水果的重量,还要计算所有卖出水果的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整。
(1)定义类TCFruit的私有静态数据成员float型变量AllWeight和int型变量AllN0,请在注释1后添加适当的语句。
(2)完成类TCFruit的带一个float型变量w的构造函数,并把这个w加到AllWeight中,并且AllNo自加。请在注释2后添加适当的语句。
(3)在析构函数中,在AllWeight中减去weight,然后AllNo自减,请在注释3后添加适当的语句。
(4)完成静态成员变量的初始化为0,请在注释4后添加适当的语句。
注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include(iostream.h>
classTCFruit
{
private:
floatWeight;
//********1********
staticintAllNo;
public:
TCFruit(floatw)
{
//********2********
AllWeight+=w:
AllNo++:
}
~TCFruit()
{
//********3********
AllWeight-=Weight:
}
voiddisplay()
{
cout<<"SellaFruitwith"< endl;
cout<<”Allsellnumber:"< cout<<"Allsellweight:"< endl< }
};
//********4********
floatTCFruit::AllWeight=0.0;
intmain()
{
TCFruitFruitl(1.2);
Fruitl.display();
TCFruitFruit2(2.3);
Fruit2.display();
return0;
}

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

题库优势

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




相关阅读



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