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

    全國計算機二級考試C++上機考試試題及答案

    時間:2025-04-26 09:31:29 試題 我要投稿
    • 相關推薦

    全國計算機二級考試C++上機考試試題及答案

      全國計算機二級考試上機試題是一個比較難的模塊,需要大家在考前不斷的做一些練習試題,下面就是小編跟大家分享全國計算機二級考試C++上機考試試題及答案,歡迎大家閱讀!

    全國計算機二級考試C++上機考試試題及答案

      一、程序改錯題

      使用VC++6.0打開考生文件夾下的源程序文件

      1.cpp,該程序運行時有錯誤,請改正程序中的錯誤。本程序要求實現的功能為從鍵盤輸入一個字符串,并將結果保存到文件1.txt中。

      注意:不要改動main函數,不能增加或刪除行,也不能更改程序的結構,錯誤的語句在

      //******error******的下面。

      試題程序:

      #include

      #include

      //********error********

      usingstd;

      voidWriteFile(char*s)

      {

      ofstreamout1;

      //********error********

      out1.open("1.txt",binary|app);

      for(inti=0;s[i]!=0;i++)

      {

      //********error********

      out1.puts(s[i]);

      }

      out1.close();

      }

      voidClearFile()

      {

      ofstreamout1;

      out1.open("1.txt");

      out1.close();

      }

      intmain()

      {

      chars[1024];

      ClearFile();

      cout<<"pleaseinputastrin9:"<  cin.getline(s,1024);

      WriteFile(s);

      return0;

      }

      二、簡單應用題

      使用VC++6.0打開考生文件夾下的源程序文件2.cpp。請完成函數fun(intx)的定義,該函數功能是判定x的所有約數,并且在函數中調用寫函數WriteFile將結果輸出到2.txt文件中。

      例如:x=100的約數為124510202550100。

      注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構。

      試題程序:

      #include  #include(fstream)

      #include(cmath)

      usingnamespacestd;

      voidWriteFile(intc)

      {

      ofstreamout1;

      out1.open("2.txt",ios_base::binary|ios_base::app);

      out1<  out1.close();

      }

      voidfun(intx)

      {

      }

      voidClearFile()

      {

      ofstreamout1;

      out1.open("2.txt");

      out1.close();

      }

      intmain()

      {

      ClearFile();

      fun(100);

      return0;

      }

      三、綜合應用題

      使用VC++6.0打開考生文件夾下的源程序文件3.cpp,其中定義了用于表示坐標的類TCl,但類TCl的定義并不完整,按要求完成下列操作,將類的定義補充完整。

      (1)聲明TC2類為TC1類的友元類,請在注釋1后添加適當的語句。

      (2)完成類的構造函數,分別對成員變量賦值,請在注釋2后添加適當的語句。

      (3)完成類的構造函數,分別對成員變量賦值,請在注釋3后添加適當的語句。

      (4)完成計算平面上兩點之間距離的函數JuL,計算的方法為X坐標之差的平方與Y坐標之差的平方之和的開方。請在注釋4后添加適當的語句。

      注意:僅在函數指定位置添加語句,請勿改動主函數main與其他函數中的任何內容。

      試題程序:

      #include(iostream)

      #include(cmath)

      usingnamespacestd;

      classTC1

      {

      //********1********

      public:

      //********2********

      {

      X=a;

      Y=b;.

      }

      //********3********

      {

      X=a:

      Y=0;

      }

      voidprint()

      {

      cout<<"x="<  cout<<"y="<  }

      private:

      floatX,Y:

      };

      classTC2

      {

      public:

      floatJuL(TC1&p,TC1&q);

      };

      floatTC2;:JuL(TCl&p,TCl&q)

      {

      floatresult;

      //********4********

      cout<  returnresult;

      }

      intmain()

      {

      TClp(10,10),q(20);

      TC2d;

      d.JuL(p,q);

      return0;

      }

      上機考試試題答案與解析

      一、程序改錯題

      (1)應改為“usingnamespacestd;”。

      (2)應改為“outl.open("1.txt",ios::binary|ios::app);”。

      (3)應改為“out1.put(s[i]);”。

      【解析】本題第1處的“usingstd;”是在程序中引入標準命名空間std,對于C++中引入標準命名空間的格式,缺少namespace,所以第1處的語句修改為“usingnamespacestd;”。第2處,調用成員函數open中,輸入、輸出方式是在ios類中定義的,所以“out1.open("1.txt",binary|app);”語句缺少類ios,即第2處的語句修改為“out1.open("1.txt",ios::binary|ios::app);”。第3個標識應該用流成員函數put輸出字符,所以第3處的語句修改為“out1.put(s[i]);”。

      二、簡單應用題

      for(inti=1:i<=x;i++)

      {

      if(x%i==0)//如果x被i整除,那么i為X的約數

      {

      writeFile(i);//將約數i存入文件

      }

      }

      【解析】本題中由1到x,循環判斷其中是否有X的約數。如果x被i整除,那么i為x的約數最后調用Write-File函數,將約數i存入文件。

      三、綜合應用題

      (1)應添加“friendclassTC2;”。

      (2)應添加“TCl(floata,floatb)”。

      (3)應添加“TCl(floata)”。

      (4)應添加“result=sqrt((P.X-q.X)*(p.X-q.X)+(p.Y-q.Y)*(p.Y-q.Y));”。

      【解析】本題中第1處要求“聲明TC2類為TC1類的友元類”。C++中聲明友元類的一般形式為“friend類名;”,所以這里補全“friendclassTC2;”。第2處要求“完成類的構造函數,分別對成員變量賦值”。程序中TC1類的構造函數缺少定義,構造函數首部的一般格式為構造函數名(類型1形參1,類型2形參2,……),所以在第2處補金“TC1(floata,float

      b)”。第3處要求“完成類的構造函數,旁別對成員變量賦值”。同理,第3個標識下補全“TC1(floata)”。第4處要求“完成計算平面上兩點之間的距離函數JuL”。題目中已經給出了計算方法,X坐標之差的平方與Y坐標之差的平方之和的開方。利用C++中的開方函數sqrt補全函數中的兩點之間的距離。即“result=sqrt((P.X-q.X)*(p.X-q.X)+(p.Y-a.Y)*(p.Y-q.Y));”。

    【全國計算機二級考試C++上機考試試題及答案】相關文章:

    計算機二級考試C++上機考試試題及答案02-08

    2017計算機二級考試《C++》上機考試題及答案03-03

    全國計算機二級《C++》上機試題及答案08-15

    計算機二級考試C++上機考試試題05-22

    全國計算機二級考試C++精選試題及答案12-28

    2017計算機二級C++上機考試試題及答案06-20

    2016計算機二級C++上機考試試題及答案01-22

    全國計算機二級《C++》上機試題附答案01-15

    計算機二級《C++》上機試題及答案08-12

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