2013年9月全国计算机等级《二级C++》上机临考冲刺试卷(6) - 233网校计算机二级题库:在线
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<
intdata;
}:
其中有编译错误的函数是( )。
A.function1
B.function2
C.function3
D.function4
7、 有如下程序:
#include
usingnamespacestd;
classA{
public:
A(inti=O):rl(i){}
voidprint( ){cout<<'E'<
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()
{FF
cout<
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、
有如下模板声明:
template
下列声明中,与上述声明不等价的是( )。
A.template
B.template
C.template
D.template
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<
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<
}
运行时的输出结果是()。
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<
程序执行后的输出结果是( )。
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="<
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"<
cout<<”Allsellnumber:"<
cout<<"Allsellweight:"<
endl<
};
//********4********
floatTCFruit::AllWeight=0.0;
intmain()
{
TCFruitFruitl(1.2);
Fruitl.display();
TCFruitFruit2(2.3);
Fruit2.display();
return0;
}
题库优势
相关阅读