- 相干保举
天下计较机二级《C++》上机试题及谜底
在各范畴中,咱们或多或少城市打仗到试题,借助试题能够或许或许更好地考核参试者所把握的常识和技术。一份好的试题都是甚么模样的呢?以下是小编经心清算的天下计较机二级《C++》上机试题及谜底,接待浏览,但愿大师能够或许或许喜好。
一、法式改错题
利用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="< }
//******error******
TC:TC()
{
COUI<<"Destructor"< }
voidmain()
{
TCa;
a.display();
}
二、简略利用题
利用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< }
cout< return0;
}
三、综合利用题
利用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"< endl;
cout<<”Allsellnumber:"< cout<<"Allsellweight:"< endl< }
};
//********4********
floatTCFruit::AllWeight=0.0;
intmain()
{
TCFruitFruitl(1.2);
Fruitl.display();
TCFruitFruit2(2.3);
Fruit2.display();
return0;
}
天下计较机二级《C++》上机试题及谜底 篇1
一、法式改错题
(1)应改成“TC::TC()”。
(2)应改成“voidTC::display()”。
(3)应改成“TC::~TC()”。
【剖析】在类的内部界说成员函数时,必须在成员函数后面加上类名和感化域运算符“::”,感化域运算符用采表现某个成员属于哪一个类,利用格局为“(类名)::<成员函数>((参数函数)),是以第1处应改成“TC::TC()”,默许机关函数不参数。由第2处“TC::display()”后的语句看,这是在类外完成TC函数,是以也有感化域运算符利用毛病题目,display函数前往值为void,是以第2处的语句应改成“voidTC::display()”。由第3处的语句“TC::TC()”可知,明显这里是在类外完成析构函数,析构函数是一个特别的函数,它的称号和类名不异,并在后面加“~”字符,用采与机关函数加以区分,是以第3处的语句应改成“TC::~TC()”。
二、简略利用题
inti,j;
for(i=O;i {
for(j=0;j {
if(A[j]>A[j+1])//若是后面的数比后面的大则
停止互换
{
intt=A[j];//停止互换
A[j]=A[j+1];
A[j+1]=t;
}
}
}
【剖析】数组A[N]中有n个数,停止n-1次比拟,在每次比拟中两两比拟的次数逐步削减,比方如有6个数9,
8,5,4,2,0。第一次将8和9对换,第二次将第2个数9和第3个数5对换,如斯共停止5次,取得8-5-4-2-0-9的挨次,能够或许或许看到:最大的数9已“沉底”,成为最下面一个数,而小的数“回升”。最小的数0已向上“浮起”一个地位。经第一趟(共5次)后,已取得最大的数,而后停止第二趟比拟,对余下的后面5个数按下面的方式停止比拟,颠末4次比拟,取得次大的数8。如斯停止下去。能够或许或许推知,6个数要比拟5趟。在第一趟中要停止两两比拟5次,在第二趟中比拟4次,……第5趟比拟1次。是以设置两层轮回,外层轮回变量i从O变更大到n-1,内层轮回变量j从0到n-j,在内层轮回体内,比拟相邻两数,若是后面比后面的大则互换。在内层轮回体内,若是后面的元素比后面的元素大,则用一个姑且变量记实后面的第j个元素,而后将第j+1个元素赋值给第j个元素,姑且变量值赋给第j+1个元素,如斯完成两个元素的.互换。
三、综合利用题
(1)应增添“staticfloatAllWeight;”。
(2)应增添“Weight=w;”。
(3)应增添“AllNo--;”。
(4)应增添“intTCFruit::AllNo=0;”。
【剖析】静态数据成员申明时需利用关头字static,是以第1处应增添“staticfloatAllWeight;”。机关函数用来对类成员停止初始化,在TCFruit类的机关函数TCFruit(floatw)中,完成weight的初始化,并把这个w加到AllWeight中,并且AllNo自加,是以第2处应增添“weight=w;”。挪用析构函数相称于加入,这时候AllWeight中减去weight,而后AllNo自减,是以第3处应增添“AllNo--;”。静态数据成员的初始化格局为“<数据范例><类名>::(静态数据成员>=(初始值)”,是以第4处应增添“intTCFruit::AllNo=0;”。
C说话根基算法
1.互换(两量互换借助圈外人)
例1、肆意读入两个整数,将两者的值互换后输入。
main()
{int a,b,t;
scanf("%d%d",&a,&b);
printf("%d,%d ",a,b);
t=a; a=b; b=t;
printf("%d,%d ",a,b);}
【剖析】法式中加粗局部为算法的焦点,犹如互换两个杯子里的饮料,必须借助第三个空杯子。
假定输入的值别离为3、7,则第一行输入为3,7;第二行输入为7,3。
此中t为中心变量,起到“空杯子”的感化。
注重:三句赋值语句赋值号摆布的各量之间的干系!
【利用】
例2、肆意读入三个整数,而后按从小到大的挨次输入。
main()
{int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a>b){ t=a; a=b; b=t; }
if(a>c){ t=a; a=c; c=t; }
if(b>c) { t=b; b=c; c=t; }
printf("%d,%d,%d ",a,b,c);}
2.累加
累加算法的方法是形如“s=s+A”的累加式,此式必须呈现在轮回中能力被频频履行,从而完成累加功效。“A”凡是是有纪律变更的抒发式,s在进入轮回前必须取得适合的初值,凡是为0。
例1、求1+2+3+……+100的和。
main()
{int i,s;
s=0; i=1;
while(i<=100)
{s=s+i;
i=i+1;
}
printf("1+2+3+...+100=%d ",s);}
【剖析】法式中加粗局部为累加式的典范情势,赋值号摆布都呈现的变量称为累加器,此中“i = i + 1”为特别的累加式,每次累加的值为1,如许的累加器又称为计数器。
3.累乘
累乘算法的方法是形如“s=s*A”的累乘式,此式必须呈现在轮回中能力被频频履行,从而完成累乘功效。“A”凡是是有纪律变更的抒发式,s在进入轮回前必须取得适合的初值,凡是为1。
例1、求10!
[阐发]10!=1×2×3×……×10
main()
{int i; long c;
c=1; i=1;
while(i<=10)
{c=c*i;
i=i+1;
}
printf("1*2*3*...*10=%ld ",c);}
【天下计较机二级《C++》上机试题及谜底】相干文章:
天下计较机二级测验C++稳固试题与谜底03-01
计较机二级C++摹拟试题及谜底02-06
计较机二级测验VF上机试题及谜底03-21
2024计较机二级C上机测验试题及谜底10-23
2016计较机二级《C++》上机操练题03-27