考无忧小编想悄悄告诉你:下一次的计算机二级考试也很快到来的!赶紧刷二级C++试题吧!
二级C++试题
【1】
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,使其输出结果为:
n=0
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include
//********error*******。
classTC()
{
public:
//********error********
void~TC(){}
TC(intn)
{
cout<<'n'<<'='<<N<<ENDL;< p>
};
//********error********
}
voidmain()
{
TCtest(0);
return;
}
答案:(1)应改为“classTC”。
(2)应改为“~TC(){}”。
(3)应改为“};”。
【2】
简单应用题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)
例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include(iostream.h)
voidfun(char*s1,char*s2)
{
}
voidmain()
{
charsi[100】,s2【1OO];
cout<<"Pleaseenterstringstrin9:"<<ENDL;< p>
cin.getline(s1,100);
fun(s1,s2);
cout<<"Theresultis:"<<S2<<CNDL< p>
return;
}
答案:inti;
for(i=0;s1[i]!=0;i++)//循环判断每一个字符
{
if(i%2==0)//判断字符串中下标为偶数位置
{
s2[i]=s1[3];
s2[i+1]=s1[i];
s2[i+2]='\0';//新串添加尾符
}
}
【3】
综合应用题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。每卖出一个水果,则计算水果的重量,还要计算所有卖出水果的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整。
(1)定义类TCFruit的私有静态数据成员float型变量AllWeight和int型变量AllN0,请在注释1后添加适当的语句。
(2)完成类TCFruit的带一个float型变量w的构造函数,并把这个w加到AllWeight中,并且AllNo自加。请在注释2后添加适当的语句。
(3)在析构函数中,在AllWeight中减去weight,然后AllNo自减,请在注释3后添加适当的语句。
(4)完成静态成员变量的初始化为0,请在注释4后添加适当的语句。
注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include(iostream.h>
classTCFruit
{
private:
floatWeight;
//********1********
staticintAllNo;
public:
TCFruit(floatw)
{
//********2********
AllWeight+=w:
AllNo++:
}
~TCFruit()
{
//********3********
AllWeight-=Weight:
}
voiddisplay()
{
cout<<"SellaFruitwith"<<WEIGHT<<"K9"<<< p>
endl;
cout<<”Allsellnumber:"<<ALLNO<<ENDL;< p>
cout<<"Allsellweight:"<<ALLWEIGHT<<"K9"<<< p>
endl<<ENDL;< p>
}
};
//********4********
floatTCFruit::AllWeight=0.0;
intmain()
{
TCFruitFruitl(1.2);
Fruitl.display();
TCFruitFruit2(2.3);
Fruit2.display();
return0;
}
答案:(1)应添加“staticfloatAllWeight;”。
(2)应添加“Weight=w;”。
(3)应添加“AllNo--;”。
(4)应添加“intTCFruit::AllNo=0;”。
【4】
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕中。
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include
voidmain()
{
inti=0;
charstr[120];
cout<<"Enterastringendwith'?'."<<ENDL;< p>
//********error********
cin.getline(str,120);
//********error********
while(str)
{
//********error********
if(str[i])='a')
str[i]=str[i]-'a'+'A';
i++;
}
cout<<STR<<ENDL;< p>
return;
}
答案:(1)应改为“ein.getline(str,120,'?');”。
(2)应改为“while(str[i])”。
(3)应改为“if(str[i]>='a'&&str[i]<='2')”。
【5】
简单应用题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,实现函数sort(intA[],intn),用选择排序法将数组从大到小排序。
提示:选择排序法的思想是
(1)反复从还未排好序的那部分线性表中选出关键字最小的结点。
(2)按照从线性表中选出的顺序排列结点,重新组成线性表。
(3)直到未排序的那部分为空,使得重新形成的线性表是一个有序的线性表。
补充函数sort(intA[],intn),实现选择排序。
注意:请勿改动主函数。
试题程序:
#include
#defineN10
voidsort(intA[N],intn)
{
}
intmain()
intA[N]={-72,54,-6,7,18,102,0,4,-11,1};
sort(A,10);
for(inti=0;i(sizeof(A)/sizeof(int);i++)
{
cout<<A[I]<<'';< p>
}
cout<<ENDL;< p>
return0;
}
答案:inti,j;
for(i=O;i<N-1;I++)< p>
{
for(j=0;j<N-1-I;J++)< p>
{
if(A[j]>A[j+1])//如果前面的数比后面的大则
进行交换
{
intt=A[j];//进行交换
A[j]=A[j+1];
A[j+1]=t;
}
}
}
考无忧小编有话说:
每年缺考率超过10%,说明有部分同学还是会在备考中放弃自己,因为没时间,因为太难了,甚至因为害怕了,这些都是失败的理由!人,不逼自己一把,你永远不知道自己是多么优秀!短时间,也可以爆发大能量!赶紧复习以上的二级C++试题,刷完计算机等级考试题库!
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯