<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 最新計算機二級C++上機試題及答案

    時間:2024-10-14 15:32:22 計算機等級 我要投稿
    • 相關(guān)推薦

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

      1有如下程序:

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

      #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;

      }

      執(zhí)行這個程序的輸出結(jié)果是(  )。

      A.BB.BAC.ABD.BB

      參考答案:C

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

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

      A.CoflstB.2aC._shapeD..Count

      參考答案:C

      參考解析:本題考查c++標識符的命名規(guī)則,其規(guī)則有如下幾點:①所有標識符必須由字母、數(shù)字或下畫線組成,且必須由字母或下畫線開頭;②所有標識符不能使用c++已有的關(guān)鍵字;③大、小寫字母表示不同意義,即代表不同的標識符。選項A是關(guān)鍵字,選項B不能以數(shù)字開頭,選項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(){/*函數(shù)體略*" >

      };

      intmain(){

      Instrument S;

      Instrument*P=0:

      //…;

      return 0;

      }

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

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

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

      C.類Pian0中的Display函數(shù)不是虛函數(shù)

      D.類Instrument是一個虛基類

      參考答案:B

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

      5如下函數(shù)模板:

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

      A.函數(shù)形參B.函數(shù)實參C.模板形參D.模板實參

      參考答案:C

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

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

      A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸函數(shù)D.函數(shù)模板

      參考答案:A

      參考解析:一般函數(shù)進行調(diào)用時,要將程序執(zhí)行權(quán)轉(zhuǎn)到被調(diào)用函數(shù)中.然后再返回到調(diào)用它的函數(shù)中;而內(nèi)聯(lián)函數(shù)在調(diào)用時,是將調(diào)用表達式用內(nèi)聯(lián)函數(shù)體來替換,一般只將{將規(guī)模很小而使用頻繁的函數(shù)聲明為內(nèi)聯(lián)函數(shù),可以避免函數(shù)調(diào)用時間開銷,從而提高運行速度。

      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; }

      執(zhí)行這個程序的輸出結(jié)果是(  )。

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

      參考答案:C

      參考解析:本題考查默認構(gòu)造函數(shù).題目中定義.個對象A、B以及對象數(shù)組Point[3],又定義了對象C,共執(zhí)行6次構(gòu)造函數(shù),number變?yōu)榱?,所以本題答案為C。

      8有三個關(guān)系R、S和T如下.

      2016年9月計算機二級C++上機考試沖刺試題(2)

      由關(guān)系R和s通過運算得到關(guān)系T,則所使用的運算為( )。

      A.并B.自然連接C.笛卡爾積D.交

      參考答案:D

      參考解析:自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以8錯誤。笛卡爾積是用R集合中元素為第一元素,s集合中元素為第二元素構(gòu)成的有序?qū)Γ訡錯誤。根據(jù)關(guān)系T可以很明顯地看出是從關(guān)系R 與關(guān)系s中取得相同的關(guān)系組所以取得是交運算,選擇D。

      9下列符號中,正確的c++標識符是( )。

      A.enumB.2bC.f00一9D._32

      參考答案:D

      參考解析:本題考查c++標識符的命名規(guī)則,規(guī)定如下:①所有標識符可以由字母、數(shù)字和下畫線組成,且必須以字母或F畫線開頭;②c++的關(guān)鍵字不能作為標識符;③大、小寫字母表示不同意義,即代表不同的標識符,如mun和Mu0。A選項是C++的關(guān)鍵字,B選項不能以數(shù)字開頭,C選項“一”不能用于組成標識符。

      10下列關(guān)于C++預(yù)定義流對象的敘述中,正確的是( )。

      A.Cin是C++預(yù)定義的標準輸入流對象

      B.Cin是C++預(yù)定義的標準輸入流類

      C.Cout是C++預(yù)定義的標準輸入流對象

      D.Cout是C++預(yù)定義的標準輸入流類

      參考答案:A

      參考解析:cin是C++預(yù)定義的標準輸入流對象,tOUt是C++預(yù)定義的標準輸出流對象。

      11下列情況中,不會調(diào)用拷貝構(gòu)造函數(shù)的是(  )。

      A.用一個對象去初始化同一類的另一個新對象時

      B.將類的一個對象賦值給該類的另一個對象時

      C.函數(shù)的形參是類的對象,調(diào)用函數(shù)進行形參和實參結(jié)合時

      D.函數(shù)的返回值是類的對象,函數(shù)執(zhí)行返回調(diào)用時

      參考答案:B

      參考解析:本題考查復(fù)制構(gòu)造函數(shù),在以下3種情況下使用:①程序中需要新建立一個對象,并用另一個對象對它初始化;②函數(shù)的參數(shù)為類的對象;③函數(shù)的返回值是類的對象。其中B選項是由賦值運算符重載實現(xiàn)的。

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

      A.線性表的鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的

      B.線性表的鏈式存儲結(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu)

      C.線性表的鏈式存儲結(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu)

      D.線性表的鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)在存儲空間的需求上沒有可比性

      參考答案:B

      參考解析:線性鏈式存儲結(jié)構(gòu)中每個結(jié)點都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲空間,所以一般要多于順序存儲結(jié)構(gòu)。

      13類的析構(gòu)函數(shù)的作用是( )。

      A.一般成員函數(shù)的初始化B.類的初始化C.對象的初始化D.刪除類創(chuàng)建的對象

      參考答案:D

      參考解析:析構(gòu)函數(shù)就是用來釋放對象的.它的調(diào)用完成之后,對象也就消失了,相應(yīng)的內(nèi)存空間也被釋放了。

      14下列運算符不能重載為友元函數(shù)的是( )。

      A.=()( )->B. + - ++ --C.> < >= <=D.+= -= *=/=

      參考答案:A

      參考解析:關(guān)于運算符重載為友元函數(shù)有如下規(guī)定:①一般情況下,單目運算符最好重載為類的成員函數(shù),雙目運算符則最好重載為類的友元函數(shù);②雙目運算符“=、()、[]、->”不能重載為類的友元函數(shù)。所以本題答案為A。

      15下面關(guān)于運算符重載的描述錯誤的是( )。

      A.運算符重載不能改變操作數(shù)的個數(shù)、運算符的優(yōu)先級、運算符的結(jié)合性和運算符的語法結(jié)構(gòu)

      B.不是所有的運算符都可以進行重載

      C.運算符函數(shù)的調(diào)用必須使用關(guān)鍵字operat。

      D.在C+十語言中不可通過運算符重載創(chuàng)造出新的運算符

      參考答案:C

      參考解析:例如“::”運算符就不能被重載;通過重載可以創(chuàng)造新的運算方式,但是不能臆造新的運算符;定義的時候必須使用關(guān)鍵字0perator,而調(diào)用時可直接使用運算符。

      16當使用fstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為( )。

      A.ios::inB.ios::0utC.ios::in I ios::0utD.以上都不對

      參考答案:D

      參考解析:

      使用fstream類建立文件流必須定義打開方式,否則編譯器無法判斷該文件流是讀還是寫。

      17由于常對象不能被更新,因此( )。

      A.通過常對象只能調(diào)用它的常成員函數(shù)

      B.通過常對象只能調(diào)用靜態(tài)成員函數(shù)

      C.常對象的成員都是常成員

      D.通過常對象可以調(diào)用任何不改變對象值的成員函數(shù)

      參考答案:A

      參考解析:本題考查常對象的基本知識,常對象只能調(diào)用它的常成員函數(shù),而不能調(diào)用非const函數(shù),常對象的成員函數(shù)不一定都是常成員函數(shù),只需保證其數(shù)據(jù)成員是常數(shù)據(jù)成員即可。所以本題選A。

      18支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是(  )。

      A.棧B.樹C.隊列D.二叉樹

      參考答案:A

      參考解析:棧支持子程序調(diào)用棧是一種只能在一端進行插入或刪除的線性表,在主程序凋用子函數(shù)時要首先保存主程序當前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子程序.最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點,因此本題的答案為A。

      19有如下類定義:

      class B

      {

      public:void funl(){}

      private:void fun2(){}

      protected:void fun3(){}

      };

      class D:public B

      j

      protected:void fun4(){}

      };

      若obj是類D的對象,則下列語句中不違反訪問控制權(quán)限的是(  )。

      A.obj.fun1();B.obj.fun2();C.obj.tim3();D.ohj.fun4();

      參考答案:A

      參考解析:本題考查公用繼承對基類成員的訪問屬性。在公用繼承中,基類的公用成員和保護成員在派生類中保持原有的訪問屬性,其私有成員仍為基類私有。所以在本題中,在類外引用成員函數(shù)時,派生對象只能引用基類的公用成員函數(shù)fun1,故本題答案為A。

      20有如下語句序列:

      Char str[10];Cin>>str;

      當從鍵盤輸入“I love this game”時,str中的字符串是( )。

      A.”I love this game”B.”I love thi”C.”I love”D.”I”

      參考答案:D

      參考解析:cin是c++預(yù)定義的標準輸入流對象,cin用來接收字符串時,遇“空格”、“TAB”、“回車”時都會結(jié)束。所以本題答案為D。

      21繼承機制的作用是( )。

      A.信息隱藏B.數(shù)據(jù)封裝C.定義新類D.數(shù)據(jù)抽象

      參考答案:C

      參考解析:數(shù)據(jù)封裝就是數(shù)據(jù)抽象,即信息隱藏;而繼承是實現(xiàn)程序復(fù)用的基礎(chǔ)。

      )22模板對類型的參數(shù)化提供了很好的支持,因此(  )。

      A.類模板的主要作用是生成抽象類

      B.類模板實例化時,編譯器將根據(jù)給出的模板實參生成一個類

      C.在類模板中的數(shù)據(jù)成員都具有同樣類型

      D.類模板中的成員函數(shù)都沒有返回值

      參考答案:B

      參考解析:本題考查類模板的基本概念。類模板的定義和聲明都以關(guān)鍵字template開頭。關(guān)鍵字后面是一個用逗號分隔的模板參數(shù)表,用尖括號“<>”括起來,這個表被稱為類模板的模板參數(shù)表。類模板是類的抽象,類是類模板的實例。類模板使類中的一些數(shù)據(jù)成員和成員函數(shù)的參數(shù)或返回值可以取任意的數(shù)據(jù)類型。所以B選項正確。

      23if語句的語法格式可描述為:

      格式l:if(<條件>)<語句>

      或

      格式2:if(<條件>)<語句l>

      else<語句2>

      關(guān)于上面的語法格式,下列表述中錯誤的是(  )。

      A.<條件>部分可以是一個if語句,例如if(if(a==0)…)…

      B.<語句>部分可以是一個if語句,例如if(…)if(…)…

      C.如果在<條件>前加上邏輯非運算符!并交換<語句l>和<語句2>的位置,語句功能不變

      D.<語句>部分可以是一個循環(huán)語句,例如if(…)while(…)…

      參考答案:A

      參考解析:本題考查if語句,if語句的條件部分不能嵌套if語句,所以A選項錯誤;B選項就是if語句嵌套;C選項其實就是將判斷條件顛倒,然后執(zhí)行語句也顛倒,所以效果一樣;D選項也正確。

      24下面的程序中,錯誤的語句是(  )。

      ①#inClude

      ②void main()

      ③{

      ④ int *p=new int[1];

      ⑧P=9;

      ⑥cout<<.*P<

      ⑦delete[]p;

      ⑧}

      A.④B.⑤C.⑥D(zhuǎn).⑦

      參考答案:B

      參考解析:本題考查的是指針的使用,P是指向int 型的指針,若想給它指向的元素賦值,應(yīng)使用*符號,贏接賦值相當于改變了原來P存儲的地址。

      25下面有關(guān)for循環(huán)的正確描述是( )。

      A.for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B.for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達式C.在for循環(huán)中,不能用break語句跳出循環(huán)體D.在for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號括起來

      參考答案:D

      參考解析:選項A中for循環(huán)可以用于循環(huán)次數(shù)不確定的情況;選項8中for循環(huán)是先判斷表達式,后執(zhí)行循環(huán)體語句;選項c中for循環(huán)可以用break語句跳出循環(huán)體,從而接著執(zhí)行循環(huán)體后面的語句。

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

      A.算法就是程序

      B.設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計

      C.設(shè)計算法時只需要考慮結(jié)果的可靠性

      D.以上三種說法都不對

      參考答案:D

      參考解析:算法是指解題方案的準確而完整的描述,算法不等于程序,也不等于計算方法,所以A錯誤。設(shè)計算法時不僅要考慮對數(shù)據(jù)對象的運算和操作,還要考慮算法的控制結(jié)構(gòu)。

      27由于常對象不能被更新,因此(  )。

      A.通過常對象只能調(diào)用它的常成員函數(shù)

      B.通過常對象只能調(diào)用靜態(tài)成員函數(shù)

      C.常對象的成員都是常成員

      D.通過常對象可以調(diào)用任何不改變對象值的成員函數(shù)

      參考答案:A

      參考解析:本題考查常對象的基本知識,常對象只能調(diào)用它的常成員函數(shù),而不能調(diào)用非const函數(shù),常對象的成員函數(shù)不一定都是常成員函數(shù),只需保證其數(shù)據(jù)成員是常數(shù)據(jù)成員即可。所以本題選A。

      28有如下程序:

      #include

      using namespace std;

      class MyClass{

      public:

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

      MyClass(char C.{cout<

      ~MyClass(){cout<<’B’;}

      };

      int main(){

      MyClass pl,+p2;

      p2=new MyClass(’X’);

      delete p2;

      return 0;

      }

      執(zhí)行這個程序的輸出結(jié)果是(  )。

      A.ABXB.ABXBC.AXBD.AXBB

      參考答案:D

      參考解析:構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序為先構(gòu)造的后析構(gòu),后構(gòu)造的先析構(gòu)。所以本題答案為D。

      29有如下程序:

      #include

      using namespace std;

      class Pair{

      int m,n;

      public:

      Pair(int j,int k):m(j),n(k){}

      int get(){return m;}

      int get()const{return m+n;}

      };

      int main(){

      Pair a(3,5);

      const Pair b(3,5);

      tout<

      return U:

      }

      執(zhí)行這個程序的輸出結(jié)果是(  )。

      A.33B.38C.83D.88

      參考答案:B

      參考解析:本題考查常對象、常成員函數(shù)及構(gòu)造函數(shù)。常對象只能調(diào)用常成員函數(shù),所以本題中,對象a為普通對象,執(zhí)行a.get()后,會執(zhí)行默認構(gòu)造函數(shù),輸出3;對象b為常對象,執(zhí)行b.get()后,會執(zhí)行常構(gòu)造函數(shù),輸出8。

      30執(zhí)行下列語句段后,輸出字符“*”的個數(shù)是(  )。

      for(int i=50;i>1;--i) Cout<<'*':

      A.48B.49C.50D.51

      參考答案:B

      參考解析:本題考查for循環(huán)語句,--i表示用之前先減1,那么這個for循環(huán)語句只有50到2時才會輸出“*”,所以總共輸出49次。

    【最新計算機二級C++上機試題及答案】相關(guān)文章:

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

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

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

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

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

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

    2016年計算機二級JAVA上機試題及答案03-05

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

    2016年計算機二級C++模擬試題及答案03-07

    主站蜘蛛池模板: 久夜色精品国产一区二区三区| 精品亚洲视频在线观看| 国产欧美一区二区精品性色99| 四虎影视永久在线观看精品| 国产日韩精品无码区免费专区国产| 500av导航大全精品| 一色屋精品视频在线观看| 国产午夜精品一区二区三区小说| 国产成人精品免费视频动漫| 亚洲国产精品无码久久九九| 国产成人1024精品免费| 99久久成人国产精品免费| 亚洲国产精品无码久久久秋霞2 | 国产日韩精品无码区免费专区国产| 成人国内精品久久久久一区| 在线精品视频一区二区| 精品人体无码一区二区三区 | 日本精品夜色视频一区二区| 国产精品 一区 在线| 久久99国产精品久久久| 91精品国产综合久久精品| 久久精品国产亚洲av高清漫画| 青青热久久国产久精品| 九九久久精品无码专区| 国产成人精品在线观看| 99RE6热在线精品视频观看| 国产精品三级在线观看无码| 亚洲国产精品一区二区成人片国内| 亚洲精品色婷婷在线影院| 久久久久亚洲精品无码网址 | 日韩精品一区二区午夜成人版 | 99re6这里有精品热视频| 欧产日产国产精品精品| 亚洲精品乱码久久久久久蜜桃图片| 午夜精品久久久久久| 欧美日韩国产精品 | 国产精品爱搞视频网站| 99热这里只有精品国产66| 2022国产精品最新在线| 2024最新国产精品一区| 国产成人精品一区在线|