糯米文學吧

位置:首頁 > 英語 > 等級考試

2009年9月二級C++筆試

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<<ount()<<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);   t(); t();  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
標籤:筆試 二級