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

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

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

一、选择题(每小题1分,共40分)
1、 下列程序的输出结果为(  )。
#include
classTestClass
{
public:
TestClass(){val++;}
static,intval;
};
intTestClass::val=0;
voidmain()
{
TestClasscsl;
cout< TestClasscs2;
TestClasscs3,cs4;
cout< }
A.O3
B.13
C.14
D.24

2、 下列叙述中正确的是(  )。
A.软件测试应该由程序开发者来完成
B.程序经调试后一般不需要再测试
C.软件维护只包括对程序代码的维护
D.以上三种说法都不对

3、 下列叙述中正确的是(  )。
A.全局变量的作用域一定比局部变量的作用域范围大
B.静态类别变量的生存期贯穿于整个程序的运行期间
C.函数的形参都属于全局变量
D.未在定义语句中赋初值的aut0变量和static变量的初值都是随机值

4、 下列关于虚基类的描述,错误的是(  )。
A.设置虚基类的目的是为了消除二义性
B.虚基类的构造函数在非虚基类之后调用
C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数

5、 有如下程序:
#include
usingnamespacestd;
classPoint{
intX,Y;
public
point(intx1=0,inty1=O)tx(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< return0;
}
运行时的输出结果是(  )。
A.5
B.7
C.9
D.12

6、 设有定义charstr[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是(  )。
A.cin.get(str,strlen(str));
B.cin.getline(str,strlen(str));
C.cin>>str;
D.cin.read(str,strlen(str));

7、 若PAT是一个类,则程序运行时,语句“PAT(*ad){3};”调用PAT的构造函数的次数是(  )。
A.0
B.1
C.2
D.3

8、 有两个关系R、S如下所示:


由关系R通过运算得到关系S,则所使用的运算为(  )。
A.选择
B.投影
C.插入
D.连接

9、 若有定义语句“charS[10]="1234567\0\0";”,则strlen(s)的值是(  )。
A.7
B.8
C.9
D.10

10、 若MyClass是一个类名,其有如下语句序列:
MyClassc1,*c2;
MyClass*c3=newMyClass;
MyClass&c4=c1;
上面的语句序列所定义的类对象的个数是(  )。
A.1
B.2
C.3
D.4

11、 有3个关系R、S和T如下表所示:


则由关系R和S得到关系T的操作是(  )。
A.自然连接
B.交
C.除
D.并

12、 下列字符串中可以用作C++标识符的是(  )。
A.2009var
B.goto
C.test-2009
D.123

13、有下列二叉树,对此二叉树前序遍历的结果是(  )。


A.ACBEDGFH
B.ABDGCEHE
C.HGFEDCBA
D.ABCDEFGH

14、 以下不能正确创建输出文件对黎并使其与磁盘文件相关联的语句是(  )。
A.ofstreammyfile;myfile.open("d:ofile.txt");
B.ofstream*myfile=newofstream;myfile->open("d:ofile.txt”);
C.ofstreammyfile("d:ofile.txt");
D.ofstream*myfile=new("d:ofile.txt");

15、 对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是(  )。
A.冒泡排序为n/2
B.冒泡排序为n
C.快速排序为n
D.快速排序为n(n-1)/2

16、对下列二叉树


进行中序遍历的结果是(  )。 
A.ACBDFEG
B.ACBDFGE
C.ABDCGEF
D.FCADBEG

17、 下列关于纯虚函数与抽象类的描述巾,错误的是(  )。
A.纯虚函数是一种特殊的虚函数,它没有具体的实现
B.抽象类是指具有纯虚函数的类
C.一个基类声明了纯虚函数,该基类的派生类一定不是抽象类
D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出

18、 下列选项中,能用作数据常量的是(  )。
A.o115
B.o118
C.1.5e1.5
D.115L

19、 下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他3条语句不同,该语句是(  )。
A.cout<B.tout<C.cout<D.tout<
20、 有如下程序:
#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< return0;
}
运行时的输出结果是(  )。
A.5
B.7
C.9
D.12

21、 下列枚举类型的定义中,包含枚举值3的是(  )。
A.enumtest{RED,YELLOW,BLUE,BLACK};
B.enumtest{RED,YELLOW=4,BLUE,BLACK);
C.enumtest{RED=-1,YELLOW,BLUE,BLACK};
D.enumtest{RED,YELLOW=6,BLUE,BLACK);

22、 类模板templateclassX{…},其中友元函数f对特定类型T(如int),使函数f(x)成为x模板类的友元,则其说明为(  )。
A.friendvoidf();
B.friendvoidf(x);
C.friendvoidA::f();
D.friendvoidC::f(x);

23、 下列各组类型声明符中,含义相同的一组是(  )。
A.unsignedlongint和long
B.signedshort和short
C.unsignedshort和short
D.shortint和int

24、 以下程序的输出结果是(  )。
voidmain(  )
{inta=4,b=5,c=0,d;
d=!a&&!b‖!c;
cout< }
A.1
B.0
C.非0的数
D.-1

25、 下列关于运算符重载的描述中,正确的是(  )。
A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符
B.一元运算符只能作为成员函数重载
C.二元运算符重载为非成员函数时,参数表中有一个参数
D.C++中可以重载所有的运算符

26、 有如下四个语句:
①cout<<'A'< ②cout< ③cout<<'A'< ④cout< 其中能显示A******B的是(  )。
A.①和③
B.①和④
C.②和③
D.②和④

27、 下列代码段声明了3个类:
classPerson{);
classStudent:publicPerson{};
classUndergraduate:Student{);
下列关于这些类之间关系的描述中,错误的是(  )。
A.类Person是类Undergraduate的基类
B.类Undergraduate从类Student公有继承
C.类Student是类Person的派生类
D.类Undergraduate是类Person的派生类

28、 下列选项中不属于软件生命周期开发阶段任务的是(  )。
A.软件测试
B.概要设计
C.软件维护
D.详细设计

29、 有如下程序:
#include
usingnamespacestd;
voidf1(int&X,int&y){intz=x;x=y;y=z;}voidf2(intX,inty){intz=x;x=y;y=z;}intmain(){
intx=10,y=26;
f1(x,y);
f2(x,y);
cout< return0;
}
运行时的输出结果是(  )。
A.10
B.16
C.26
D.36

30、 最简单的交换排序方法是(  )。
A.快速排序
B.选择排序
C.堆排序
D.冒泡排序

31、 下列语句都是程序运行时的第一条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是(  )。
A.cout<B.cout<C.cout<D.cout<
32、下列关于栈叙述正确的是(  )。
A.栈顶元素最先能被删除
B.栈顶元素最后才能被删除
C.栈底元素永远不能被删除
D.以上三种说法都不对

33、将运算符“+”重载为非成员函数,下列原型声明中,错误的是(  )。
A.MyClockoperator+(MyClock,long);
B.MyClockoperator+(MyClock,MyCloek);
C.MyCloekoperator+(long,long);
D.MyClockoperator+(long,MyCloek):

34、 下列各类函数中,不是类的成员函数的是(  )。
A.构造函数
B.抽象类
C.派生类
D.以上都不对

35、 下面关于break语句的描述中,不正确的是(  )。
A.break可以用于循环体内
B.break语句可以在for循环语句中出现多次
C.break语句可以在switch语句中出现多次
D.break语句可用于if条件判断语句内

36、 若有如下程序:
#include
usingnamespacestd;
classTestClassl
{
private:
inta;
public:
TestClassl(inti)
{
a=i:
}
voiddisp(  )
{
cout< }
};
classTestClass2
{
private:
intb:
public:
TestClass2(intj)
{
b=j;
}
voiddisp()
{
cout< }
};
classTestClass3:publicTestClass2,publicTestClassl
{
private:
intc;
public:
TestClass3(intk):TestClass1(k-2),TestClass2(k+2)
{
c=k:
}
voiddisp()
{
TestClasssl::disp();
TestClasss2::disp();
cout< }
};
intmain()
{
TestClass30bj(10);
obj.disp();
return0;
}
程序执行后的输出结果是(  )。
A.10,10,10
B.10,12,14
C.8,10,12
D.8,12,10

37、 下列是重载为非成员函数的运算符函数原型,其中错误的是(  )。
A.Fractionoperator+(Fraction,Fraction);
B.Fractionoperator-(Fraction);
C.Fraction&operator=(Fraction&,Fraction);
D.Fraction&operator+=(Fraction&,Fraction):

38、 下列关于函数模板的描述中,正确的是(  )。
A.函数模板是一个实例函数
B.使用函数模板定义的函数没有返回类型
C.函数模板的类型参数与函数的参数相同
D.通过使用不同的类型参数,可以从函数模板得到不同的实例函数

39、 若目前D盘根目录下并不存在test.txt文件,则下列打开文件方式不会自动创建test,txt文件的是(  )。
A.ifstreamfin;fin.open("d:\\test.txt",iso_base::in);
B.fstreamfi0;ri0.open("d:\\test.txt",is0_base::out);
C.ofstream。fort;lout.open("d:\\test.txt",ios_base::out);
D.ofstreamfout;fout.open("d:\\test.txt",is0_base::app);

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

二、程序改错题(18分)
41、使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为:
sizeof(S1)=5
sizeof(s2)=10
sizeof(s3)=1
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
(1)不能删除assert()语句。
(2)只能修改后面的数字。
提示:assert函数如果为假,则会产生一个中断异常。
试题程序:
#include
#include
voidmain()
{
char*s1="abc":
//********error********
assert(sizeof(s1)==3):
cout<<"sizeof(s1)=5"< chars2[10]="ab":
//********error********
assert(sizeof(s2)==2);
cout<<"sizeof(s2)=10"< chars3=23:
//********error********
assert(sizeof(s3)==4);
cout<<"sizeof(s3)=1"< return;
}
三、简单应用题(24分)
42、使用VC++6.o打开考生文件夹下的源程序文件2.cpp。请完成函数fun(char*str1,char*str2),此函数的功能是计算str1中出现str2的个数,当不出现时,则返回0。
例如:
str1为“asdfsfdfg”
str2为“sf”则返回1
str2为“df”则返回3
注意:不能修改函数的其他部分。
试题程序:
#include
//注意只能使用int类型,不能类型转换
intfun(char*str1,char*str2)
{
}
voidmain()
{
charstr1[1024];
charstr2[256];
cout<<"pleaseinputastring:"< cin.getline(str1,1024);
cout<<"pleaseinputotherstring;"< cin.getline(str2,256);
cout< cout< return;
}
四、综合应用题(18分)
43、使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完整。
(1)定义私有数据成员leftPoint、topPoint、rightPoint、bottomPoint,分别用于表示矩形左上角及右下角的点的坐标,它们都是double型的数据。请在注释1之后添加适当的语句。
(2)完成默认构造函数CRect的定义,指定默认实参为0,它们都是double型的数据。请在注释2之后添加适当的语句。
(3)定义函数体为空的析构函数。请在注释3之后添加适当的语句。
(4)在main函数中定义GReet类的实例rect2,并把re-
ct1的值赋给rect2。请在注释4之后添加适当的语句。
注意:除在指定位置添加语句之外,不要改动程序中的其他内容。
试题程序:
#include
classCRect
{
private:
//********1********
public:
//********2********
//********3********
voidSetPoints(double,double,double,double);
voidSetLeftPoint(doublem){leftPoint=m;}
voidSetRightPoint(doublem){rightPoint=m;}
voidSetTopPoint(doublem){topPoint=m;}
voidSetBottomPoint(doublem){bottomPoint=m;}
voidDisplay();
};
CReet::CRect(double1,doublet,doubler,doubleb)
{
leftPoint=1;topPoint=t;
rightPoint=r;bottomPoint=b;
}
voidCRect::Setpoints(double1,doublet,doubler,doubleb)
{
leftPoint=1;topPoint=t;
rightPoint=n;bottomPoint=b;
}
voidCRect::Display()
{
cout<<"left-toppointis("< Point<<")"<<'\n';
cout<<"right-bottompointis("< < }
voidmain()
{
CRectrect0;
rect0.Display();
rect0.SetPoints(20,20.6,30,40);
rect0.Display();
CRectrectl(0,0,150,150);
rect1.SetTopPoint(10.5);
rect1.SetLeftPoint(10.5);
//********4******** rect2.Display( );}

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

题库优势

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




相关阅读



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