• <nav id="cwumo"><code id="cwumo"></code></nav>
  • <menu id="cwumo"><strong id="cwumo"></strong></menu>

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

    時間:2024-06-22 15:31:18 計算機等級 我要投稿

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

      程序改錯題

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

      使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯誤,請改正其中的錯誤,使程序正確運行,并且使程序輸出的結果為

      0K

      注意:錯誤的語句在//******error******的下面,修改該語句即可。

      試題程序:

      #include

      classTC

      {

      public:

      TC()

      {

      a=b=0:

      }

      private:

      inta,b;

      };

      classTCl:publicTC

      {

      public:

      TC1()

      {

      }

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

      virtualvoidfunc();

      };

      classTC2:publicTCl

      {

      public:

      TC2()

      {

      a=0:

      b=0:

      }

      voidfunc()

      {

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

      cout<<"OK"  }

      private:

      inta;

      intb;

      };

      voidmain()

      {

      TC20bj;

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

      TCl*p=(TCl*)obj;

      p->func();

      }

      (1)應改為“virtualvoidfunc()=0;”。

      (2)應改為“cout<<"0K"<(endl;”。

      (3)應改為“TCl*p=(TCl*)&obj;”。

      【解析】本題中TCl類中的func函數是純虛函數,純虛函數的定義格式為virtual<函數類型><函數名>((參數表>)=0”,因此第1處的語句應為“virtualvoidfunc()=0;”。func函數沒有參數表。編譯程序后發現第2處的語句有錯誤,cout流中的數據是用流插入運算符“<<”順序加入的,因此“<”不正確,應改成“cout<<"0K"<

      綜合應用題

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

      (1)完成TC的構造函數,請改正注釋1后的錯誤。

      (2)完成func函數定義,請改正注釋2后的錯誤。

      (3)初始化CmyClass的成員變量Num3為4,請改正注釋3后的錯誤。

      (4)完成func函數,請改正注釋4后的錯誤。

      輸出的結果為

      Num1=12

      Num2=18

      Num3=16

      Num1=4

      Num2=2

      Num3=19

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

      試題程序:

      #include

      classTC

      {

      public:

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

      TC(inti,intj)

      {

      Numl=i;

      Num3+=i:

      }

      voiddisplay()

      {

      cout<<"Num1="<  cout<<"Num2="<  cout<<"Num3="<  }

      voidAddNum(inti)

      {

      Num3+=i;

      }

      private:

      intNum1;

      constintNum2;

      staticintNum3;

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

      };

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

      voidfunc()

      {

      TCobj(1,2);

      obj.Num1=4;

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

      obj.AddNum();

      ohj.display();

      }

      voidmain()

      {

      TCmyObj(12,18);

      myObj.display();

      rune();

      return;

      }

      (1)將“TC(inti,intj)”補充完整為“TC(inti,intj):Num2(j)”。

      (2)應添加“friendvoidfunc();”。

      (3)應添加“intTC::Num3=4;”。

      (4)將“obi.AddNum()”補充完整為“obj.AddNum(2);”。

      【解析】本題在第1處完成類的構造函數初始化類的成員變量,常數據成員也必須初始化,并且不能被更新,常數據成員的初始化只能通過構造函數的成員初始化類表進行,因此第1處的語句應為“TC(inti,intj):Num2(j)”,i用來初始化Num1和Num3,j初始化Num2。第2處完成fune的函數定義,由審題分析可知,函數fune為類的友元,故第2處的語句應為“friendvoidrune();”。第3處的語句是靜態成員的初始化,靜態數據成員的初始化格式為“(數據類型)<類名>::<靜態數據成員)=<初始值>”,因此第3處的語句應為“intTC::Num3=4;”。成員函數AddNum帶有一個整型參數,因此調用此函數時必須有參數傳入,可由程序運行結果分析得知傳入的參數值的大小。在fun函數內,定義TCobj(1,2)后,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl為4,obj。Num2為常數據成員,其值不會改變,調用AddNum函數后調用顯示函數顯示成員變量值,可知Num3為19,因此AddNum()的參數為19-17=2,即第4處的語句應為“obj.AddNum(2);”。

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

    計算機二級C語言考試上機沖刺試題及答案03-03

    2016計算機等級考試二級C++上機模擬試題及答案03-08

    2016最新計算機二級C++上機試題及答案03-03

    計算機等級二級C語言上機模擬試題及答案10-25

    計算機二級考試C++試題及答案03-27

    計算機二級VB上機試題及答案03-14

    2016年9月計算機二級C語言考試上機沖刺試題及答案03-02

    計算機二級C語言考試試題及答案03-08

    2016年9月計算機二級C++上機考試沖刺試題及答案03-13

    日韩激情