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

    12月計算機二級C++練習題及答案

    時間:2025-04-27 03:30:39 試題 我要投稿

    2016年12月計算機二級C++練習題及答案

      全國計算機二級考試對于知識點的掌握是比較重要的,下面是百分網小編為各位考生整理的2016年12月計算機二級C++練習題及答案,希望堵大家的考試有所幫助!

      習題一

      (1)關于友元的概念錯誤的是

      A)友元函數沒有this指針

      B)調用友元函數時必須在它的實參中給出要訪問的對象

      C)一個類的成員函數也可以作為另一個類的友元函數

      D)只能在類的公有段聲明友元

      (2)關于抽象類下面說法正確的是

      A)抽象類就是其中有函數定義但沒有實現的類

      B)抽象類是可以被實例化的

      C)派生類不能成為抽象類

      D)抽象類的子類必須實現父類中的純虛函數

      (3)下面程序的結果是

      #include

      class test { private:

      int num;

      public:

      test();

      int getint(){return num;}

      ~test();};

      test :: test()

      { num =0;}

      test::~test()

      { cout<<"Destructor is active"< P>

      { test x[3];

      cout<<"Exiting main"<>

      Destructor is active

      Destructor is active

      Destructor is active

      B)Exiting main

      Destructor is active

      Destructor is active

      C)Exiting main

      Destructor is active

      D)Exiting main

      (4)如果表達式--x+y中,--是作為成員函數重載的, +是作為成員函數重載的,則該表達式還可為

      A)y.operator+(x.operator--(0))

      B)y.operator+(x.operator--())

      C)y.operator+(operator--(x,0))

      D)operator+(x.operator--())

      (5)下列語句不能夠用于打開C根目錄下文件test.txt的語句是

      A)ifstream fin; fin.open("C:\\test.txt");

      B)ifstream fin("C:\\test.txt");

      C)A)和B)

      D)ifstream fin; fin("C:\\test.txt");

      (6)以下哪個基類中的成員函數表示純虛函數?

      A)virtual void vf (int)

      B)void vf (int)=0

      C)virtual void vf(=0)

      D)virtual void yf(int){ }

      (7)下面程序輸出的結果是

      #include

      void main()

      { int i;

      int a[3][3]={1,2,3,4,5,6,7,8,9};

      for(i=0;i<3;i++)

      cout << a[i][i] << " ";}

      A)1 5 9

      B)7 5 3

      C)3 5 7

      D)5 9 1

      (8)派生類繼承基類的方式有

      A)public

      B)private

      C)protected

      D)以上都對

      (9)下列程序的運行結果為

      #include

      class Location {

      protected:

      int X, Y;

      public:

      void SetX(int myx){X=myx;}

      void SetY(int myy){Y=myy;}

      void showxy(){cout << "X=" << X << " " << "Y=" << Y <>

      private:

      int H, W;

      public:

      void SetH(int myh){H=myh;}

      void SetW(int myw){W=myw;}

      void show(){ cout << "X=" << X << " " << "Y=" << " " << Y << " " << "H=" << H << " " << "W=" << W << endl;}};

      void main()

      { Rectangle r1;

      r1.SetX (3);

      r1.SetY (5);

      r1.SetH (4);

      r1.SetW (6);

      r1.showxy();

      r1.show();}

      A)X=3 Y=5

      X=3 Y=5 H=4 W=6

      B)X=3 Y=5

      X=3 Y=5 H=3 W=6

      C)X=3 Y=5

      X=3 Y=4 H=4 W=6

      D)X=3 Y=5

      X=3 Y=3 H=4 W=6

      (10)有以下程序

      #include

      void ss(char *s,char t)

      { while(*s)

      { if(*s==t)*s=t-′a′+′A′;

      s++;}}

      void main()

      { char str1[100]="abcddfefdbd",c=′d′;

      ss(str1,c); cout << str1;}

      程序運行后的輸出結果是

      A)ABCDDEFEDBD

      B)abcDDfefDbD

      C)abcAAfefAbA

      D)Abcddfefdb

      習題二

      1)有以下程序

      #include

      void main()

      { int a=5,b=0,c=0;

      if(a=b+c)cout << "***"<< ?$$$?<下列選項敘述正確的是<>

      A)有語法錯不能通過編譯

      B)可以通過編譯但不能通過連接

      C)輸出***

      D)輸出$$$

      (2)已知各變量的定義如下

      int i=8,k,a,b;

      unsigned long w=5;

      double x=1.42,y=5.2;

      則以下符合C++語言語法的表達式是

      A)a+=a-=(b=4)*(a=3)

      B)a=a*3+2

      C)x%(-3)

      D)y=float i

      (3)以下程序中循環體總的執行次數是

      int i,j;

      for(i=6;i>1;i--)

      for(j=0;j{……}

      A)20

      B)261

      C)15

      D)25

      (4)對于下面的程序,說法正確的是

      #include

      void main()

      { int x=3,y=4,z=2;

      if(x=y+z)cout << "x=y+z";

      else cout << "x!=y+z";}

      A)不能通過編譯

      B)輸出6

      C)輸出x!=y+z

      D)輸出x=y+z

      (5)下列程序的輸出結果是

      #include

      void main()

      { int a[3],i,j,k=2;

      for(i=0;i<3;i++)a[i]=i;

      for(i=0;ifor(j=0;ja[j]=a[i];

      cout << a[2];}

      A)2

      B)3

      C)1

      D)0

      參考答案:

      (1)D

      解析: 解答本題時,先判斷if語句,因為a=b+c為零,則執行else語句。

      (2)A

      解析: 選項B)中a在運算前未賦初值,在C++語言里變量在運算前必須賦初值;選項C)中的模運算符"%"兩側均應為整型數據;選項D)應改為y=(float)i。

      (3)A

      解析: 本題中第1個for循環執行5次后結束,第2個for循環執行5次。第2個for循環中第1次執行了6次,第2次執行了5次,第3次執行了4次,第4次執行了3次,第5次執行了2次,共20次。

      (4)D

      解析: 解答本題關鍵是要理解if后面的括號里的是賦值語句而并非關系判斷,賦完值后x不等于零,C++語言里非零都作真處理,所以輸出結果為"x=y+z",故答案為選項D),注意"="與"=="的區別。

      (5)A

      解析: 本題里有三個for循環,但要分清楚,第一個是單獨的給三個元素賦值,賦完值后三個a[0]=0,a[1]=1,a[2]=2;后面的兩個for是嵌套循環,對數組元素的賦值,但由于k=2,初值已定for里的條件是小于k,所以不管怎么處理都影響不到a[2],故答案為2。

    【12月計算機二級C++練習題及答案】相關文章:

    2017年12月計算機二級C++考前練習題及答案07-20

    2016年9月計算機二級《C++》練習題及答案03-06

    2017年3月計算機二級C++練習題及答案04-27

    2015年9月計算機二級C++練習題及答案07-27

    2016年12月計算機二級C++備考題及答案03-28

    2016年12月計算機二級C++備考習題及答案03-30

    2016年12月計算機二級C++備考習題及答案02-10

    12月計算機二級Java練習題及答案06-26

    2017年3月計算機二級《C++》單選練習題及答案07-24

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