全國計算機二級C++語言程序設計考試試題

    時間:2024-07-16 19:23:34 計算機等級 我要投稿
    • 相關推薦

    2017年全國計算機二級C++語言程序設計考試試題

      一、選擇題(每小題1分,共40分)

    2017年全國計算機二級C++語言程序設計考試試題

      1有如下程序:

      #include

      using namespace std;

      class Base{

      protected:

      Base(){cout<<’A’;}

      Base(char C){cout<

      };

      class Derived:public Base{

      public:

      Derived(char C){tout<

      };

      int main(){

      Derived dl(’B’);

      retum 0;

      }

      執行這個程序的輸出結果是(  )。

      A.BB.BAC.ABD.BB

      參考答案:C

      參考解析:本題考查派生類的構造函數和析構函數.在定義一個派生類的對象時,先調用基類的構造函數,然后再執行派生類的構造函數;對象釋放時,先執行派生類的析構函數,再執行基類的析構函數。本題中定義了一個派生類對象d1,首先執行基類的構造函數,輸出A;然后執行派生類的構造函數,輸出B。所以答案為c。

      2下列符號中能夠作為C++標識符的是( )。

      A.CoflstB.2aC._shapeD..Count

      參考答案:C

      參考解析:本題考查c++標識符的命名規則,其規則有如下幾點:①所有標識符必須由字母、數字或下畫線組成,且必須由字母或下畫線開頭;②所有標識符不能使用c++已有的關鍵字;③大、小寫字母表示不同意義,即代表不同的標識符。選項A是關鍵字,選項B不能以數字開頭,選項D包含了字符”一”,且不能以此字符開頭。故答案為C。

      3有如下程序:

      #include

      using namespace std;

      class Base

      {

      private:

      void funl()const{tout<<”funl”;}

      protected:

      void fun2()const{tout<<”fun2”;}

      public:

      void fun3()const{cout<<”fhll3”;}

      };

      class Derived:protected Base

      {

      public:

      void fhn4()const{cout<<”filn4”;}

      };

      int main()

      {

      Derived obj;

      obj.funl();//①

      obj.fun2();//②

      obj.furd();//③

      obj.fun4();//④

      return U:

      }

      其中有語法錯誤的語句是(  )。

      A.①②③④B.①②③C.②③④D.①④

      參考答案:B

      考解析:本題考查保護繼承中派生類對基類的訪問屬性,受保護繼承中,基類的公用成員和保護成員在派生類中成了保護成員,其私有成員仍為基類私有,保護基類的所有成員在派生類中都被保護起來,在類外不能訪問,所以①②③錯誤。

      4有如下程序:

      #include

      using namespace std;

      class Instrument{

      public:

      virtual void Display()=0;

      };

      class Pian0:public Instrument}

      public:

      void Display(){/*函數體略*" >

      };

      intmain(){

      Instrument S;

      Instrument*P=0:

      //…;

      return 0;

      }

      下列敘述中正確的是(  )。

      A.語句“Insturment*P=0;”編譯時出錯

      B.語句“Instnunent s;”編譯時出錯

      C.類Pian0中的Display函數不是虛函數

      D.類Instrument是一個虛基類

      參考答案:B我

      參考解析:本題考查純虛函數和抽象類,純虛函數是在聲明虛函數時被“初始化”為0的函數,包含純虛函數的類為抽象類,抽象類不能被實例化,所以語句“Instrmnent s;”在編譯時出錯。

      5如下函數模板:

      templateT square(T x){return x*x;} 其中T是(  )。

      A.函數形參B.函數實參C.模板形參D.模板實參

      參考答案:C

      參考解析:本題考查模板函數的基本概念,根據模板函數的定義,T是模板形參,所以答案為C。

      6為了提高函數調用的實際運行速度,可以將較簡單的函數定義為( )。

      A.內聯函數B.重載函數C.遞歸函數D.函數模板

      參考答案:A

      參考解析:一般函數進行調用時,要將程序執行權轉到被調用函數中.然后再返回到調用它的函數中;而內聯函數在調用時,是將調用表達式用內聯函數體來替換,一般只將{將規模很小而使用頻繁的函數聲明為內聯函數,可以避免函數調用時間開銷,從而提高運行速度。

      7有如下程序:

      #inClude using namespaCe std; Class Point{

      publiC:

      statiC int number;

      publiC:

      Point(  )t.number++;} ~Point(  ){number--;}

      }; , int P0int::number=0;

      int main(  ){

      Point *ptr:

      Point A,B; Point*ptr_point=new Point[3]; ptr=ptr_point;’

      }

      Point C;

      Cout<

      return 0; }

      執行這個程序的輸出結果是(  )。

      A.3B.4C.6D.7

      參考答案:C

      參考解析:本題考查默認構造函數.題目中定義.個對象A、B以及對象數組Point[3],又定義了對象C,共執行6次構造函數,number變為了6,所以本題答案為C。

      二、填空題(每空2分,共30分)

      請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。

      注意:以命令關鍵字填空的必須拼寫完整。

      1.數據管理技術發展過程經過人工管理、文件系統和數據庫系統三個階段,其中數據獨立性最高的階段是 【1】 。

      【答案】數據庫系統

      2.軟件測試分為白箱(盒)測試和黑箱(盒)測試,等價類劃分法屬于 【2】 測試。

      【答案】黑盒

      3.符合結構化原則的三種基本控制結構是:選擇結構、循環結構和 【3】 。

      【答案】順序結構

      4.一棵二叉樹第六層(根結點為第一層)的結點數最多為 【4】 個。

      【答案】32

      5.數據結構分為邏輯結構和存儲結構,循環隊列屬于 【5】 結構。

      【答案】存儲

      6.有如下程序段:

      int x=1,Y=2,z=3;

      x=x^z;

      y=y^z;

      z=x^y;

      cout<執行這個程序段的輸出是 【6】 。

      【答案】100

      7.若要訪問指針變量p所指向的數據,應使用表達式 【7】 。

      【答案】*P

      8.已知一個函數的原型是:

      int fn(double x);

      若要以5.27為實參調用該函數,應使用表達式 【8】 。

      【答案】fn(5.27)

      9.通過使用new和delete兩個運算符進行的分配為 【9】 存儲分配。

      【答案】【9】動態

      10.如果類B繼承了類A,則稱類A為類B的基類,類B稱為類A的 【10】 。

      【答案】【10】派生類

      11.將x+y中的+運算符用友元函數重載應寫為 【11】 。

      【答案】【11】 operator+(x,y)

      12.請將下列類定義補充完整。

      class Base { public: void fun( ){ cout<<"Base::fun"<

      class Derived : public Base {

      public:

      void fun( ) {

      【12】 //顯式調用基類的fun函數

      cout<<"Derived::fun"<}};

      【答案】【12】Base::fun()

      13.多數運算符既能作為類的成員函數重載,也能作為類的非成員函數重載,但[ ]運算符只能作為類的 【13】 函數重載。

      【答案】【13】成員

      14.表達式operator+(x,y)還可以表示為 【14】 。

      【答案】【14】x+y

      15.C++語言中的多態性分為編譯時的多態性和 【15】 時的多態性。

      【答案】運行

    【全國計算機二級C++語言程序設計考試試題】相關文章:

    2017全國計算機二級C++考試試題06-20

    計算機二級考試C++試題06-10

    全國計算機二級Java語言程序設計考試試題07-06

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

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

    2017計算機二級C++考試試題10-20

    2017年計算機二級C++語言程序設計考試內容08-11

    2017最新計算機二級考試C++試題及答案10-24

    全國計算機c語言程序設計考試試題及答案10-30

    2017計算機二級Java語言程序設計考試試題08-30

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      亚洲女同成AV人片在线观看 | 日韩全裸美女1区2区在线免费观看 | 亚洲乱码中文字幕永久在线 | 亚洲人成亚洲人成在线观看 | 日本激情视频A∨一区 | 日韩精品亚洲国产一区二区 |