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

    9月二級C++筆試

    時間:2025-04-03 05:10:02 等級考試 我要投稿
    • 相關推薦

    2008年9月二級C++筆試

    考試頻道小編為你收集整理2008 年 9 月二級 C++筆試試卷參考答案,請閱讀!
      一、選擇題(每小題2分,共70分)

    2008年9月二級C++筆試

      (1)一個棧的初始狀態為空。現將元素 1、2、3、4、5、A、B、C、D、E 依次入棧,然后

      再依次出棧,則元素出棧的順序是( )。

      A)123456ABCDE B)EDCBA54321C)ABCDE12345 D)54321EDCBA

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

      A)循環隊列有隊頭和隊尾兩個指針,因此,循環隊列是非線性結構

      B)在循環隊列中,只需要隊頭指針就能反映隊列中元素的動態變化情況

      C)在循環隊列中,只需要隊尾指針就能反映隊列中元素的動態變化情況

      D)循環隊列中元素的個數是由隊頭指針和隊尾指針共同決定

      (3)在長度為 n 的有序線性表中進行二分查找,最壞情況下需要比較的次數是()。

      A)O(n) B)O(n2)

      C)O(log2n) D)O(nlog2n)

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

      A)順序存儲結構的存儲一定是連續的,鏈式存儲結構的存儲空間不一定是連續的

      B)順序存儲結構只針對線性結構,鏈式存儲結構只針對非線性結構

      C)順序存儲結構能存儲有序表,鏈式存儲結構不能存儲有序表

      D)鏈式存儲結構比順序存儲結構節省存儲空間

      (5)數據流圖中帶有箭頭的線段表示的是( )。

      A)控制流C)模塊調用B)事件驅動D)數據流

      (6)在軟件開發中,需求分析階段可以使用的工具是( )。

      A)N-S 圖C)PAD 圖B)DFD 圖D)程序流程圖

      (7)在面向對象方法中,不屬于“對象”基本特點的是( )。

      A)一致性C)多態性B)分類性D)標識唯一性

      (8)一間宿舍可住多個學生,則實體宿舍和學生之間的聯系是( )。

      A)一對一C)多對一B)一對多D)多對多

      (9)在數據管理技術發展的三個階段中,數據共享最好的是()。

      A)人工管理階段

      C)數據庫系統階段

      (10)有三個關系 R、S 和 T 如下:

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

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

      (11)在下列原型所示的 C++函數中,按“傳值”方式傳遞參數的是( )。

      A)void f1(int x); B)void f2(int*x);

      C)void f3(const int*x); D)void f4(int&x);

      (12)在 C++中,編譯系統自動為一個類生成缺省構造函數的條件是( )。

      A)該類沒有定義任何有參構造函數B)該類沒有定義任何無參構造函數

      C)該類沒有定義任何構造函數D)該類沒有定義任何成員函數

      (13)在一個派生類的成員函數中,試圖調用其基類的成員函數“void f();”,但無法通過編

      譯。這說明( )。

      A)f()是基類的私有成員C)派生類的繼承方式為私有

      B)f()是基類的保護成員D)派生類的繼承方式為保護

      (14)下列關于運算符重載的敘述中,錯誤的是( )。

      A)有的運算符可以作為非成員函數重載

      B)所有的運算符都可以通過重載而被賦予新的含義

      C)不得為重載的運算符函數的參數設置默認值

      D)有的運算符只能作為成員函數重載

      (15)下列關于模板的敘述中,錯誤的是( )。

      A)調用模版函數時,在一定條件下可以省略模板實參

      B)可以用 int、double 這樣的類型修飾符來聲明模版參數

      C)模板聲明中的關鍵字 class 都可以用關鍵字 typename 替代

      D)模板的形參表中可以有多個參數

      (16)要利用 C++流進行文件操作,必須在程序中包含的頭文件是( )。

      A)iostream B)fstream C)strstream D)iomanip

      (17)下列字符串中不能作為 C++標識符使用的是( )。

      A)WHILE B)user C)_lvar D)9stars

      (18)下列語句中錯誤的是( )。

      A)const int a; B)const int a=10;C)const int*point=0; D)const int*point=new int(10);

      (19)有如下程序:

      #include

      using namespace std;

      int main(){

      int sum;

      for(int i=0; i<6; i+=3){

      sum=i;

      for(int j = i; j<6; j++)sum+=j;

      }

      cout<

      return 0;

      }

      運行時的輸出結果是( )。

      A)3 B)10 C)12 D)15

      (20)下列語句中,正確的是( )。

      A)char*myString="Hello-World!";

      B)char myString="Hello-World!";

      C)char myString[11]="Hello-World!";

      D)char myString[12]="Hello-World!";

      (21)若已經聲明了函數原型“void fun(int a, double b=0.0);”,則下列重載函數聲明中正確

      的是( )。

      A)void fun(int a=90, double b=0.0); B)int fun(int a, double B);

      C)void fun(double a, int B); D)bool fun(int a, double b = 0.0);

      (22)有如下程序:

      #include

      using namespace std;

      class Sample{

      public:

      Sample(){}

      ~Sample(){cout<<'*';}

      };

      int main(){

      Sample temp[2], *pTemp[2];

      return 0;

      }

      執行這個程序輸出星號(*)的個數為( )。

      A)1 B)2C)3D)4

      (23)下列選項中,與實現運行時多態性無關的是( )。
    以上是考試頻道小編為你收集整理2008 年 9 月二級 C++筆試試卷參考答案

      A)重載函數 B)虛函數 C)指針 D)引用

      (24)下列運算符函數中,肯定不屬于類 Value 的成員函數的是( )。

      A)Value operator+(Value);

      C)Value operator*(int);

      B)Value operator-(Value, Value);

      D)Value operator/(Value);

      (25)下列模板聲明中,有語法錯誤的是( )。

      A)templateT fun(T x){return x;}

      B)templateT fun(T x, int n){return x*n;}

      C)templateT fun(T *p){return *p;}

      D)templateT classA{T n;};

      (26)在語句“cout<<'A';”中,cout 是( )。

      A)類名

      C)函數名

      (27)有如下程序:

      #include

      using namespace std;

      class MyClass{

      public:

      MyClass(int i=0){cout<<1;}

      MyClass(const MyClass&x){cout<<2;}

      B)對象名

      D)C++的關鍵字

      MyClass& operator=(const MyClass&x){cout<<3; return*this;}

      ~MyClass(){cout<<4;}

      };

      int main(){

      MyClass obj1(1),obj2(2),obj3(obj1);

      return 0:

      }

      運行時的輸出結果是( )。

      A)112444 B)11114444 C)121444 D)11314444

      (28)有如下程序:

      #include

      using namespace std;

      class MyClass{

      public:

      MyClass(int x):val(x){}

      void Set(int x){val=x;}

      void Print()const{cout<<"val="<

      private:

      int val;

      };

      int main(){

      const MyClass obj1(10);

      MyClass obj2(20);

      obj1.Print(); //語句 1

      obj2.Print(); //語句 2

      obj1.Set(20); //語句 3

      obj2.Set(30); //語句 4

      return 0;

      }

      其主函數中錯誤的語句是(

      )。

      A)語句 1 B)語句 2C)語句 3D)語句 4

      (29)在類聲明中,緊跟在“public:”后聲明的成員的訪問權限是( )。

      A)私有B)公有C)保護D)默認

      (30)對于通過公有繼承定義的派生類,若其成員函數可以直接訪問基類的某個成員,說明

      該基類成員的訪問權限是( )。

      A)公有或私有B)私有C)保護或私有D)公有或保護

      (31)定義派生類時,若不使用關鍵字顯式地規定采用何種繼承方式,則默認方式為( )。

      A)私有繼承B)非私有繼承C)保護繼承D)公有繼承

      (32)建立一個有成員對象的派生類對象時,各構造函數體的執行次序為( )。

      A)派生類、成員對象類、基類

      B)成員對象類、基類、派生類

      C)基類、成員對象類、派生類

      D)基類、派生類、成員對象類

      (33)如果表達式 a>=b 中的“>=”是作為非成員函數重載的運算符,則可以等效地表示為

      ( )。

      A)a.operator>=(b) B)b.operatotr>=(a)

      C)operator>=(a,b) D)operator>=(b,a)

      (34)當使用 ofstream 流類定義一個流對象并打開一個磁盤文件時,文件的默認打開方式為

      ( )。

      A)ios base::in

      B)ios_base::binary

      C)ios_base::in|ios_base::out

      D)ios_base::out

      (35)在一個抽象類中,一定包含有( )。

      A)虛函數 B)純虛函數

      C)模板函數 D)重載函數

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

      (1)對下列二叉樹進行中序遍歷的結果___________。

      (2)按照軟件測試的一般步驟,集成測試應在___________測試之后進行。

      (3)軟件工程三要素包括方法、工具和過程,其中,___________支持軟件開發的各個環節

      的控制和管理。

      (4)數據庫設計包括概念設計、___________和物理設計。

      (5)在二維表中,元組的___________不能再分成更小的數據項。

      (6)當使用關鍵字___________作為函數返回類型時,該函數不返回任何值。

      (7)已知數組 a 中有 n 個元素,下列語句將數組 a 中從下標 xl 開始的 k 個元素移動到從下

      標 x2 開始的 k 個元素中,其中 0<=xl

      For (int i = xl+k-1; i>=xl; i--)

      a[___________]=a[i];

      (8)有如下程序:

      #include

    以上是考試頻道小編為你收集整理2008 年 9 月二級 C++筆試試卷參考答案

      using namespace std;

      int fun1(int x) {return++x;}

      int fun2(int &x) {return++x;}

      int main(){

      int x=1,y=2;

      y=fun 1(fun2(x));

      cout<

      return 0:

      }

      程序的輸出結果是___________。

      (9)有如下程序:

      #include

      using namespace std;

      class pumpkin{

      public:

      pumpkin(){++count;}

      ~pumpkin(){--count;}

      static void total_count(){

      cout<

      }

      private:

      static int count;

      };

      int pumpkin::count=0;

      int main(){

      pumpkin pl[10];

      pumpkin::total_count();

      return 0;

      }

      這個程序的輸出結果是___________。

      (10)有如下遞歸函數:

      int Fun(int n){

      if(n<=1) return 1;

      ___________

      }

      請補充完整,使得函數 Fun 能夠正確計算形參 n 的階乘。

      (11)請在下列程序中的空格處填寫正確的語句:

      class Sample{

      public:

      Sample(){}

      ~Sample(){}

      void SetData(int data) { //將 Sample 類成員變量 data 設置成形參的值

      ___________

      }

      private: int data;

      };

      (12)有如下類定義,請將Sample類的拷貝構造函數補充完整。

      class Sample{

      public:

      Sample(){)

      ~Sample() {if(p) delete p;)

      Sample (const Sample& s){

      ___________

      }

      void SetData(int data) {p=new int(data);}

      private:

      int*p;

      };

      (13)重載加法運算符“+”,其函數名是___________。

      (14)有如下程序:

      #include

      using namespace std;

      class Wages{ //“工資”類

      double base; //基本工資

      double bonus; //獎金

      double tax; //稅金

      public:

      Wages(double CBase, double CBonus, double CTax):

      base(CBase), bonus(CBonus), tax(CTax){}

      double getPay()const; //返回應付工資額

      Wages operator+(Wages w)const; //重載加法

      };

      double Wages::getPay()const{return base+bonus-tax;}

      Wages Wages::operator+(Wages w)const{

      return Wages(base+w.base, bonus+w.bonus, tax+w.tax);

      }

      int main(){

      Wages wl(2000,500,100),w2(5000,1000,300);

      cout<<(wl+w2).getPay0<

      retun 0;

      }

      程序的輸出結果是___________

      (15)有如下程序:

      #include

      using namespace std;

      class Pet{

      char name[10];

      public:

      Pet(char*name){strcpy(this->name, name);}

      const char*getName()const {return name;}

      virtual void call()const=0;

      };

      class Dog: public Pet{

      public:

      Dog(char*name):Pet(name){}

      void call()const{cout<<"汪汪叫";}

      };

      class Cat:public Pet{

      public:

      Cat(char*name):Pet(name){}

      void call()const{cout<<"喵喵叫";}

      };

      int main(){

      Pet*pet1=new Dog("哈克"), *pet2=new Cat("吉米");

      cout<getName();pet1->call(); cout<

      cout<getName();pet2->call(); cout<

      return 0;

      一、選擇題

      (1)B)(2)D)(6)B)(7)A)(11)A) (12)A)(16)B) (17)B)(21)C) (22)C)(26)B) (27)C)(31)A) (32)C)(3)C)(8)B)(13)C)(18)D)(23)A)(28)B)(33)A)(4)A)(9)C)(14)B)(19)A)(24)D)(29)A)(34)B)(5)D)(10)D(15)

      (20)D 25)C)(30)D 35)C)

      二、填空題

      (1)DBXEAYFZC(2)單元(3)過程(4)邏輯設計(5)分量(6)聯接(7)設計(8)選擇結構(或條件結構)(9)RunSQL(10)動態(11)64(12)num(13)f0+f1(14)rs.eof(15)fd
    以上是考試頻道小編為你收集整理2008 年 9 月二級 C++筆試試卷參考答案

    【9月二級C++筆試】相關文章:

    2009年9月二級C++筆試07-01

    計算機二級C++語言筆試試卷及答案03-10

    計算機二級C++筆試選擇題08-13

    全國計算機等級考試二級C++筆試題02-06

    2010年9月全國計算機二級C++筆試05-31

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

    計算機等級考試二級C++筆試選擇題06-27

    2010年3月計算機等級考試二級C++筆試03-06

    全國計算機二級考試C++筆試模擬題及答案04-16

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