备考:2019年6月二级C++试题-总

发布于 2019-05-13 11:00  编辑:simi
0
计算机等级考试题库 扫码微信刷题


二级C++试题.jpg


真正成功的考生,不在于成绩的多少,而在于你是否努力地去实现自我、努力地去刷二级C++试题,喊出自己的声音,走出属于自己的道路。


二级C++试题及答案

【1】

程序改错题

使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果:

(4,5)

7.8

(4,8)

注意:错误的语句在//******error****+*的下面,修改该语句即可。

试题程序:

#include

classTCO

{

public

TCO(inti,intj)

{

x=i

y=j;

}

//******error******

virtualvoidmove(inta;intb)

{

x+=a;

y+=b;

}

voidprint()

{

cout<<"("<<X<<","<<Y<<")"<<ENDL;< p>

}

public

intx,Y;

);

classTCl:publicTCO

{

public

//******error******

TCl(inti,intj,intk):(i,j)

{

m=k

n=1

}

voidprint()

{

cout<<M<<","<<N<<ENDL;< p>

}

voidrune()

{

move(3,5);

}

voiddisplay()

{

//******error******

print();

}

private

intm,n;

};

voidmain()

{

TCOobj(4,5);

obj.print();

TClobjl(1,3,7,8);

obj1.func();

obj1.print();

obj1.display();

}

答案:(1)应改为“virtualvoidmove(inta,intb)”。

(2)应改为“TCl(inti,intj,intk,int1):TCO(i,j)”。

(3)应改为“TC0::print();”。

 

 

 

【2】

简单应用题

使用VC++6.0打开考生文件夹下的源程序文件2.epp。阅读下列函数说明和代码,补充空出的代码。函数fun(doubleA[5][5])返回二维数组中大于本行平均数的所有数之和。

注意:部分代码已经实现,请勿改动main函数代码。

试题程序:

#include<IOSTREAM.H)< p>

doublefun(doubleA[5][5])

{

}

voidmain()

{

doubleA[S][5]=

{4431.3,45.56,5697.65,768.678,122.45),

{444.4,34.545,5667.656,2548.678,1562.45},

{537.3,655.5456,5677.65,7168.678,1242,45},

{134.3,454.5486,5637.65,7687.678,1322.45),

{189.3,445.5786,5677.65,7528.678,142.45}

};

cout<<FUN(A)<<ENDL;< p>

return;

}

答案:doublefun(doubleA[S][5])

{

doublesum2=0.0;

for(inti=0;i<5;i++)

{

doublesuml=0.0;

intj=0;

for(j=0;j<5;j++)

{

suml+=A[i][j];

}

sum1/=5;

for(j=0;j<5;j++)

{

if(A[i][j]>suml)

}

}

returnsum2;

}

 

 

 

【3】

综合应用题

使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。

(1)完成构造函数,设置数组元素的个数为0,请在注释1之后添加语句。

(2)完成函数AddMember(intn),如果参数n包含在类的数据成员数组中,则返回0,否则把数据写入数组,然后返回1,请在注释2之后添加语句。

(3)完成函数DelMember(intn),如果变量在数据中,则删除该变量,并且返回1,如果不存在,则返回0,请在注释3之后添加语句。

(4)完成成员函数Islnclude(intn)的定义,该函数检查参数n是否在类的数据成员数组array中,如果在,返回1,否则返回0。请在注释4之后添加语句。

注意:除在指定位置添加语句之外,不要改动程序中的其他内容。

试题程序:

#include

#defineMAXLENGTH500

classlCArr

{

public

TCArr()

{

//********1********}

intAddMember(intn)

{

for(inti=0;i<LENGTH;I++)< p>

{

//********2********

return0;

}

Array[length++]=n;

return1

}

intDelMember(intn)

{

inti

for(i=0;i<LENGTH;I++)< p>

{

if(Array[i]==n)

{

break;

}

}

//********3********

{

for(;i<LENGTH-1;I++)< p>

{

Array[i]=Array[i+1];

}

length--;

return1;

}

return0;

}

intIslnclude(intn)

{

for(inti=0;i<LENGTH;I++)< p>

{

//********4********

{

return1;

}

}

return0;

}

private

intArray[MAX_LENGTH];

intlength;//用来记录数组的个数

};

intmain()

{

TCArrobj;

cout<<OBJ.ADDMEMBER(1)<<ENDL;< p>

cout<<OBJ.ADDMEMBER(3)<<ENDL;< p>

cout<<OBJ.ADDMEMBER(8)<<ENDL;< p>

cout<<OBJ.ADDMEMBER(23)<<ENDL;< p>

cout<<OBJ.ISLNCLUDE(8),<<ENDL;< p>

cout<<OBJ.ISINCLUDE(11)<<ENDL;< p>

cout<<OBJ.DELMEMBER(3)<<ENDL;< p>

cout<<OBJ.DELMEMBER(8)<<ENDL;< p>

cout<<OBJ.ISINCLUDE(2)<<ENDL;< p>

cout<<OBJ.ISINCLUDE(1)<<ENDL;< p>

return0;

}

答案:(1)应添加“length=0;”。

(2)将“if(Array[i]=n)”补充完整为“if(Array[i]==n)”或“if(n==Array[i])”。

(3)将“if()”补充完整为“if(i<LENGTH)”或“IF(I!=LENGTH)”。< p>

(4)将“if()”补充完整为“if(Array[i]==n)”或“if(n==Array[i])”。

 

 

 

【4】

程序改错题

使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行,并且使程序输出的结果为

0K

注意:错误的语句在//******error******的下面,修改该语句即可。

试题程序:

#include

classTC

{

public

TC()

{

a=b=0

}

private

inta,b;

};

classTCl:publicTC

{

public

TC1()

{

}

//******error******

virtualvoidfunc();

};

classTC2:publicTCl

{

public

TC2()

{

a=0

b=0

}

voidfunc()

{

//******error******

cout<<"OK"<ENDL;< p>

}

private

inta;

intb;

};

voidmain()

{

TC20bj;

//******error******

TCl*p=(TCl*)obj;

p->func();

}

答案:(1)应改为“virtualvoidfunc()=0;”。

(2)应改为“cout<<"0K"<(endl;”。

(3)应改为“TCl*p=(TCl*)&obj;”。

 

【5】

简单应用题

使用VC++6.0打开考生文件夹下的源程序文件2.epp。完成空出函数fun(char*S,char*t)部分。函数fun(char*s,char*t)的功能是将在字符串S中下标为偶数位置上的字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中字符的顺序排列。

例如:当s中的字符串为“ABCDEF”时,t中的字符串应为“AACCEE”。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include

voidfun(char*s,char*t)

{

}

voidmain()

{

chars[100],t[100];

cout<<"Pleaseenterstrings:"<<ENDL;< p>

tin.getline(s,100);

fun(s,t);

cout<<"Theresultis:"<<T<<ENDL;< p>

return;

}

答案:voidfun(char*s,char*t)

{

inti;

for(i=0;s[i]!==0;i++)

{

if(i%2==0)

{

t[i]=s[i];

t[i+2]='\0';

}

}

}



刷计算机等级考试题库中,慢慢总结、学习、复习以上的二级C++试题,有效的刷题策略才能事半功倍,考试将至,希望小伙伴们在最后备战的阶段中,精益求精、稳中求进,一次通过!



文章推荐:

全国计算机等级考试可以不考一级直接考二级吗?

2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”

全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)


温馨提示:

考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office

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

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


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