<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 試題

    計算機二級C++考點習題及答案

    時間:2025-02-08 06:59:09 試題 我要投稿
    • 相關推薦

    2017計算機二級C++考點習題及答案

      成績的取得離不開我們平時的努力,以下是百分網小編為大家整理的2017計算機二級C++考點習題及答案,希望對大家的學習起到幫助!

      一、簡單應用題

      已知考生的記錄由學號和學習成績構成,N名考生的數據已存入a結構體數組中。請編寫函數fun,該函數的功能是:找出成績最低的考生記錄,通過形參返回主函數(規定只有一個最低分)。已給予出函數的首部,請完成該函數。

      注意:部分源程序已存在文件kt8_2.cpp中。

      請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入所編寫的若干語句。

      文件kt8_2.cpp的內容如下:

      #include

      #include

      #include

      #defineN10

      typedefstructss

      {charnum[10];

      ints;

      }STU;

      voidfun(STUa[],STU*s)

      {

      }

      voidmain()

      {STU

      a[N]={{"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71}},m;

      fun(a,&m);

      cout<<"*****Theoriginaldate*****"<

      cout<<"Thelowest:"<

      【參考答案】

      fun(STU a[],STU *s)

      {int i, min;

      min=a[0].s;

      for(i=0;i

      if(a[i].s

      {min=a[i].s;

      *s=a[i];}}

      【試題解析】

      解題思路為:先假設第一個考生的成績最優,通過循環找到最低成績,并將最低成績的考生記錄傳給指針s,帶回主函數。

      二、綜合應用題

      使用VC6打開考生文件夾下的工程kt7_3,此工程包含一個源程序文件kt7_3.cpp,其中含有一個類Circle的定義,但該類的定義并不完整。請按要求完成下列操作,將類Circle的定義補充完整。

      (1)為類Circle增加一個構造函數,該函數有一個參數,并在構造時將該參數值賦給成員radius。將該函數實現為一個非內聯函數,并且使用參數列表的方式將類成員賦值。請在注釋“//**1**”之后添加適當的語句。

      (2)為類Circle增加一個成員函數print(  ),使得可以輸出有關圓的信息,比如下列程序

      Circlec;

      c.SetRadius(5);

      c.Print(  );

      將輸出:Thecirclehasradiusof5!

      請在注釋“//**2**”之后添加適當的語句。

      (3)完成友元函數voidCompareR(Circle*c1,Circle*c2)的定義,在屏幕中輸出c1與c2比較radius大小結果,要求使用if-else結構完成。請在注釋“//**3**”之后添加適當的語句。

      輸出結果如下:

      Thecirclehasradusof5!

      Thecirclehasradiusof10!

      c1

      注意:除在指定位置添加語句之外,請不要改動程序中的其他內容。

      源程序文件kt7_3.cpp清單如下:

      #include

      classCircle{

      public:

      Circle(  ):radius(5){}

      //**1**

      voidSetRadius(intr){radius=r;}

      intGetRadius(  ){returnradius;}

      //**2**

      friendvoidCompareR(Circle*c1,Circle*c2);

      private:

      intradius;};

      voidCompareR(Circle*c1,Circle*c2)

      {//**3**

      cout<<"c1>c2"<

      else

      if((c1->GetRadius(  ))==(c2->GetRadius(  )))

      cout<<"c1=c2"<

      else

      if((c1->GetRadius(  ))<(c2->GetRadius(  )))

      cout<<"c1

      voidmain(  )

      {Circlec1;

      c1.SetRadius(5);

      c1.Print(  );

      Circlec2(10);

      c2.Print(  );

      CompareR(&c1,&c2);}

      【參考答案】

      (1)Circle(intrad):radius(rad){}

      (2)voidPrint(  ){cout<<"Thecirclehasradiusof"<

      (3)if((c1->GetRadius(  ))>(c2->GetRadius(  )))

      【試題解析】

      本題考查成員函數的定義與實現,友元函數,if分支語句等知識點。友元函數的類體外的定義與一般函數一樣,其中if-else的使用,else總是與其最近的那個if配對使用的,書寫時最好使用縮進格式,將配對的if-else對齊,以免出錯。

    【計算機二級C++考點習題及答案】相關文章:

    2016計算機二級《C++》基礎習題及答案06-06

    2017計算機二級C++備考習題及答案02-10

    2017計算機二級C++強化習題及答案03-15

    2017計算機二級C++基礎習題及答案04-08

    2016計算機二級《C++》練習題及答案08-14

    計算機二級C++考點:C++語言概述07-17

    計算機二級C++函數考點07-22

    2016計算機二級考試C++復習題及答案04-06

    2017計算機二級C++考前練習題及答案03-30

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人