<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 等級考試

    3月全國計算機等級考試二級C++

    時間:2025-01-02 00:25:30 等級考試 我要投稿
    • 相關推薦

    2012年3月全國計算機等級考試二級C++

       
    考試頻道小編為你收集整理2012年3月全國計算機等級考試二級C++,請閱讀!
    筆試試卷  (考試時間90分鐘,滿分100分)
      一、選擇題(每小題2分,共70分)
      下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應位置上,答在試卷上不得分。
      (1)下列敘述中正確的是
      A)循環隊列是隊列的一種鏈式存儲結構 B)循環隊列是一種邏輯結構
      C)循環隊列是隊列的一種順序存儲結構 D)循環隊列是非線性結構
      (2)下列敘述中正確的是
      A)棧是一種先進先出的線性表 B)隊列是一種后進先出的線性表
      C)棧與隊列都是非線性結構 D)以上三種說法都不對
      (3)一棵二叉樹共有25個結點,其中5個是葉子結點,則度為1的結點數為
      A)4 B)<16 > C)10 D)6
      (4)在下列模式中,能夠給出數據庫物理存儲結構與物理存取方法的是
      A)邏輯模式 B)概念模式 C)內模式 D)外模式
      (5)在滿足實體完整性約束的條件下
      A)一個關系中可以沒有候選關鍵字 B)一個關系中只能有一個候選關鍵字
      C)一個關系中必須有多個候選關鍵字 D)一個關系中應該有一個或多個候選關鍵字
      (6)有三個關系R、S和T如下:
      R       s       t  
    A B C   A B C   A B C
    a 1 2   a 1 2   b 2 1
    b 2 1   d 2 1   c 3 1
    c 3 1                
      則由關系R和S得到關系T的操作是
      A)并 B)差 C)交 D)自然連接
      (7)軟件生命周期的活動中不包括
      A)軟件維護 B)需求分析 C)市場調研 D)軟件測試
      (8)下面不屬于需求分析階段任務的是
      A)確定軟件系統的性能需求 B)確定軟件系統的功能需求
      C)制定軟件集成測試計劃 D)需求規格說明書評審
      (9)在黑盒測試方法中,設計測試用例的主要根據是
      A)程序外部功能 B)程序數據結構 C)程序流程圖 D)程序內部結構
      (10)在軟件設計中不使用的工具是
      A)系統結構圖 B)程序流程圖 C)PAD圖 D)數據流圖(DFD圖)
      (11)若一個函數的原型為"int * Xfun1(int x,int& y,char z);",則該函數的返回值類型為
      A)int * B)int
      C)int& D)char
      (12)若AA為一個類,a為該類的私有整型數據成員,getA()為該類的一個非靜態公有成員函數,功能是返回a的值。如果x為該類的一個對象,要在類外訪問x對象中a的值,正確的訪問格式為
      A)AA.getA() B)x.getA()
      C)x.a D)AA::a
      (13)當派生類繼承一個基類時,默認的繼承方式為
      A)public B)protected
      C)private D)不確定
      (14)若需要為XV類重載乘法運算符,運算結果為XV類型,在將其聲明為類的成員函數時,下列原型聲明正確的是
      A)XV operator *(XV,XV);
      B)XV *(XV);
      C)operator *(XV);
      D)XV operator *(XV);
      (15)在定義函數模板或類模板時,開頭的保留字是
      A)typename B)template
      C)class D)typedef
      (16)若需要向一個二進制文件尾部添加數據,則該文件的打開方式為
      A)ios_base::app
      B)ios_base::binary | ios_base::out
      C)ios_base::out
      D)ios_base::binary | ios_base::app
      (17)在開發一個c++程序的整個過程中,第3個步驟為
      A)鏈接 B)運行
      C)編輯 D)編譯
      (18)若有定義"int x=4,y=5;",則表達式"y>x++?x--:y++"的值為
      A)3 B)4
      C)5 D)6
      (19)有如下程序:
      #include
      using namespace std;
      int main(){
      int i,s=0;
      for(i=1;s<20;i+=2)s+=i*i;
      cout<  return 0;
      }
      運行這個程序的輸出結果是
      A)3 B)5
      C)7 9)9
      (20)若字符指針p所指向的字符串為"abcdefg",在執行語句
      char *ap=new char[strlen(p)+1];
      之后,ap指向的字符數組的元素個數為
      A)9 B)8
      C)7 D)6
      (21)有如下程序:
      #include
      using namespace std;
      void fl(int& x){x++;}
      void f2(int x){++x;}
      int main(){
      int x=10,y=12;
      f1(x);
      f2(y);
      cout<  return 0;
      }
      運行這個程序的輸出結果是
      A)22 B)23
      C)24 D)25
      (22)有如下程序:
      #include
      using namespace std;
      class XA{
      int a;
      public:
      static int b;
      XA(int aa):a(an){b++;}
      int getA(){return a;}
      };
      int XA::b=0;
      int main(){
      XA d1(4),d2(5);
      cout<  return 0;
      }
      運行這個程序的輸出結果是
      A)9 B)11
      C)13 D)15
      (23)有如下程序:
    以上是考試頻道小編為你收集整理2012年3月全國計算機等級考試二級C++。
      #include
      using namespace std;
      class XX{
      int x;
      public:
      XX(int xx=0):x(xx){}
      int getX(){return x;}
      };
      class YY:public XX{
      int y;
      public:
      YY(int xx,int yy):x(xx),y(yy){}
      int getV(){return getX()+y;}
      };
      int main(){
      YY c(3,4);
      cout<  return 0;
      }
      運行這個程序的輸出結果是
      A)3 B)4
      C)7 D)10
      (24)在類中重載賦值運算符時,應將其聲明為類的
      A)靜態函數 B)友元函數
      C)成員函數 D)構造函數
      (25)若有函數模板mySwap和一些變量定義如下:
      template
      void mySwap(T X,T Y);
      double d1,d2;int i1,i2;
      下列對mySwap的調用中,錯誤的是
      A)mySwap(i1,i2)
      B)mySwap(d1,d2)
      C)mySwap(i1,d1)
      D)mySwap(i2,d2)
      (26)在C++中,打開一個文件時與該文件建立聯系的是
      A)流對象 B)模板
      C)函數 D)類
      (27)已知類IMS中兩個成員函數的聲明為"void listen() const;"與"void speak();",
      另有兩個對象的定義為"IMS obj1;"與"const IMS obj2;",則下列語句中,產生編譯錯誤
      的是
      A)obj1.listen();
      B)obj1.speak();
      C)obj2.listen();
      D)obj2.speak();
      (28)有如下程序:
      #include
      using namespace std;
      class Monkey{
      public:
      Monkey() {cout<<'M';}
      Monkey(char n){cout<  ~Monkey() {cout<<'Y';}
      };
      int main(){
      Monkey p1,*p2;
      p2=new Monkey('X');
      delete p2;
      return 0;
      }
      運行這個程序的輸出結果是
      A)MYX B)MYMY
      C)MXY D)MXYY
      (29)有如下程序:
      #include
      using namespace std;
      class Boat;
      class Car{
      public:
      Car(int i):weight(i){ }
      friend int Total(const Car &c.const Boat &b); //①
      private:
      int weight;
      };
      class Boat{
      public:
      Boat(int i):weight(i){ }
      friend int Total(const Car &c,const Boat &b);
      private:
      int weight;
      };
      int Total(const Car &c,const Boat &b){ //②
      return c.weight+b.weight;
      }
      int main(){
      Car c(10);
      Boat b(8);
      cout<<"The total weight is"<  return 0;
      }
      下列關于程序的描述中,正確的是
      A)程序編譯正確
      B)程序編譯時語句①出錯
      C)程序編譯時語句②出錯
      D)程序編譯時語句③出錯
      (30)有如下程序:
      #include
      using namespace std;
      class Media{
      public:
      void Name();
      void Show();
      protected:
      int page;
      };
      class Book:private Media{
      public:
      void Print(){cout<  void Show() {Media::Show();} //①
      };
      int main(){
      Book Bible;
      Bible.Name(); //②
      Bible.Print(); //③
      Bible.Show(); //④
      return 0;
      }
      編譯時有錯誤的是
      A)語句① B)語句②
      C)語句③ D)語句④
      (31)有如下程序:
      #include
      using namespace std;
      class Base{
      public:
      virtual void Show(){cout<<'B';}
      };
      class Derived:public Base{
      public:
      void Show(){cout<<'D';}
      };
      int main(){
      Base *p1=new Derived;
      Derived *p2=new Derived;
      p1->Show();
      p2->Show();
      delete p1;
      delete p2;
      return 0;
      }
      運行這個程序的輸出結果是
      A)BB B)BD
      C)DB D)DD
      (32)有如下類定義:
      class Animal{
      public:
      virtual void Name()=0;
      };
      class Koala:public Animal{
      public:
      void Name(){/*函數體略*/}
      };
      關于上述類定義,下列描述中錯誤的是
      A)類Koala是類Animal的派生類
      B)類Koala中的Name函數是一個虛函數
      C)類Animal中的Name函數是一個純虛函數
      D)語句"Animal a;"能夠建立類Animal的一個對象a
      (33)已知類MyClock中未顯式定義構造函數,并重載了加法運算符,使得下面的語句
      序列能夠正確執行:
      MyClock c1,c2;
      //......
      c2=c1+10;
      由此可知,為類MyClock重載的"+"運算符函數的聲明是
      A)friend MyClock operator+(MyClock,int);
      B)friend MyClock operator+(MyClock,MyClock);
      C)friend MyClock operator+(int,MyClock);
      D)MyClock operator+(MyClock);
      (34)下列控制對齊方式的操作符中,錯誤的是
      A)internal B)center  C)left D)right
      (35)有如下程序:
    以上是考試頻道小編為你收集整理2012年3月全國計算機等級考試二級C++。
      #include
      using namespace std;
      class Mountain{
      int height;
      public:
      Mountain(int h=0):height(h){ }
      virtual char *GetName()const
      {return "山";}
      int GetHeight() const{return height;}
      };
      class Lushan:public Mountain{
      public:
      Lushan(int d):Mountain(d){ }
      char *GetName()const
      {return "廬山";}
      };
      int main(){
      Mountain *p= new Lushan(1000);
      cout<GetName()<<"海拔"<GetHeight()<<"米";
      return 0;
      }
      運行這個程序的輸出結果是
      A)廬山海拔<1000米>
      B)廬山海拔<0米>
      C)山海拔<1000米>
      D)山海拔<0米>
      二、填空題(每空2分,共30分)
      請將每一個空的正確答案寫在答題卡【1】-【15】序號的橫線上,答在試卷上不
      得分。
      (1)在長度為n的順序存儲的線性表中刪除一個元素,最壞情況下需要移動表中的元
      素個數為_____1_____。
      (2)設循環隊列的存儲空間為Q(1:30),初始狀態為front=rear=30。現經過一系列
      入隊與退隊運算后,front=16,rear=15,則循環隊列中有___2___個元素。
      (3)數據庫管理系統提供的數據語言中,負責數據的增、刪、改和查詢的是___3___ 。
      (4)在將E-R圖轉換到關系模式時,實體和聯系都可以表示成___4___ 。
      (5)常見的軟件工程方法有結構化方法和面向對象方法,類、繼承以及多態性等概念
      屬于___5___。
      (6)如果a為int型變量,b為double型變量,則表達式a+b的值的類型為___6___。
      (7)break語句可用于循環語句和___7___語句中。
      (8)如果P是指向一個動態數組空間的指針變量,則釋放該數組空間的語句是___8____ 。
      (9)如果一個函數在其函數體內直接或間接地調用自己,則該函數稱為___9___函數。
      (10)調用時不必提供參數的構造函數稱為___10___構造函數。
      (11)有如下程序:
      #include
      using namespace std;
      class Machine{
      static int num;
      public:
      Machine(){num++;}
      static void showNum()
      {cout<  };
      int Machine::num=0;
      int main(){
      Machine a[10],b;
      Machine::showNum();
      return 0;
      }
      運行這個程序的輸出結果是___【11】___ 。
      (12)類Base、Component和Derived的定義如下,請將橫線處缺失部分補充完整。
      class Base{
      double data;
      public:
      Base(double d):data(d){ }
      };
      class Component{
      int data;
      public:
      Component(int d):data(d){ }
      };
      class Derived:public Base{
      Component com;
      char character;
      public:
      Derived(double a,int b,char c):
      //使用參數a初始化基類成員,使用參數b初始化成員對象com
      ___【12】___,character(c){ }
      };
      (13)形狀類Shape中包含一個純虛函數draw,它無形參和返回值,則draw函數在
      Shape類中的原型聲明是___【13】___ 。
      (14)正方形類的定義如下,請將橫線處缺失部分補充完整。
      class Square{
      private:
      double width;
      public:
      Square(double w):width(w){}
      //重載大于運算符">",用于比較兩個正方形的大小,函數結果類型為bool類型
      ___【14】___(Square& s);
      };
      (15)有如下程序,請將橫線處缺失部分補充完整。
      #include
      using namespace std;
      template
      class Dataset{
      T *data;
      int size;
      public:
      Dataset(T* arr,int length):size(1ength){
      data=new T[length];
      for(int i=0;i  data[i]=arr[i];
      }
      };
      int main(){
      int arr[]={2,4,6,8,10};
      //利用數組arr初始化類模板Dataset的對象set
      ___【15】___
      return 0;
      參考答案:
      ADABA DADDA BACDA ACCDB
      DBBBA BBADA DBCCD ADCAC
      n 29 數據操作語言 關系 面向對象方法 a=1,b=2 2 3 k<=n 074 rgb 572 *a[i] cab test
    以上是考試頻道小編為你收集整理2012年3月全國計算機等級考試二級C++。

    【3月全國計算機等級考試二級C++】相關文章:

    全國計算機等級考試二級C++筆試題08-24

    全國計算機等級考試二級C++筆試真題10-11

    3月全國計算機等級考試二級C++筆試真題10-11

    2015全國計算機等級考試二級C++語言程序設計考試大綱11-04

    計算機等級考試《二級C++》單選題08-16

    2015年9月全國計算機等級考試二級C++預測卷08-25

    全國計算機等級考試二級試題11-03

    2015下半年全國計算機等級考試二級C++模擬試題08-19

    計算機等級考試二級C++考前指導訓練08-29

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