考无忧小编每天勤劳不息地搜寻和编写一大批对考生有实用价值的考试信息、资料、试题、技巧免费送给各位亲爱的同学,赶紧先来看看二级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,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为
Constructor,i=0,
Destructor
注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include(iostream.h)
classTC
{
inti;
public:
TC();
voiddisplay();
~TC();
};
//******error******
TC:TC()
{
cout<<"Constructor"<<",";
i=0;
)
//******error******
TC:display()
{
tout<<"i="<<I<<","<<ENDL;< p>
}
//******error******
TC:TC()
{
COUI<<"Destructor"<<ENDL:< p>
}
voidmain()
{
TCa;
a.display();
}
答案:(1)应改为“TC::TC()”。
(2)应改为“voidTC::display()”。
(3)应改为“TC::~TC()”。
【5】
简单应用题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(char*str,charch)的定义,本函数采用二分法,在已按字母次序从小到大排序的字符数组str中,查找字符ch,若ch在数组中,函数返回字符ch在数组中的下标,否则返回1。
二分法查找的思想是初始查找区间的下界为0,上界为len-1,查找区间的中部后,k=(下界+上界)/2;若list[k]等于ch,查找成功;若list[k]>ch,则新的查找区间的下界不变,上界改为k-1;否则新的查找区间的下界改为k+1,上界不变。在新区间内继续用二分法查找。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include(iostream.h>
intfun(char*str,charch)
{
}
voidmain()
{
charstr[]={'a','b','C','d','e','f','9','h','i,'
j','k');
charch;
cout<<"请输入一个字符:"<<ENDL;< p>
cin>>ch;
cout<<"输入字符的位置是:"<<FUN(STR,CH)<<ENDL;< p>
return;
}
答案:intlow=0;//初始查找区间的下界
inthigh;
intk;
for(high=0;str[high]!=0;high++)//求字符串长度
while(10w<HIGH) p 循环判断字符位置<>
{
k=(low+high)/2;
if(str[k]==ch)
returnk;
elseif(str[k]>ch)
high=k-l:
elselow=k+1:
}
if(str[low]==ch)
returnlow;
return-1:
考无忧小编为大家介绍一款实用的考无忧网校:计算机等级考试题库,涵盖了计算机等级各方面内容,同样所有习题交互式答题,有答案,有解析,相信会在您的备考道路上,助您一臂之力!以上的二级C++试题及答案,也会助您考试成功的!
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯