<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            試題

            計算機二級C上機考試程序改錯題及答案

            時間:2025-05-06 20:19:03 試題 我要投稿
            • 相關推薦

            計算機二級C上機考試程序改錯題及答案

              為了使廣大考生在備戰計算機等級考試時,更快的掌握相應知識點,下面是小編搜索整理的計算機二級C上機考試程序改錯題及答案,供參考練習,預祝考生們考出自己理想的成績!

            計算機二級C上機考試程序改錯題及答案

              程序改錯題

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

              10

              6

              30

              2

              2

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

              試題程序:

              #include

              classTC

              {

              private:

              intnumber;

              intAdd(inti)

              {

              returnnumber+=i:

              }

              intSub(inti)

              {

              returnnumber-=i:

              }

              intMul(inti)

              {

              returnnumber*=i:

              }

              intDiv(inti)

              {

              if(i!=O)

              {

              returnnumber/=i;

              }

              else

              returnnumber;

              }

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

              typedefint(FUNC)(int);

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

              FUNCfunc[];

              public:

              TC()

              {

              fune[0]=TC::Add;,

              fund[1]=TC::Sub;

              func[2]=TC::Mul;

              func[3]=TC::Div;

              number=0;

              }

              intCallFunetion(inti,intj)

              {

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

              return(func[i])(j);

              }

              };

              voidmain()

              {

              TCmyobj;

              cout<<myobj.callfunction(0,10)<<endl;

              cout<<myobj.callfunction(1,4)<<endl;

              cout<<myobj.callfunction(2,5)<<endl;

              cout<<myobj.callfunction(3,15)<<endl;

              cout<<myobj.callfunction(3,o)<<endl;

              }

              解析:

              (1)應改為:“typedefint(TC::*FUNC)(int);”。

              (2)應改為:“FUNCfunc[4];”。

              (3)應改為:“return(this->*fund[i])(j);”。

              【解析】在類中定義函數指針須指定類名及指針定義運算符*,因此第1處函數指針正確的定義為“typedefint(TC::*FUNC)(int);”。函數指針數組本身是數組類型,因此在定義時如果沒有初始化,就必須指定數組大小,在本題中因為指針數組包含的指針變量需要指向4種算數運算,因此定義指針數組大小為4,即第2處應改為“FUNCfunc[4];”。func是指針數組,因此訪問時需要有指針運算符“*”,第3處應改成“return(this->*func[i])(j);”。

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

            計算機二級C上機:程序改錯題08-26

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

            計算機二級C語言考試上機考試題及答案10-29

            計算機二級考試C++上機考試試題及答案11-09

            計算機二級C語言程序上機指導10-29

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

            2024計算機二級C上機考試試題及答案10-23

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

            計算機二級C語言上機程序填空題09-26

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看