对自己狠一点,逼自己努力刷二级C++试题及答案,再过五年你将会感谢今天发狠的自己、恨透今天懒惰自卑的自己。我始终相信一句话:只有自己足够强大,才不会被别人践踏。
二级C++试题及答案
【1】
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件
1.cpp,该程序运行时有误,请改正其中的错误,使程序正常运行,并使程序的输出结果为
平均值为29
最大值为112
最小值为-11
注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include(iostream)
usingnamespacestd;
intmain()
{
inti,Ave,Min,Max;
intdata[8]={100,21,-73,86,14,0,-21,1};
Ave=0;
for(i=0:i<8:i++)
//******error******
Ave=data[i];
Ave/=8:
cout<<"平均值为:"<<AVE<<ENDL;< p>
Max=Min=data[O];
for(i=0;i<8;i++)
{
//******error******
if(data[i](Max)Max=data[i];
//******error******
if(data[i])Min)Min=data[i];
}
cout<<"最大值为:"<<MAX<<ENDL;< p>
cout<<"最小值为:"<<MIN<<ENDL;< p>
return0;
}
答案:(1)应改为“Ave+=data[i];”或“Ave=Ave+data[i];”。
(2)应改为“if(data[i])Max)Max=data[i];”。
(3)应改为“if(data[i](Min)Min=data[i];”。
【2】
简单应用题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,完成空出部分的程序。实现函数sort(intA[],intn),用冒泡法对数组数据进行排序。所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从0到n-1的数与其后面相邻的数交换,可以把最大的数交换到数组的末端。进行n次下标从0到n-1的交换,则数组变成有序的,并且按由大到小排序。
注意:不能修改和删除程序的其他部分,也不能修改程序的结构。
试题程序:
#include
#defineN10
voidsort(intA[N],intn)
{
}
intmain()
{
intA[N]={1,50,17,69,87,42,90,-6,O,-11};
sort(A,10);
for(inti=0;i<SIZEOF(A) p sizeof(int);i++)<>
{
cout<<A[I]<<'';< p>
}
cout<<ENDL;< p>
return0;
}
答案:inti,j,k,t;
for(i=0;i(n-1;i++)
{
for(k=i,j=i+1;j<N;J++)< p>
if(A[k]<A[J]) p 如果前面的比后面的小则需要<>
交换
k=j;
if(k!=i)//交换
{
t=AEi3;
A[i]=A[k];
A[k]=t;
}
【3】
综合应用题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了类BA、PA1和PA2,其中PA1类由BA类公有派生,PA2类由PA1类公有派生。上述3个类的定义并不完整,请按要求完成下列操作,将程序补充完整。
程序输出结果如下:
1O
5
1057
(1)定义类BA的构造函数,该构造函数有一个整型的参数m,在构造函数中将m赋值给数据成员a。请在注释1之后添加适当的语句。
(2)定义类PA1的构造函数,该构造函数有两个整型的参数m和n,在构造函数中将m赋值给数据成员b,将n作为基类BA构造函数的参数值传人。请在注释2之后添加适当的语句。
(3)定义类PA2的构造函数,该构造函数有3个整型的参数m、n和k,在构造函数中请将m赋值给数据成员c,将n和k分别赋值给基类PA1构造函数的参数m和n。请在注释3之后添加适当的语句。
(4)完成类PA2的成员函数show的定义,该函数调用基类成员函数,输出基类私有成员a、b及类PA2自身的数据成员C的值,上述3个值在输出时用空格隔开。请在注释4之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
试题程序:
#include(iostream.h>
classBA
{
inta;
public:
//********1********
intgeta(){returna;}
};
classPAl:publicBA
{
intb;
public:
//********2********
intgetb(){returnb;}
};
classPA2:publicPAl
{
intC;
public:
//********3********
voidshow()
{
//********4********
}
};
voidmain()
{
PA2a(7,5,10);
cout<<A.GETA()<<ENDL;< p>
cout<<A.GETB()<<ENDL;< p>
a.show();
}
答案:(1)应添加“BA(intm){a=m;}”。
(2)应添加“PAl(intm,intn):BA(n){b=m;}”。
(3)应添力Ⅱ“PA2(intm,intn,intk):PAl(n,k){C=m;)”。
(4)应添加“cout<<GETA()<<""<<GETB()<<""<<C<<ENDL;”。< p>
【4】
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请补充程序中的丢失部分,使得程序运行。可以在修改处增加或者删除一条语句。
本程序完成以下功能:
(1)获得输入的两个数字d1,d2(d1=6,d2=1)。
(2)输出两个中较大的一个(输出6)。
(3)计算d1/d2,如果d2等于0,返回-l(输出结果6)。
(4)输出d1+d2的结果(输出结果7)。
(5)输出d1+1的结果(输出结果7)。
(6)输出d2-1的结果(输出结果0)。
注意:错误的语句在/********error********/的下面。修改该语句即可。其他的语句不能修改。
试题程序:
#include(iostream.h>
voidmain()
{
intd1;
intd2;
intd3;
cout<<"pleaseinputtWOnumber:"<<ENDL;< p>
cin>>d1>>d2;
/********error********/
d3=(d1<D2)?DL:D2;< p>
cout<<"Maxdatais:"<<D3<<ENDL;< p>
//计算d1/d2如果d2等于0,返回-l
/********error********/
d3=(d2)?d1\d2:-l;
cout<<"d1/d2="<<D3<<ENDL;< p>
/********error********/
d3=(--dl)+(d2++);
cout<<"d1+d2="<<D3<<ENDL;< p>
cout<<"d1+1="<<D1<<ENDL;< p>
cout<<"d2-1="<<D2<<ENDL;< p>
return;
}
答案:(1)“d3=(d1<D2)?D1:D2;”应改为“D3=(D1)D2)?D1:D2;”。< p>
(2)“d3=(d2)?d1\d2:-l;”应改为“d3=(d2)?d1/d2:-l;”。
(3)“d3=(--dl)+(d2++);”应改为“d3=(d1++)+(d2--);或d3=(++d1)+(--d2);”。
【5】
简单应用题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数sum(intA[NUM][NUM],intn)的功能是计算矩阵中所有非质数数字的和。
提示:函数isPrime(intn)的功能是判定当前数字是否为质数,如果是,则返回true。
注意:不能修改程序的其他部分,只能修改sum函数。
试题程序:
#include(iostream.h)
#include
#defineNUM50
intA[NUM][NUM]=
{
{1,3,5,7,9},
{11,13,15,17,19},
{21,23,25,27,29},
{31,33,35,37,39},
{41,43,45,47,49}
};
boolisPrime(intn)
{
if(n==1)
returnfalse;
if(n==2)
returntrue;
for(inti=2;i(n/2;i++)
{
if(n%i==0)
returnfalse;
}
returntrue;
}
intsum(intAENUM]ENUM],intn)
{
}
intmain()
{
cout<<SUM(A,5)<<ENDL;< p>
return0;
}
答案:intre=0:
for(inti=0;i<N;I++)< p>
{
for(intj=0;j<N;J++)< p>
{
if(!isPrime(A[i][j]))//判断是否是素数,不是
素数则累加
{
re=re+A[i][j];
}
}
}
returnre:
考无忧小编tips:
不求时时刻刻在刷计算机等级考试题库,但求记住要劳逸结合刷题、复习。今天,你刷了多少题?复习了以上的二级C++试题及答案了吗?
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的最新资讯吗?点击进入>>>计算机等级考试题库资讯