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

    計算機二級《C++》非選擇題練習及答案

    時間:2025-01-14 21:43:09 試題 我要投稿
    • 相關推薦

    2016年計算機二級《C++》非選擇題練習及答案

      一、程序改錯題

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

      100

      37

      32

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

      試題程序:

      #include

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

      voidmain

      {

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

      intm=0142:

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

      intn=0X27:

      intq=32;

      cout<

      cout<

      cout<

      return;

      }

      參考解析:

      (1)“voidmain()”。

      (2)“intm=0144;”。

      (3)“intn=OX25;”或“intn===0x25;”。

      【解析】本題主要考查了主函數定義及冪同進制之間的轉換,包括十進制到八進制,十進制到十六進制。主函數定義的定義形式為“main()”,函數名之后必須是一對括號,因此第1處應改為“voidmain()”。cout輸出默認是以十進制方式輸出的,根據題目要求輸出的結果可發現變量的初值不正確,十進制的100對應八進制的144,卡進制的37對應十六進制的25,因此2和3應分別改成“intm=0144;”,“intn=0×25;”或“intn=0×25;”。

      二、簡單應用題

      2、使用VC++6.0打開考生文件夾下的源程序文件2.cpp。請完成函數fun(intn),使其實現以下功能:當i等于3時,則打印如下內容。

      A

      AA

      AAA

      注意:不能修改程序的其他部分,只能修改fun函數。

      試題程序:

      #include

      voidfun(intn)

      {

      }

      voidmain()

      {

      intn;

      cout<<"請輸入打印的行數:"<

      cin>>n;

      if(n<1)

      {

      cout<<"輸入的行數必須大于0"<

      return;

      }

      fun(n);

      return;

      }

      參考解析:

      inti;

      for(i=0;i

      {

      intj;

      for(j=0;j(n-i-1;j++)//循環打印空格

      {

      cout<<'';

      }

      for(;j

      {

      cout<<"A":

      }

      cout<

      }

      【解析】本題利用外層循環打印每一行。內層循環分為

      打印空格和打印A。打印空格由第一個位置到第n-i-1。打印A,是由打印完空格開始一直到行結束。在外循環中打印每一行的結束符。

      三、綜合應用題

      3、使用VC++6.0打開考生文件夾下的源程序文件3.cpp。請完成以下部分,實現在屏幕上輸出為

      C3

      C2

      這個程序需要修改的部分,請按照以下部分實現。

      (1)類C0不能被實例化,請定義一個純虛函數print,在注釋1后添加適當的語句。

      (2)類C1私有虛繼承類C0,請在注釋2后添加適當的語句。

      (3)類C2公有繼承于C0,請在注釋3后添加適當的語句。

      (4)類c3公有繼承于C2與C1,請在注釋4后添加適當的語句。

      注意:增加代碼或者修改代碼的位置已經用符號表示出來。請不要修改其他的程序代碼。

      試題程序:

      #include(iostream.h)

      classCO

      {

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

      };

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

      classC1:

      {

      public:

      voidprint()

      {

      cout<"”C1"<

      }

      };

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

      classC2:

      {

      public:

      voidprint()

      {

      cout<<"C2"<

      }

      };

      //********4***x****

      classC3:

      {

      public:

      voidprint()

      {

      cout<<"C3"<

      }

      };

      voidmain()

      {

      C30bj3;

      C20bj2;

      obj3.print();

      obj2.print();

      return;

      }

      參考解析:

      (1)應添加“virtualvoidprint()=0,”。

      (2)“classC1:”應改為“classC1:virtualprivateC0”。

      (3)“classC2:”應改為“classC2:publicC0”。

      (4)“classC3:”應改為“classC3:publicC2,publicC1”。

      【解析】本題考查了類的繼承。根據題意,第1處應該添加“virtualvoidprint()=0;”。第2處根據題意,在冒號后面應添加“virtualprivateCO”。第3處根據題意,冒號后應添加“publicCO”。第4處根據題意,冒號后應添加“publicC2,publicC1”。

    【計算機二級《C++》非選擇題練習及答案】相關文章:

    計算機二級《C++》選擇題練習及答案201605-11

    2016年計算機二級《C++》非選擇題練習08-05

    計算機二級《C語言》非選擇題練習及答案201607-24

    2016計算機二級《C語言》非選擇題練習及答案06-23

    2017計算機二級C++選擇題練習06-26

    計算機二級C++選擇題專項練習04-15

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

    2016計算機二級《C++》選擇題練習與解析04-19

    計算機二級《VB》非選擇題練習201604-03

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