计算机类二级C++
2013年9月全国计算机等级《二级C++》上机模考试卷(6)
43 题含答案C++
1单选题1 / 43
将E-R图转换到关系模式时,实体与联系都可以表示成( )。
查看答案
B. 关系
2单选题2 / 43
下列叙述中正确的是( )。
查看答案
C. 简单C语句必须以分号结束
3单选题3 / 43
下列选项合法的标识符是( )。
查看答案
C. _11
4单选题4 / 43
有如下程序
#include(iostream.h>
voidmain( )
{charch[2][5]={"6937","8254"),*p[2];
inti,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j])'\0';j+=2)
s=10*s+p[i][j]一'0';
cout<<s;}
该程序的输出结果是( )。
查看答案
C. 6385
5单选题5 / 43
有如下程序:
#included
usingnamespacestd;
classA{
public:
virtualvoidfuncl(){cout<<"A1";)
voidrune2(){cout<<"A2";}};
classB:publicA{
public:
voidfuncl(){cout<<:"B1";}
voidfunc2(){eout<<"B2";}};
intmain(){
A*p=newB;
p->func1();
P->func2();
return0;}
执行该程序,屏幕上将显示输出( )。
查看答案
C. B1A2
6单选题6 / 43
一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
查看答案
B. EDCABA54321
7单选题7 / 43
下面是关于派生类声明的开始部分,其中正确韵是( )。
查看答案
D. classB:virtualpublicA
8单选题8 / 43
若有说明:inta[3][4];则对a数组元素的非法引用是( )。
查看答案
D. a[0][4]
9单选题9 / 43
继承机制的作用是( )。
查看答案
C. 定义新类
10单选题10 / 43
有如下程序:
#include
usingnamespacestd;
classB{
public:
B(intxx):x(xx){++count;x+=10;}
virtualvoidshow( )const
{cout<<count<<''<<x<<endl;}
protected:
staticintcount;
private:
intx;
};
classD:publicB{
public:
D(intxx,intyy):B(XX),y(yy){++count;y+=
100;)
virtualvoidshow( )const
{cout<<count<<''<<y<
private:
inty;
};
intB::count==0;
intmain( ){
B*ptr=newD(10,20);
ptr->show( );
deleteptr;
return0;
}
运行时的输出结果是( )。
查看答案
B. 2_120
11单选题11 / 43
有下列程序:
#include
voidfun(int*S,intn1,intn2)
{
inti,j,t;
i=n1;j=n2
while(i
--;}
}
voidmain( )
{
inta[10]={1,2,3,4,5,6,7,8,9,0),k;
fun(a,0,3);fun(a,4,9);fun(a,0,9);
for(k=0;k<10;k++)printf(”%d”,a[k]);printf
("\n");
}
程序的运行结果是( )。
查看答案
C. 5678901234
12单选题12 / 43
下面程序的运行结果为( )。
#include
voidmain()
{
chara='3':
switch(a)
{
case'3':cout<<"3";
case'2':cout<<"2";break;
default:cout<<"1";
}
}
查看答案
D. 32
13单选题13 / 43
下列关于析构函数的描述中,错误的是( )。
查看答案
A. 析构函数可以重载
14单选题14 / 43
在学生管理的关系数据库中,存取一个学生信息的数据单位是( )。
查看答案
D. 记录
15单选题15 / 43
下列选项中不属于结构化程序设计原则的是( )。
查看答案
A. 可封装
16单选题16 / 43
下列叙述中,错误的是( )。
查看答案
D. 3.1415926是一个double常量
17单选题17 / 43
在C++语言中函数返回值的类型是由( )决定的。
查看答案
C. 定义该函数时所指定的函数类型
18单选题18 / 43
关于类和对象描述错误的是( )。
查看答案
C. 对象是类的抽象,类是对象的实例
19单选题19 / 43
下列叙述中正确的是( )。
查看答案
D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
20单选题20 / 43
字符串“a+b=12\n\t”的长度为( )。
查看答案
C. 8
21单选题21 / 43
树是结点的集合,它的根结点的数目是( )。
查看答案
C. 0或1
22单选题22 / 43
有以下程序:
#include
usingnamespacestd;
classsample
{
private:
intX;
public:
sample(inta)
{
X=a:
}
frienddoublesquare(samples);
};
doublesquare(samples)
{
returnS.x*S.X:
}
intmain()
{
samples1(20),s2(30);
cout<<square(s2)<
return0;
}
执行结果是( )。
查看答案
C. 900
23单选题23 / 43
若有如下语句
#include
voidmain( )
{
intx=3:
do{
x=X-2:
cout<
}while(!(--x));
}
则上面程序段( )。
查看答案
B. 输出的是1和-2
24单选题24 / 43
下列数据模型中,具有坚实理论基础的是( )。
查看答案
C. 关系模型
25单选题25 / 43
程序调试的任务是( )。
查看答案
C. 发现程序中的错误
26单选题26 / 43
以下叙述中正确的是( )。
查看答案
A. 构成C++语言程序的基本单位是类
27单选题27 / 43
下列关于运算符重载的描述中,错误的是( )。
查看答案
C. 将运算符作为非成员函数重载时必须定义为友元
28单选题28 / 43
下列程序执行结果是( )。
#include(iostream.h)
classA
{public:
inta;
A( ):a(10){cout<<a<<endl;)
};
voidmain( )
{Aobj1;
Aobj2(obj1);
cout<<""<<obj2.a<
}
查看答案
A. 1010
29单选题29 / 43
有如下类定义:
classAA{
inta:
public:
AA(intn=0):a(n)()
};
classBB:publicAA{
pubilc:
BB(intn)____
};
其中横线处缺失部分是()。
查看答案
B. :AA(n){}
30单选题30 / 43
有下列程序:
#include
voidmain( )
{inta[]={1,2,3,4),y,*p=&a[3];
--p;y=*p;printf("y=%d\n",y);
}
程序的运行结果是( )。
查看答案
D. y=3
31单选题31 / 43
下列描述正确的是( )。
查看答案
D. 如果至少有一个操作数为true,则包含‖运算符的表达式为true
32单选题32 / 43
有定义语句“chars[10];”,若要从终端给s输入5个字符,错误的输入语句是( )。
查看答案
D. scanf("%s",s[1]);
33单选题33 / 43
若有定义“inta[2][3];”,下列选项中对a数组元素正确引用的是( )。
查看答案
D. a[1>2][!1]
34单选题34 / 43
有如下程序:
#include
usingnamespacestd;
classPair{
intm,n;
public;
Pair(intj,intk):m(j),n(k){}
intget( ){returnIn;}
intget( )const{returnm+n;}
};
intmain( ){
Paira(3,5);
constPairb(3,5);
cout<<
return0;
}
运行时的输出结果是( )。
查看答案
B. 38
35单选题35 / 43
下列不是软件工程基本目标的照( )。
查看答案
C. 不管时间限制,只要最终把用户要求的产品交出来
36单选题36 / 43
有如下程序:
#include
#include
usingnamespacestd;
intmain()(
cout<<setfill('*')<<setw(6)<<123<
return0;
}
运行时的输出结果是( )。
查看答案
C. ***123456
37单选题37 / 43
要定义一个引用变量P,使之引用类MyClass的一个对象,正确的定义语句是( )。
查看答案
D. MyClassa,&p=a;
38单选题38 / 43
下列关于虚基类的描述中,错误的是( )。
查看答案
C. 声明“classB:virtualpublicA”说明类B为虚基类
39单选题39 / 43
要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是( )。
查看答案
A. fatream
40单选题40 / 43
结构化程序设计的基本原则不包括( )。
查看答案
A. 多态性
41主观题41 / 43
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出为
10
TC1
注意:不要改动main函数,不能增加或删除行,也不能
更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include
classTC1
{
public:
TC1()
{
}
//********error********
private:
virtual~TC1()
{
usingnamespacestd;
cout<<"TCl"<
}
};
classTC2:publicTC1
{
public:
//********error********
explicitTC2(inti)
{
m_i=i;
}
TC2&operator()(inti)
{
this->m_i=i;
}
voidprint()
{
//********error********
cout<<m_j<
}
private:
intm_i;
};
voidfun(TC2C1)
{
C1.print();
}
intmain()
{
fun(TC2(10));
return0;
}
查看答案
(1)删除“privAtE:”语句。
(2)应改为“TC2(inti)”。
(3)应改为“stD::Cout<<m_i<<stD::EnDl;”或添加“usinGnAmEspACEstD;”。
42主观题42 / 43
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intx)的定义,该函数功能是判定x的所有约数,并且在函数中调用写函数WriteFile将结果输出到2.txt文件中。
例如:x=100的约数为124510202550100。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<iostream)
#include(fstream)
#include(cmath)
usingnamespacestd;
voidWriteFile(intc)
{
ofstreamout1;
out1.open("2.txt",ios_base::binary|ios_base::app);
out1<<c<<'';’
out1.close();
}
voidfun(intx)
{
}
voidClearFile()
{
ofstreamout1;
out1.open("2.txt");
out1.close();
}
intmain()
{
ClearFile();
fun(100);
return0;
}
查看答案
For(inti=1:i<=x;i++)
{
iF(x%i==0)//如果x被i整除,那么i为X的约数
{
writEFilE(i);
//将约数i存入文件
}
}
43主观题43 / 43
使用VC++6.0打开考生文件廷下的源程序文件3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整,使其输出的结果为
TCA
TCB
TCC
(1)完成类B虚继承于A,请在注释1后添加适当的语句。
(2)完成类C虚继承于A,请在注释2后添加适当的语句。
(3)完成类D继承于B,C,请在注释3后添加适当的语句。
(4)函数fun通过调用基类的fun,完成所输出的内容,请在注释4后添加适当的语句。
注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include
classTCA
{
public:
voidfun()
{
cout<<"TCA"<
}
};
//********1********classTCB
{
public:
voidfun()
{
cout<<"TCB"<
}
};
//********2********classTCC
{
public:
voidfun()
{
cout<<"TCC"<
}
};
//********3********classTCD
{
public:
voidfun()
{
//********4********}
};
voidmain()
{
TCDtest;
test.fun();
return;
};
查看答案
(1)将“ClAssTCB:”补充完整为“ClAssTCB:virtuAlpuB-liCTCA”。
(2)将“ClAssTCC:”补充完整为“ClAssTCC:virtuAlpuB-liCTCA”。
(3)将“ClAssTCD:”补充完整为“ClAssTCD:puBliCTCB,puBliCTCC”。
(4)应添加“TCA::Fun();TCB::Fun();TCC::Fun();”。