2019计算机二级C++试题【大汇总】

发布于 2019-03-25 17:08  编辑:simi
0
计算机等级考试题库 扫码微信刷题


凡事预则立不预则废,复习好以下的二级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

想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库

想知道更多关于计算机等级考试题库的最新资讯吗?点击进入>>>计算机等级考试题库资讯


本文网址:http://www.k51.com.cn/info/jsjdjks/1903/2550705.html
选择分享到: