2013年9月全国计算机等级《二级C++》上机模考试卷(1) - 233网校计算机二级题库:在线全真
1、 算法的空间复杂度是指( )。
A.算法在执行过程中所需要的计算机存储空间
B.算法所处理的数据量
C.算法程序中的语句或指令条数
D.算法在执行过程中所需要的临时工作单元数
2、 每个C++程序中都必须有且仅有一个( )。
A.类
B.预处理命令
C.主函数
D.语句
3、 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。
A.快速排序
B.冒泡排序
C.直接插入排序
D.堆排序
4、 数据库系统的三级模式不包括( )。
A.概念模式
B.内模式
C.外模式
D.数据模式
5、 SQL语言又称为( )。
A.结构化定义语言
B.结构化控制语言
C.结构化查询语苦
D.结构化操纵语言
6、 数据处理的最小单位是( )。
A.数据
B.数据元素
C.数据项
D.数据结构
7、 假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。
A.void~MyClass( );
B.~MyC|ass(intn);
C.MyClass( );
D.~MyClass( );
8、有以下结构体说明和变量的定义,且指针P指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是( )。
structnode
{chardata;
structnode*next;
}a,b,*p=&a,*q=&b;
A.a.next=q;
B.P.next=&b;
C.p->next=&b;
D.(*p).next=q;
9、 若有表达式“(w)?(--x):(++y)”,则其中与w等价的表达式是( )。
A.w==1
B.w==0
C.W!=1
D.W!=0
10、 有如下函数模板声明:
template
TMax(Ta,Tb){return(a>b)?a:b;}
下列对函数模板Max( )的调用中错误的是( )。
A.Max(3.5,4.5)
B.Max(3.5,4)
C.Max
D.Max
11、 C++语言中关于构造函数的说法正确的是( )。
A.构造函数的函数名不必和类名相同
B.构造函数只能有一个
C.每个类必定有构造函数
D.构造函数必有返回值
12、 下列描述中,错误的是( )。
A.公有继承时基类中的公有成员在派生类中仍是公有成员
B.公有继承时基类中的保护成员在派生类中仍是保护成员
C.保护继承时基类中的公有成员在派生类中仍是公有成员
D.保护继承时基类中的保护成员在派生类中仍是保护成员
13、 结构化程序所要求的基本结构不包括( )。
A.顺序结构
B.GOTO跳转
C.选择(分支)结构
D.重复(循环)结构
14、 在E—R图中,用来表示实体联系的图形是( )。
A.椭圆图
B.矩形
C.菱形
D.三角形
15、下列数据结构中,属于非线性结构的是( )。
A.循环队列
B.带链队列
C.二叉树
D.带链栈
16、 对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为( )。
A.log2n
B.n/2
C.n
D.n+1
17、 下面程序的运行结果为( )。#include
voidswap(int&a,intb)
{
inttemp;
temp=a++;
a=b:
b=temp:
}
voidmain()
{
inta=2,b=3;
swap(a,b);
cout< }
A.2,3
B.3,2
C.2,2
D.3,3
18、 若有以下程序:
#include
usingnamespacestd;
classBase
{public:
Base()
{x=0;}
intx;};
classDerivedl:virtualpublicBase
{public:
Derivedl()
{x=10;}};
classDerived2:virtua11publicBase
{public:
Derived2()
{x=20;}};
classDerived:publicDerivedl,protectedDerived2{};intmain()
{Derivedobj;
cout<
该程序运行后的输出结果是( )。
A.20
B.30
C.10
D.0
19、 下列选项中不合法的标识符是( )。
A.print
B.FOR
C.&a
D.-00
20、 考虑函数原型voidtest(inta,intb=7,charz='*'),下面的函数调用中,属于不合法调用的是( )。
A.test(5);
B.test(5,8);
C.test(6,'#');
D.test(0,0,'*');
21、 当需要将一个函数boolisnunlber(charc)声明为内联函数时,此内联函数的函数原型为( )。
A.enumboolisnumber(charc);
B.defineboolisnumber(charc);
C.inlineboolisnumber(charc);
D.extemboolisnumber(charc);
22、 有如下程序:
#include
usingnamespacestd;
intmain( ){
inta[6]={23,l5,64,33,40,58};
ints1,s2;
s1=s2=a[0];
for(int*p=a+1;p if(sl>*p)s1=*P;
if(s2<*p)s2=*p;
}
cout<
}
运行时的输出结果是( )。
A.23
B.58
C.64
D.79
23、 以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误的原因是( )。
#include(iostream.h)
voidmain( )
{int*P,*q,a,b;
p=&a;
cout<<"inputa:";
cin>>P;
}
A.*P表示的是指针变量P的地址
B.P表示的是变量a的地址,而不是变量a的值
C.*P表示的是指针变量p的值
D.*P只能用来说明P是一个指针变量
24、 有以下程序:
classDate
{
public:
Date(inty,intm,intd);
{
year=Y:
month=m;
day=d;
}
Date(inty=2000)
{
year=y;
month=10;
day=1;
}
Date(Date&d)
{
year=d.year;
month=d.month;
day=d.day;
}
voidprint( )
{
cout<
private:
intyear,month,day;
};
Datefun(Dated)
{
Datetemp;
temp=d;
returntemp;
}
intmain( )
{
Datedatel(2000,1,1),date2(0,0,0);
Datedate3(datel);
date2=fun(date3);
return0;
}
程序执行时,Date类的拷贝构造函数被调用的次数是( )。
A.2
B.3
C.4
D.5
25、
下面程序的输出结果是( )。
#include
Usingnamespacestd;
ClassBase{
public:
Base(intx=O){count<
};
ClassDerived:publicBase{
public:Derved(intx=0{count<
private;
Baseval;
};
intmina(){
Derivedd(1);
retrun0;
}
A.0
B.1
C.01
D.001
26、
软件设计中划分模块的一个准则是( )。
A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D.高内聚高耦合
27、
下列程序的运行结果是( )。
#include
intx=5;
intfun(inta)
{
intc:
c=X*a:
returnC;
}
voidmain()
{
intx=3,a=4;
x=x+fun(a);
cout<<"x="<
A.x=15
B.x=17
C.x=23
D.x=25
28、
数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。
A.DB包含DBS和DBMS
B.DBMS包含DB和DBS
C.DBS包含DB和DBMS
D.没有任何关系
29、
在软件开发中,需求分析阶段产生的主要文档是( )。
A.软件集成测试计划
B.软件详细设计说明书
C.用户手册
D.软件需求规格说明书
30、
有如下程序:
#include
usingnamespacestd;
classXA{
inta;
public:
staticintb;
XA(intaa):a(aa){b++;}
~XA( ){}
intget( ){returna;}
};
intXA::b=0
intmain( ){
XAd1(1),d2(3);
cout<
}
运行时的输出结果是( )。
A.5
B.6
C.7
D.8
31、是( )。
A.2*a*b/c/d
B.a*b/c/d*2
C.a/c/d*b*2
D.2*a*b/c*d
32、
对于模板定义关键字class和typename说法不正确的是( )。
A.程序中的class并不能都替换为typename
B.class和typename都可互相替换
C.程序中的typename都能替换为class
D.程序中的部分class可以替换为typename
33、
下面程序的运行结果为( )。
#include
ClassA
{
public:A( ){cout<<"1";}
~A( ){cout<<"2";}
};
ClassB:public:A
{
public:
B( ){cout<<"3";}
~B( ){cout<<"4";}
};
Voidmain( )
{
Bb;
}
A.1234
B.1324
C.1342
D.3142
34、
有如下程序:
#include
usingnamespacestd;
classPublication{//出版物类
charname[30];
public:
Publication(char*name=”未知名称”){
~strcpy(this一>name,name);
}
constchar*getName( )const{returnname;}
virtualconstchar*getType( )const{return”未知类型”;}
};
classBook:publicPublication{//书类
public:
Book(char*name):Publication(name){}
virtualconstchar*getType( )const{return"书";}
};
voidshowPublication(Publication&p){
cout<
}
intmain( ){
Bookbook(”精彩人生”);
showPublication(book);
return0;
}
运行时的输出结果是( )。
A.未知类型:未知名称
B.未知类型:精彩人生
C.书:未知名称
D.书:精彩人生
35、 若有以下程序:
#include
usillgnamespacestd;
classA
{private:
inta;
public:
A(inti)
{a=i;}
voiddisp()
{cout< classB
{private:
intb;
public:
B(intj)
{b=j;}
voiddisp()
{COUt< classC:publicB,publicA
{private:
intC;
public:
C(intk):A(k-2),B(k+2)
(c=k;)
voiddisp()
{A::disp();
B::disp();
cout<
{Cobj(10);
obj.disp();
return0;}
程序执行后的输出结果是( )。
A.10,10,10
B.10,12,14
C.8,10,12
D.8,12,10
36、 若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为( )。
A.a
B.AA.a
C.a{}
D.AA::a{}
37、 静态成员函数没有( )。
A.返回值
B.this指针
C.指针参数
D.返回类型
38、下列程序的运行结果是( )。
#include
intx=5:
intfun(inta)
{
intC;
C=X*a:
returnC;
}
voidmain( )
{
intx=3,a=4;
x=x+fun(a);
cout<<"x="<
A.x=15
B.x=17
C.x=23
D.x=25
39、 面向对象的没计方法与传统的面向过程的方法有本质不同,它的基本原理是( )。
A.模拟现实世界中不同事物之间的联系
B.强调模拟现实世界中的算法而不强调概念
C.使用现实世界的概念抽象地思考问题从而自然地解决问题
D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
40、 负责数据库中查询操作的数据库语言是( )。
A.数据定义语言
B.数据管理语言
C.数据操纵语言
D.数据控制语言
二、程序改错题(18分)
41、使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错。请改正程序中的错误,使程序输出的结果为
100
37
32
注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include
//******error******
voidmain
{
//******error******
intm=0142:
//******error******
intn=0X27:
intq=32;
cout<
}
三、简单应用题(24分)
42、使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intn),使其实现以下功能:当i等于3时,则打印如下内容。
A
AA
AAA
注意:不能修改程序的其他部分,只能修改fun函数。
试题程序:
#include
voidfun(intn)
{
}
voidmain()
{
intn;
cout<<"请输入打印的行数:"<
if(n<1)
{
cout<<"输入的行数必须大于0"<
}
fun(n);
return;
}
四、综合应用题(18分)
43、使用VC++6.0打开考生文件夹下的源程序文件3.cpp。请完成以下部分,实现在屏幕上输出为
C3
C2
这个程序需要修改的部分,请按照以下部分实现。
(1)类C0不能被实例化,请定义一个纯虚函数print,在注释1后添加适当的语句。
(2)类C1私有虚继承类C0,请在注释2后添加适当的语句。
(3)类C2公有继承于C0,请在注释3后添加适当的语句。
(4)类c3公有继承于C2与C1,请在注释4后添加适当的语句。
注意:增加代码或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
试题程序:
#include(iostream.h)
classCO
{
//********1********
};
//********2********
classC1:
{
public:
voidprint()
{
cout<"”C1"<
};
//********3********
classC2:
{
public:
voidprint()
{
cout<<"C2"<
};
//********4***x****
classC3:
{
public:
voidprint()
{
cout<<"C3"<
};
voidmain()
{
C30bj3;
C20bj2;
obj3.print();
obj2.print();
return;
}
- 只看不练,假把式······
- 进入233题库【模拟考场】,在线做题测试,在线查看成绩及详细答案解析!
- 马上进入
题库优势
- 更好的做题体验
- 233计算机二级题库有四种做题模式,可选择自己的喜欢和当前适合的做题模式进行训练。
- 更多的习题、真题
- 233计算机二级题库题量储备百万道,包含历年真题,模拟试题等题型,题题结合考试大纲贴近考试 考点。
- 更专业的试题解析
- 233计算机二级题库结合考试大纲,将各试题划分了详细的章节知识,更全面的详细的展示答案解析。
- 进入计算机二级模拟考场>>