<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 9月二級C++筆試

    時間:2025-08-29 18:16:10 等級考試

    2009年9月二級C++筆試

    百分網小編收集整理了2009年9月全國計算機二級筆試C++,請閱讀。
    一、選擇題(1-10,21-40每題2分,11-20每題1分)
    (1)下列數據結構中,屬于非線性結構的是
    A)循環隊列B)帶鏈隊列C)二叉樹D)帶鏈棧
    (2)下列數據結構中,能夠按照“先進后出”原則存取數據的是
    A)循環隊列B)棧C)隊列D)二叉樹
    (3)對于循環隊列,下列敘述中正確的是
    A)隊頭指針是固定不變的B)隊頭指針一定大于隊尾指針C)隊頭指針一定小于隊尾指針D)隊頭指針可以大于隊尾指針,也可以小于隊尾指針
    (4)算法的空間復雜度是指
    A)算法在執行過程中所需要的計算機存儲空間B)算法所處理的數據量C)算法程序中的語句或指令條數D)算法在執行過程中所需要的臨時工作單元數
    (5)軟件設計中劃分模塊的一個準則是
    A)低內聚低耦合B)高內聚低耦合C)低內聚高耦合D)高內聚高耦合
    (6)下列選項中不屬于結構化程序設計原則的是
    A)可封裝B)自頂向下C)模塊化D)逐步求精
    (7)軟件詳細設計產生的圖如下:
    該圖是
    A)N-S圖B)PAD圖C)程序流程圖D)E-R圖
    (8)數據庫管理系統是
    A)操作系統的一部分B)在操作系統支持下的系統軟件C)一種編譯系統D)一種操作系統
    (9)在E-R圖中,用來表示實體聯系的圖形是
    A)橢圓形B)矩形C)菱形D)三角形
    (10)有三個關系R,S,和T如下:
    R #FormatTableID_0#
    S #FormatTableID_1#
    T #FormatTableID_2#
    其中關系T由關系R和S通過某種操作得到,該操作為
    A)選擇B)投影C)交D)并
    (11)已知函數FA調用FB,若要把這兩個函數定義在同一個文件中,則
      A)FA必須定義在FB之前
      B)FB必須定義在FA之前
      C)若FA定義在FB之后,則FA的原型必須出現在FB的定義之前
      D)若FB定義在FA之后,則FB的原型必須出現在FA的定義之前  
    (12)有如下兩個類定義
      class AA{};
      class BB{      AA v1,*v2;      BB v3;      int *v4;  };
      其中有一個成員變量的定義是錯誤的,這個變量是
      A)v1  B)v2  C)v3  D)v4  
    (13)有如下類定義:
      class XX{       int xdata;
      public:     XX(int n=0) : xdata (n) { }  };
      class YY : public XX{      int ydata;  public:      YY(int m=0, int n=0) : XX(m), ydata(n) { }  };
      YY類的對象包含的數據成員的個數是
      A)1  B)2  C)3  D)4
    (14)下列有關運算符函數的描述中,錯誤的是
      A)運算符函數的名稱總是以operator為前綴  B)運算符函數的參數可以是對象
      C)運算符函數只能定義為類的成員函數  D)在表達式中使用重載的運算符相當于調用運算符重載函數  
    (15)下列關于模板形參的描述中,錯誤的是
      A)模板形參表必須在關鍵字template之后  B)模板形參表必須用括弧( )括起來
      C)可以用class修飾模板形參  D)可以用typename修飾模板形參  
    (16)在下列枚舉符號中,用來表示“相對于當前位置”文件定位方式的是
      A)ios_base::cur  B)ios_base::beg  C)ios_base::out  D)ios_base::end  
    (17)下列字符串可以用作C++標識符的是
      A)2009var  B)goto  C)test - 2009  D)_123  
    (18)下列枚舉類型的定義中,包含枚舉值3的是
      A)enum test {RED, YELLOW, BLUE, BLACK};  B)enum test {RED, YELLOW=4, BLUE, BLACK};
      C)enum test {RED=-1, YELLOW,BLUE, BLACK};  D)enum test {RED, YELLOW=6, BLUE, BLACK};
    (19)有如下程序段:
      int i=1;
      while (1) {      i++;      if(i == 10) break;      if(i%2 == 0) cout << '*';  }
      執行這個程序段輸出字符*的個數是
      A)10  B)3  C)4  D)5  
    (20)已知數組arr的定義如下:
      int arr[5] = {1,2,3,4,5}; 下列語句中輸出結果不是2的是
      A)cout << *arr+1 <<endl;  B)cout << *(arr+1)<<endl;  C)cout << arr[1] <<endl;  D)cout << *arr <<endl;   
    (21)計算斐波那契數列第n項的函數定義如下:
      Int fib(int n){      if (n == 0) return 1;      else if (n == 1) return 2;      else return fib(n-1)+fib(n-2);  }
      若執行函數調用表達式fib(2),函數fib被調用的次數是
      A)1  B)2  C)3  D)4
    (22)Sample是一個類,執行下面語句后,調用Sample類的構造函數的次數是
      Sample a[2], *p = new Sample;
      A)0  B)1  C)2  D)3  
    (23)下列關于虛基類的描述中,錯誤的是
      A)使用虛基類可以消除由多繼承產生的二義性  B)構造派生類對象時,虛基類的構造函數只被調用一次
      C)聲明“class B : virtual public A”說明類B為虛基類  D)建立派生類對象時,首先調用虛基類的構造函數  
    (24)將運算符重載為類成員函數時,其參數表中沒有參數,說明該運算是
      A)不合法的運算符  B)一元運算符  C)無操作數的運算符  D)二元運算符
    (25)有如下模板聲明:
      template<typename T1, typename T2> class A;
      下列聲明中,與上述聲明不等價的是
      A)template <class T1,class T2>  class A;  B)template <class T1,typename T2> class A;
      C)template <typename T1,class T2> class A;  D)template <typename T1,T2> class A;  
    (26)下列關于C++流的描述中,錯誤的是
      A)cout>>'A'表達式可輸出字符A  B)eof()函數可以檢測是否到達文件尾
      C)對磁盤文件進行流操作時,必須包含頭文件fstream  D)以ios_base::out模式打開的文件不存在時,將自動建立一個新文件
    27)有如下程序:
      #include <iostream>
      using namespace std;
      class Toy{  public:      Toy(char* _n) { strcpy (name,_n); count++;}      ~Toy(){ count--; }      char* GetName(){ return name; }      static int getCount(){ return count; }
      private:
          char name[10];
          static int count;
      };
      int Toy::count=0;
      int mail(){
          Toy t1(“Snoopy”),t2(“Mickey”),t3(“Barbie”);
          cout<<t1.getCount()<<endl;
      return 0;  }
      運行時的輸出結果是
      A)1  B)2  C)3  D)運行時出錯  
      (28)有如下程序
      #include<iostream>  using namespace std;
      class A {  public:       A(int i):rl(i) { }       void print( ) {cout<<'e'<<r1<<'-';}       void print( ) const {cout<<'C'<<r1*r1<<'-';}  private:      int rl;  };
      int main(){      A al(2);     const A a2(4);      al.print();    a2.print();     return 0;  }
      運行時的輸出結果是
      A)運行時出錯  B)E2-C16-  C)C4-C16-  D)E2-E4-
    29)有如下程序:
      #include<iostream>
      using namespace std;
      class Name{
          char name[20];
      public:
          Name(){
              strcpy(name,"");     cout<<'?';
      }
      Name(char *fname)){
          strcpy(name,fname);     cout<'?';
      }
      };
      int main(){
         Name names[3]={Name(“張三”),Name(“李四”)};
      Return 0;
      }
      運行此程序輸出符號?的個數是
      A)0  B)1  C)2  D)3
    (30)有如下程序:
    #include<iostream>
    using namespace std;
    public:
    AA(){ cout<<'1'; }
    };
    class BB: public AA{
    int k;
    public:
    BB():k(0){ cout<<'2'; }
    BB(int n):k(n){ cout<<'3';}
    }
    int main(){
    BB b(4), c;
    return 0;
    }
    運行時的輸出結果是
    A)1312             D)132              C)32               D)1412 

    (31)有如下程序:
    #include<iostream>
    using namespace std;
    class C1{
    public:
    ~C1(){ cout<<1; }
    };
    Class C2: public c1{
    public:
    ~c2(){ cout<<2; }
    };
    int main(){
    C2 cb2;
    C1 *cb1;
    return 0;
    }
    運行時的輸出結果是
    A)121              B)21               C)211              D)12
    (32)有如下程序
    #include<iostream>
    using namespace std;
    class Publication{ /pic/> char name[30];
    public:
    Publication(char *name="未知名稱"){
    strcpy(this->name,name);
    }
    const char * getName()const{ return name; }
    virtual const char * getType()const{ return "未知類型";}
    };
    class Book: public Publication{ /pic/> public:
    Book(char *name): Publication(name){}
    virtual const char * getType()const{ return "書";}
    };
    void showPublication( Publication &p){
    cout<<p.getType()<<":"<<p.getName()<<endl;
    }
    int main(){
    Book book("精彩人生");
    showPublication(book);
    return 0;
    }
    運行時的輸出結果是
    A)未知類型:未知名稱     B)未知類型:精彩人生C)書:未知名稱                         D)書:精彩人生 
    (33)下列關于運算符重載的描述中,錯誤的是
    A)::運算符不能重載B)類型轉換運算符只能作為成員函數重載C)將運算符作為非成員函數重載時必須定義為友元D)重載[]運算符應完成“下標訪問”操作 
    (34)有如下程序:
    #include<iostream>
    #include<iomanip>
    Using namespace std;
    int main(){
    int s[]={123, 234};
    cout<<right<<setfill('*')<<setw(6);
    for(int i=0; i<2; i++) { cout<<s[i]<<endl; }
    return 0;
    }
    運行時的輸出結果是
    A)123              B)***123           C)***123           D)***123
       234                 234                    ***234           234***
     
    (35)有如下類定義
    class A {char *a;public:A():a(0){}A(char *aa){  /pic/> a=                ;strcpy(a,aa);
    strcpy(a,aa);
    }
    ~A() {delete []a;}
    };
    橫線處應填寫的表達式是
    A)nes char[strlen(aa)+1]               B)char[strlen(aa)+1]
    C)char[strlen(aa)]                     D)new char[sizeof(aa)-1]
     二、填空題(每空2分,共30分)
     (1)某二叉樹有5個度為2的結點以及3個度為1的結點,則該二叉樹中共有  【1】  個結點。
     (1)某二叉樹有5個度為2的結點以及3個度為1的結點,則該二叉樹中共有  【1】  個結點。
     (2)程序流程圖中的菱形框表示的是  【2】  。
     (3)軟件開發過程主要分為需求分析、設計、編碼與測試四個階段,其中  【3】  階段產生“軟件需求規格說明書”。
    (4)在數據庫技術中,實體集之間的聯系可以是一對一或一對多或多對多的,那么“學生”和“可選課程”的聯系為  【4】  。
    (5)人員基本信息一般包括:身份證號,姓名,性別,年齡等。其中可以作為主關鍵字的是  【5】  。
    (6)若表達式(x+(y-z)*(m/n))+3中的變量均為double型,則表達式值的類型為 【6】 。
    (7)有如下循環語句:
    For(int i=50; i>20; i-=2)  cout<<i<<',';
    運行時循環體的執行次數是 【7】 。
    (8)利用表達式a[i]可以訪問int型數組a中下標為i的元素。在執行了語句int *p=a;后,利用指針p也可訪問該元素,相應的表達式是 【8】 。
    (9)下面是一個遞歸函數,其功能是使數組中的元素反序排列。請將函數補充完整。
    void reverse(int *a, int size){
    if(size<2) return;
    int k=a[0];
    a[0]=a[size-1];
    a[size-1]=k;
    reverse(a+1,  【9】 );
    }
     
    (10)類Sample的構造函數將形參data賦值給數據成員data。請將類定義補充完整。
    class Sample{
    public:
    Sample(int data=0);
    Private:
    Int data;
    };
    Sample::Sample(int data){
     【10】
    }
     
    (11)有如下類定義:
    class Sample{
    public:
    Sample();
    ~Sample();
    Private:
    Static int date;
    };
    將靜態數據成員data初始化為0的語句是 【11】 。
     
    (12)“圖形”類Shape中定義了純虛函數CalArea(),“三角形”類Triangle繼承了類Shape,請將Triangle類中的CalArea函數補充完整。
    class Shape{
    public:
    virtual int CalArea()=0;
    }
    class Triangle: public Shape{
    public:
    Triangle{int s, int h}: side(s),height(h) {}
     【12】 { return side*height/2 ; }
    private:
        int side;
        int height;
    };
     
    (13)有如下程序:
    #include <iostream>
    using namespace std;
    class GrandChild{
    public:
    GrandChild(){ strcpy (name,"Unknown"); }
    const char * getName()const { return name; }
    virtual char * getAddress()const=0;
    private:
    char name[20];
    };
    class GrandSon : public GrandChild{
    public:
    GrandSon{char *name} {}
    Char * getAddress() const { return "Shanghai";}
    };
    int main(){
    GrandChild *gs=new GrandSon("Feifei");
    cout<<gs->getName()<<"住在"<<gs->getAddress()<<endl;
    delete gs;
    return 0;
    }
    運行時的輸出結果是 【13】 。
    (14)如下程序定義了“單詞”類word,類中重載了<運算符,用于比較“單詞”的大小,返回相應的邏輯值。程序的輸出結果為:After Sorting: Happy Welcome,請將程序補充完整。
    #include <iostream>
    #include <string>
    using namespace std;
    class Word{
    public:
    Word(string s) : str(s) { }
    string getStr(){ return str; }
     【14】 const { return (str<w.str); }
    friend ostream& operator << (ostream& output, const Word &w)
    { output<<w.str; return output; }
    private:
    string str;
    };
    Int main(){
    Word w1("Happy"),w2("Welcome");
    Cout<<"After sorting: ";
    if(w1<w2) cout<<w1<<' '<<w2;
    else cout<<w2<<' '<<w1;
    return 0;
    }
     
    (15)請將下列模板類Data補充完整。
    template <typename T>
    class Data{
    public:
    void put (T v) { val=v; }
     【15】 get()   /pic/> { return val; }
    private:
    T val;
    };
    參考答案
    選擇題  
    (1)C +(5)身份證號 (6)double (7)15 (8)*(p+i)
    (9)size-1  (10)this->data=data;
    (11)int Sample::data = 0;
    (12)int CalArea(size,height)
    (13)Unknown住在Shanghai
    (14)bool operator < (Word w)  (15)T

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

    2008年9月二級C++筆試12-19

    計算機二級C++筆試選擇題09-27

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

    全國計算機二級考試《C++》筆試樣卷03-17

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

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

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

    計算機等級考試二級C++筆試選擇題01-25

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

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