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

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

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

一、选择题(每小题1分,共40分)
1、 有3个关系R、S和T如下表所示:

其中关系T由关系R和s通过某种操作得到,该操作为(  )。
A.选择
B.投影
C.交
D.并

2、 下列关于this指针的叙述中,正确的是(  )。
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数才有this指针

3、 下列叙述中正确的是(  )。
A.一个逻辑数据结构只能有一种存储结构
B.逻辑结构属于线性结构,存储结构属于非线性结构
C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率

4、 对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为(  )。
A.并运算
B.交运算
C.差运算
D.积运算

5、 下列程序的输出结果是(  )。#include
voidmain()
(char*str="12123434";
intx1=0,x2=0,x3=0,x4=0,i;
for(i=0;str[i]!='\0';i++)
switch(str[i])
{case'1':x4++;
case'2':x3++;
case'3':x2++;
case'4':x1++;
}
cout< <","< }
A.8,6,4,1
B.8,6,3,2
C.8,8,4,1
D.8,6.4,2

6、 有如下程序:
#include
usingnamespacestd;
voidfunction2(intn);
voidfunctionl(intn):{
if(n<=0)return;
function2(n-2);
}
voidfunction2(intn){
if(n<=O)return;
functionl(n-1);
}
intmain(){
functionl(5);
return0;
}
下列关于程序运行情况的描述中,正确的是(  )。
A.functionl运行1次,function2运行2次
B.functionl运行2次,function2运行l次
C.functionl运行2次,function2运行3次
D.functionl运行2次,function2运行2次

7、 下列关于模板的描述中,错误的是(  )。
A.类模板的成员函数都是模板函数
B.函数模板是一种参数化类型的函数
C.满足一定条件时可以省略模板实参
D.模板形参只能由关键字typename声明

8、 以三级模式为框架形成的三种数据库中,真实存在于计算机外存的数据库是(  )。
A.概念数据库
B.用户数据库
C.物理数据库
D.逻辑数据库

9、 实现运行时的多态性要使用(  )。
A.重载函数
B.析构函数
C.构造函数
D.虚函数

10、 在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是(  )。
A.ios_base::cur
B.ios_base::beg
C.ios_base::0ut
D.ios_base::end

11、 已知chara;intb;floatC;doubled;则表达式a*b+c-d的结果为(  )。
A.double
B.int
C.float
D.char

12、 下列关于运算符重载的描述中,错误的是(  )。
A.可以通过运算符重载在C++中创建新的运算符
B.赋值运算符只能重载为成员函数
C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象
D.重载类型转换运算符时不需要声明返回类型

13、 设计数据库的存储结构属于(  )。
A.需求分析
B.概念设计
C.逻辑设计
D.物理设计

14、 下列关于虚函数的描述中,正确的是(  )。
A.虚函数是一个static类型的成员函数
B.虚函数是一个非成员函数
C.基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明
D.派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型

15、下列叙述中正确的是(  )。
A.对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)

16、 下列关于运算符重载的描述中,错误的是(  )。
A.可以通过运算符重载在C++中创建新的运算符
B.赋值运算符只能重载为成员函数
C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象
D.重载类型转换运算符时不需要声明返回类型

17、 下列关于构造函数的描述中,错误的是(  )。
A.构造函数名与类名相同
B.构造函数可以有返回值
C.构造函数可以重载
D.每个类都有构造函数

18、 有三个关系R、S和T如下:


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

19、 如有以下程序:
#include(iostream>
usingnamespacestd;
longfun(intn)
{
if(n)2)
return(fun(n-1)+fun(n-2));
else
return2;
}
intmain(  )
{
cout< return0;
}
则该程序的输出结果应该是(  )。
A.2
B.3
C.4
D.5

20、 下列选项中正确的语句是(  )。
A.chars[3];s="BOOK!";
B.char*s;s={"BOOK!"};
C.chars[10];s="BOOK";
D.char*S;s="BOOK!";

21、 变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000,若要求将a的高4位取反,低4位不变,所要执行的运算是(  )。
A.a*b
B.a|b
C.a&b
D.a<<4

22、 对于循环队列,下列叙述中正确的是(  )。
A.队头指针是固定不变的
B.队头指针一定大于队尾指针
C.队头指针一定小于队尾指针
D.队头指针可以大于队尾指针,也可以小于队尾指针

23、 已知一函数的形参说明为intarr[5][6],则与此等效的形参说明为(  )。
A.intarr[][]
B.int[5][]
C.int*a[6]
D.int(*a)[6]

24、 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(  )。
A.控制流
B.加工
C.数据存储
D.源和潭

25、 设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择存储类别是(  )。
A.auto
B.register
C.static
D.auto或register

26、 派生类对象对其基类中的什么成员是可访问的?(  )
A.公有继承的私有成员
B.私有继承的公有成员
C.私有继承的保护成员
D.保护继承的保护成员

27、 下列关于关系运算的叙述中正确的是(  )。
A.投影、选择、连接是从二维表的行的方向来进行运算
B.并、交、差是从二维表的列的方向来进行运算
C.投影、选择、连接是从二维表的列的方向来进行运算
D.以上三种说法都不对

28、 有如下类声明:
classXA{
intx:
public:
XA(intn){x=n;}
};
classXB:publicXA{
inty;
oublic:
XB(inta,intb);
};
在构造函数XB的下列定义中,正确的是(  )。
A.XB::XB(inta,intb):x(a),y(b){}
B.XB::XB(inta,intb):XA(a),y(b){}
C.XB::XB(inta,intb):x(a),XB(b){}
D.XB::XB(inta,intb):XA(a),XB(b){}

29、 打开文件时可单独或组合使用下列文件打开模式:
①ios_base::aop
②ios_base::binary
③ios_base::
④ios_base::out
若要以二进制读方式打开一个文件,需使用的文件打开模式为(  )。
A.①③
B.①④
C.②③
D.②④

30、下列程序的运行结果是(  )。
#include
classA
{
inta;
public:
A(){a=0;}
A(){intaa}
{a=aa;
cout< }
};
voidmain()
{
Ax,y(2),z(3);
cout< }
A.00
B.23
C.34
D.25

31、 实体是信息世界中广泛使用的一个术语,它用于表示(  )。
A.有生命的事物
B.无生命的事物
C.实际存在的事物
D.一切事物

32、 可以用P.a的形式访问派生类对象P的基类成员a,其中a是(  )。
A.私有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.公有继承的公有成员

33、 有如下程序:
#include
usingnamespacestd;
classBase{
public:
Base(intx=O){cout< };
classDerived:publicBase{
public:
Derived(intx=O){cout<

private:
Baseval;
};
intmain(){
Derivedd(1);
return0;
}
程序执行后的输出结果是(  )。
A.100
B.000
C.010
D.001

34、 下列程序的执行结果是(  )。
#include(iostream.h>
#include
classTestClass
{
public:
intX,y;
TestClass(  ){x=y=0;}
TestClass(inta,intb){x=a;y=b;}
voiddisp(  )
{
cout<<"x="< }
};
voidmain(  )
{
TestClasss1(2,3);
s1.disp(  );
}
A.x=2,y=2
B.x=2,y=3
C.x=3,y=2
D.x=3,y=3

35、 算法的有穷性是指(  )。
A.算法程序的运行时间是有限的
B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的
D.算法只能被有限的用户使用

36、 类MyClass的定义如下:
classMvClass
{
public:
MyClass(){value=0;}
SetVariable(inti){value=i;}
private:
intvalue;
};
则对下列语句序列正确的描述是(  )。
A.语句p=&my;是把对象my赋值给指针变量P
B.语句MyClass*P,my;会调用两次类MyClass的构造函数
C.对语句*P.SetVariable(5)的调用是正确的
D.语句p->SetVariable(5)与语句my.SetVariable(5)等价

37、 下面排序算法中,平均排序速度最快的是(  )。
A.冒泡排序法
B.选择排序法
C.交换排序法
D.堆排序法

38、 一个教师可讲多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是:(  )。
A.1:1联系
B.1:m联系
C.m:1联系
D.m:n联系

39、 下列选项中正确的语句是(  )。
A.chars[];s="BOOK!";
B.char*s;S={"BOOK!");
C.chars[10];s="BOOK";
D.char*S;s="BOOK!";

40、 下列关于继承方式的描述中,错误的是(  )。
A.如果不显式地指定继承方式,默认的继承方式是私有(private)
B.采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员
C.采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员
D.采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员

二、程序改错题(18分)
41、使用VC++6.0打开考生文件夹下的源程序文件
1.cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入一个字符串,并将结果保存到文件1.txt中。
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在
//******error******的下面。
试题程序:
#include
#include
//********error********
usingstd;
voidWriteFile(char*s)
{
ofstreamout1;
//********error********
out1.open("1.txt",binary|app);
for(inti=0;s[i]!=0;i++)
{
//********error********
out1.puts(s[i]);
}
out1.close();
}
voidClearFile()
{
ofstreamout1;
out1.open("1.txt");
out1.close();
}
intmain()
{
chars[1024];
ClearFile();
cout<<"pleaseinputastrin9:"< cin.getline(s,1024);
WriteFile(s);
return0;
}
三、简单应用题(24分)
42、使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*S,inta[]),其功能是把字符串S中的数字提取出来存储在a[]中,然后返回数字的个数。

例如s="1234abcdef567",则a[]中存储着1234567,返回7。
注意:不能修改程序的其他部分,只能修改fun函数。
试题程序:
#include(iostream.h>
intfun(char*s,inta[])
{
}
intmain()
{
inta[1024];
intlen=fun("1234abedef567",a);
for(inti=0;i {
COUt< }
cout< cout< return0;
}
四、综合应用题(18分)
43、(1)“while()”应改为“while(infile.get(ch))”。
(2)应添加“bur[len++]=ch;bur[len]=ch;len++;”。
(3)应添加“outfile2< (4)“TCobj();”应改为“TCobi("in.txt");”。
【解析】本题考查了文件流的使用。根据题意,第1处要获得一个字符,并判断是否到文件结尾,所以应使用get函数;第2处应将ch存入buf数组,同时让len增1;第3处将buf中的字节输出给outfile2,注意同时让i增1,否则while循环将进入死循环;第4处TC只确一个带char*参数的构造函数,所以创建对象时必须使用构造参数,根据题意这个参数应该是“"in.txt"”。

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

题库优势

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




相关阅读



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