凡事预则立不预则废,复习好以下的二级C++试题,刷好计算机等级考试题库,才能提前做好完全准备,打一场有计划有目标的仗!
2019年3月二级C++试题
【1】
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。
程序异常,输出信息为
error
O
ERROR
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include<IOSTREAM.H)< p>
intmain()
{
try
{
throw("error");
}
//********error********
catch(chars)
{
cout<<S<<ENDL;< p>
}
try
{
throw((int)0);
}
//********error********
catch()
{
cout<<I<<ENDL;< p>
}
try
{
throw(O);
throw("error");
}
//********error********
catch()
{
cout<<"ERROR"<<ENDL;< p>
}
return0;
}
答案:
(1)应改为“catch(char*s)”。
(2)应改为“cateh(inti)”。
(3)应改为“catch(…)”。
【2】
简单应用题
使用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<LEN;I++)< p>
{
COUt<<A[I]<<'';< p>
}
cout<<ENDL;< p>
cout<<I<<ENDL:< p>
return0;
}
答案:intj=0;
for(inti=0;s[i]!=0;i++)//字符串内循环
{
if(s[i]>='0'&&s[i]<='9')//判断字符是否为0
~9的字符
a[j++]=s[i]-'0';//如果为0~9的字符,转换
为整型
}
}
returnj;//返回数字个数
【3】
综合应用题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
(1)完成类TCl的成员函数seta的定义,定义seta对象,x为int类型,请在注释1后添加适当的语句。
(2)完成类TC3多继承类TCl和TC2的定义,请在注释2后添加适当的语句。
(3)定义类TC3中的私有成员C为int型,请在注释3后添加适当的语句。
(4)完成setc中对基类的变量a的赋值,请在注释4后添加适当的语句。
注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include(iostream.h>
clasSTC1
{
inta;
public:
//********1********
{
returna=x:
}
voidshowa()
{
cout<<A<<ENDL;< p>
}
};
classTC2
{
intb;
public:
voidsetb(intx)
{
b=x:
}
voidshowb()
{
cout<<B<<ENDL;< p>
}
};
//********2********
{
private:
//********3********
public:
voidsetc(intX,inty,intz)
{
C=Z:
//********4********
setb(y);
}
voidshowc()
{
cout<<E<<ENDL;< p>
}
};
voidmain()
{
TC3C;
C.seta(5);
C.showa();
C.sete(5,7,4);
C.showc();
}
答案:(1)应添加“intseta(intx)”。
(2)应添加“classTC3:publicTC1,privateTC2”。
(3)应添加“intC;”。
(4)应添加“seta(x);”。
【4】
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句:
TC1:0
TC2
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include
structTC1
{
TCl(inti=0)
{
m_i=i;
}
voidprint()
{
cout<<"TCl:"<<M_I<<ENDL;< p>
}
intm_i;
};
classTC2
{
public:
TC2()
{
}
voidprint()
{
cout<<"TC2"<<ENDL:< p>
}
//********error********
private:
~TC2()
{
}
};
intmain()
{
//********error********
TC1obj1();
//********error********
TC20bj2();
obj1.print();
obj2.print();
return0;
}
答案:
(1)应改为“public:”。
(2)应改为“TClobj1(0);”或“TClobjl;”。
(3)应改为“TC20bj2;”。
【5】
简单应用题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成fun函数,其功能是求出M行N列二维数组每行元素中的最小值,并计算它们的和,通过形参传回主函数并输出。
注意:不能修改程序的其他部分,只能修改fun函数。
试题程序:
#include(iostream.h)
#defineM2
#defineN4
voidfun(inta[M][N],int*sum)
{
}
voidmain()
{
intx[M][N]={7,6,5,2,4,2,8,3};
ints;
fun(x,&s);
cout<<S<<ENDL;< p>
return;
}
答案:inti,j,k,s=0;
for(i=0;i<M;I++) p 外循环<>
{
k=0:
for(j=1;j<N;J++)< p>
ifa[i][j])k=j;//求得每一行的最小值
s+=a[i][k];//最小值求和
}
*sum=S;//返回求和值
考无忧小编tips:
喜欢跑步的人很多,但天天跑步的人不多;拥有梦想的人很多,但坚持一个梦想的人不多;喜欢学习的人很多,但天天学习的人不多。现实生活中,每个人的思想都很丰富,但是能够持之以恒地坚持做一件事情的人并不多。所以,有人成功,有人失败,有人笑,有人哭,关键看你是否能坚持下去,是否能坚持复习以上的二级C++试题。
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的最新资讯吗?点击进入>>>计算机等级考试题库资讯