不论你在什么时候开始刷二级C++试题及答案,重要的是开始之后就不要轻言放弃;不论你在什么时候结束,重要的是结束之后就不要后悔。
二级C++试题及答案
【1】
综合应用题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列撮作,将类的定义补充完整。
(1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释1后添加适当的语句。
(2)在类A2前增加A1的声明,请在注释2后添加适当的语句。
(3)在类Cl中声明友元函数boolrune(A2&a,A1&b),请在注释3后添加适当的语句。
(4)实现函数boolfunc(A2&obj1,Al&obj2)的功能,检查两个类的值都为TRUE,则返回TRUE,请在注释4后添加适当的语句。
注意:除在指定位置添加语句之外,不要改动程序中的其他内容。
试题程序:
#include(iostream.h>
//********1********
#
defineFALSE0
//********2********
classA2
{
private:
boolm_A2;
friendboolfunc(A2&objl,A1&obj2);
public:
A2()
{
m_A2=FALSE。
}
public:
voidsetA2(booln)
{
m_A2=n;
}
};
elaSSA1
{
private:
boolm_A1;
//********3*********
public:
A1()
{
m_A1=TRUE;
}
public:
voidsetAl(booln)
{
m_A1=n;
}
};
boolfunc(A2&objl,A1&obj2)
{
//********4********
return
}
intmain()
{
A20bj0;
A10bj1;
cout<<FUNE(OBJ0,OBJL)<<ENDL;< p>
obj0.setA2(TRUE);
objl.setAl(TRUE);
cout<<FUNC(OBJ0,OBJL)<<ENDL;< p>
return0;
}
答案:(1)应添加“#defineTRUE1”。
(2)应添加“classA1;”。
(3)应添加“friendboolfunc(A2&objl,Al&obj2);”。
(4)将“retllin”补充完整为“returnobjl.m_A2==TRUE&&obj2.m_A1==TRUE;”。
【2】
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:
9,8,7,6,5
注意:错误的语句在/********error********/的下面,修改该语句即可。其他的语句不能修改。
试题程序:
#include(iostream.h>
classTC
{
/********error********/
TC(inti)
{
m_i=i;
}
voidprint()
{
cout<<--m_i<<',';
}
public:
intm_i;
};
intmain()
{
/********error********/
inti();
TC04(10);
while(i>5)
{
/********errOr********/
i++:
04.print();
}
cout<<ENDL;< p>
return0;
}
答案:(1)应添加“public:”。
(2)“inti()”应改为“inti(10);”。
(3)“i++;”应改为“i--;”。
【3】
简单应用题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intn),使其实现以下功能:当i等于3时,则打印如下内容。
A
AA
AAA
注意:不能修改程序的其他部分,只能修改fun函数。
试题程序:
#include
voidfun(intn)
{
}
voidmain()
{
intn;
cout<<"请输入打印的行数:"<<ENDL;< p>
cin>>n;
if(n<1)
{
cout<<"输入的行数必须大于0"<<ENDL;< p>
return;
}
fun(n);
return;
}
答案:inti;
for(i=0;i<N;I++) p 外层循环,要打印的行数<>
{
intj;
for(j=0;j(n-i-1;j++)//循环打印空格
{
cout<<'';
}
for(;j<N;J++) p 循环打印A<>
{
cout<<"A":
}
cout<<ENDL; p 打印每一行的回车符<>
}
【4】
综合应用题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
(1)将文件以追加的方式打开。请在注释l后添加适当的语句。
(2)定义m、n为类TC的公有int型数据成员。请在注释2后添加适当的语句。
(3)定义P为类TC的数据成员指针,并指向类TC的数据成员m。请在注释3后添加适当的语句。
(4)定义P指向类TC的数据成员n。请在注释4后添加适当的语句。
注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include
#include(fstream)
#include
#include
usingnamespacestd;
voidWriteFile(intx)
{
ofstreamout1;
//********1********
out1.open("3.txt",);
out1<<X<<'';< p>
out1.close();
}
voidClearFile()
{
ofstreamout1;
outl.open("3.txt");
out1.close();
}
classTC
{
public:
voiddisp()
{
cout<<"m="<<M<<ENDL;< p>
WriteFile(m);
cout<<"n="<<N<<ENDL;< p>
WriteFile(n);
}
//********2********
};
voidmain()
{
//********3********
ClearFile();
TCa;
a.*p=30;
//********4********
a.*p=45;
a.disp();
}
答案:(1)将“out1.open(”3.txt”,);”补充完整为“outl.open("3.txt",ios_base::app);"。
(2)应添加“intm,n;”。
(3)应添加“intTC::*p=&(TC::m);”。
(4)应添加“p=&(TC::n);”。
【5】
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正其中的错误,使得程序正确运行。
程序输出:
s1:n=20
s2:n=10
执行s3.add(s1,s2)
s3:n=30
s4:n=30
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include<IOSTREAM.H)< p>
classTC
{
intn;
public:
TC(){}
TC(intm)
{
n=m:
}
//********error********
TCadd(TCs1,s2)
{
this->n=s1.n+s2.n;
//********error********
return(this);
}
voiddisp()
{
cout<<"n一="<<N<<ENDL;< p>
}
//********error********
}
voidmain()
{
TCs1(20),s2(10),s3,s4;
cout<<"s1:";
s1.disp();
cout<<"s2:";
s2.disp();
s4=s3.add(s1,s2);
cout<("执行s3.add(s1,s2)\ns3:";
s3.disp();
COUt<<"s4:";s4.disp();
}
答案:(1)应改为“TCadd(TCs1,TCs2)”。
(2)应改为“return(*this);”。
(3)应改为“};”。
不要着急!不要迷茫!不要彷徨!考无忧小编送福利~计算机等级考试题库。以上是一些二级C++试题及答案,希望能帮到你们~
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯