2009上半年全國計算機二級C++考試真題
一、選擇題(每小題2分,共70分)
(1)下列敍述中正確的是
A)棧是“先進先出”的線性表
B)隊列是“先進後出”的線性表
C)循環隊列是非線性結構
D)有序線性表既可以採用順序存儲結構,也可以採用鏈式存儲結構
(2)支持子程序調用的數據結構是
A)棧
B)樹
C)隊列
D)二叉樹
(3)某二叉樹有5個度為z的結點,則該二叉樹中的葉子結點數是
A)10
B)8
C)6
D)4
(4)下列排序方法中,最壞情況下比較次數最少的是
A)冒泡排序
B)簡單選擇排序
C)直接插入排序
D)堆排序
(5)軟件按功能可以分為: 應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬於應用軟件的是
A)編譯程序
B)操作系統
C)教務管理系統
D)彙編程序
(6)下面敍述中錯誤的是
A)軟件測試的目的是發現錯誤並改正錯誤
B)對被調試的程序進行“錯誤定位”是程序調試的必要步驟
C)程序調試通常也稱為Debug
D)軟件測試應嚴格執行測試計劃,排除測試的隨意性
(7)耦合性和內聚性是對模塊獨立性度量的兩個標準。下列敍述中正確的是
A)提高耦合性降低內聚性有利他哦高模塊的獨立性
B)降低耦合性提高內聚性有利於提高模塊的獨立性
C)耦合性是指一個模塊內部各個元索間彼此結合的緊密程度
D)內聚性是指模塊間互相連接的緊密程度
(8)數據庫應用系統中的核心問題是
A)數據庫設計
B)數據庫系統設計
C)數據庫維護
D)數據庫管理員培訓
(9)有兩個關係R, S如下:
由關係R通過運算得到關係S,則所使用的運算為
A)選擇
B)投影
C)插入
D)連接
(10)將E-R圖轉換為關係模式時,實體和聯繫都可以表示為
A)屬性
B)鍵
C)關係
D)域
(11)對C++編譯器區分重載函數無任何意義的信息是
A)參數類型
B)參數個數
C)返回值類型
D)常成員函數關鍵字coast
(12)有如下類定義和變量定義:
class A{
publie:
A(){data=0;}
~A(){}
int GetData ( ) coast { return data;}
void SetData(int n) {data=n;}
private:
int data;
};
ccnst A a;
A b;
下列函數調用中錯誤的是
A)a ata();
B)a ata(10);
C)b ata();
D)b ata(10);
(13)有如下類定義和變量定義:
class Parents{
public:
int publicuata;
private:
int privateData;
};
class ChildA:public Parents{/*類體略*/};
class ChildB:private Parents{/*類體略*/);
ChildA a;
ChildBb;
下列語句中正確的是
A)cout< B)cout< C)cout< D)cout<
(14)運算符重載時不需要保持的性質是
A)操作數個數
B)操作數類型
C)優先級
D)結合性
(15)下列關於函數模板的描述中,錯誤的是
A)從模板實參表和從模板函數實參表獲得信息矛盾時,以模板實參的信息為準
B)對於常規參數所對應的模板實參,任何情況下都不能省略
C)虛擬類型參數沒有出現在模板函數的形參表中時,不能省略模板實參
D)模板參數表不能為空
(16)要建立文件流並打開當前目錄下的文件用於輸入,下列語句中錯誤的`是
A)ifstream fin=(“”);
B)ifstream*fir.=new ifstream(“”);
C)ifstream fin; (“”);
D)ifstream *fin=new ifstream( );fin一>open(“”);
(17)下列描述中,不屬於面向對象思想主要特徵的是
A)封裝性
B)跨平台性
C)繼承性
D)多態性
(18)有如下程序段:
Tnt i=4;int j=l;
int main(){
int i=8,j=i;
cout< }
運行時的輸出結果是
A)44
B)41
C)88
D)81
(19)有如下程序段:
int i=5;
while(int i=0){cout《'*';i--;}
運行時輸出“*”的個數是
A)0
B)1
C)5
D)無窮
(20)己知有數組定義
char a[3][4];
下列表達式中錯誤的是
A)a[2]=“WIN”
B)strcpy(a[2],“WIN”)
C)a [2][3]='W'
D)a[0][1]=a[0][1]
(21)已知函數fun的原型為
int fun(int,int,int);
下列重載函數原型中錯誤的是
A)char fun(int,int);
B)double fun(int,int,double);
C)int fun(int,char*);
D)float fun (int, int, int);
(22)建立一個類對象時,系統自動調用
A)析構函數
B)構造函數
C)靜態函數
D)友元函數
(23)通過派生類的對象可直接訪問其
A)公有繼承基類的公有成員
B)公有繼承基類的私有成員
C)私有繼承基類的公有成員
D)私有繼承基類的私有成員
(24)己知表達式++a中的“++”是作為成員函數重載的運算符,則與十+a等效的運算符函數調用形式為
A)a ator++(1)
B)operator++(a)
C)operator++(a,l)
D)ator++( )
(25)在定義一個類模板時,模板形參表是用一對括號括起來的,所採用的括號是
A)( )
B)[ ]
C)< >
D){ }
(26)當使用ifstream流類定義一個流對象並打開一個磁盤文件時,文件的默認打開方式為
A)ios_base::in
B)ios_base::in|ios_base::out
C)ios_base::out
D)ios_base::in&ios_base::out