2019年9月计算机等级考试即将开始,别再为不知怎么准备、怎么做二级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
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯