上海龙凤419

试题

天下计较机二级《C++》上机试题及谜底

时候:2024-08-15 05:08:10 松涛 试题 我要投稿
  • 相干保举

天下计较机二级《C++》上机试题及谜底

  在各范畴中,咱们或多或少城市打仗到试题,借助试题能够或许或许更好地考核参试者所把握的常识和技术。一份好的试题都是甚么模样的呢?以下是小编经心清算的天下计较机二级《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

计较机二级《Java》上机试题及谜底201603-09

计较机二级测验VF上机试题及谜底03-21

2015年计较机二级Access上机试题及谜底12-02

2016年9月计较机二级《C++》上机题库及谜底03-10

2024计较机二级C上机测验试题及谜底10-23

2016计较机二级《C++》上机操练题03-27

计较机二级测验C++说话法式设想上机测验试题12-03