一、選擇題
1.已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的後序遍歷為( )
FBCA
HFCA
EFGH
EDHG
【參考答案】 B
2.如果進棧序列為e1,e2,e3,e4,則可能的出棧序列是( )
A.e3,e1,e4,e2
B.e2,e4,e3,e1
C.e3,e4,e1,e2
D.任意順序
【參考答案】 B
3.程式設計語言的基本成分是資料成分、運算成分、控制成分和( )
A.物件成分
B.變數成分
C.語句成分
D.傳輸成分
【參考答案】 D
4.下列不屬於軟體工程的3個要素的是( )
A.工具
B.過程
C.方法
D.環境
【參考答案】 D
5.將E-R圖轉換到關係模式時,實體與聯絡都可以表示成( )
A.屬性
B.關係
C.鍵
D.域
【參考答案】 B
6.在深度為5的滿二叉樹中,葉子結點的個數為( )
A.32
B.31
C.16
D.15
【參考答案】 B
7.一些重要的程式語言(如C語言和Pascal語言)允許過程的遞迴呼叫。而實現遞迴呼叫中的儲存分配通常用( )
A.棧
B.堆
C.陣列
D.連結串列
【參考答案】 A
8.開發軟體時對提高開發人員工作效率至關重要的是( )
A.作業系統的資源管理功能
B.先進的軟體開發工具和環境
C.程式人員的數量
D.計算機的並行處理能力
【參考答案】 B
9.資料處理的最小單位是( )
A.資料
B.資料元素
C.資料項
D.資料結構
【參考答案】 C
10.下述關於資料庫系統的敘述中正確的是( )
A.資料庫系統減少了資料冗餘
B.資料庫系統避免了一切冗餘
C.資料庫系統中資料的一致性是指資料型別一致
D.資料庫系統比檔案系統能管理更多的資料
【參考答案】 B
11.以下各選項組中,均是C++語言關鍵字的組是( )
ic operator this
string static
while>=
ate cout printf
【參考答案】 A
12.下列描述正確的是( )
A.表示m>n為true或mn&&m
ch語句結構中必須有default語句
語句結構中必須有else語句
D.如果至少有一個運算元為true,則包含“||”運算子的表示式為true
【參考答案】 D
13.下面關於break語句的描述中,不正確的是( )
k可以用於迴圈體內
k語句可以在for迴圈語句中出現多次
k語句可以在switch語句中出現多次
k語句可用於if條件判斷語句內
【參考答案】 D
14.下面程式錯誤的是( )
① #include
② void main()
③ {
④ int *p=new int[1];
⑤ p=9;
⑥ cout<<*p<
⑦ delete[]p;
⑧ }
A.④
B.⑤
C.⑥
D.⑦
【參考答案】 B
15.不能作為過載函式的呼叫的依據是( )
A.引數個數
B.引數型別
C.函式型別
D.函式名稱
【參考答案】 D
16.在C++語言中,資料封裝要解決的問題是( )
A.資料的規範化
B.便於資料轉換
C.避免資料丟失
D.防止不同模組之間資料的非法訪問
【參考答案】 D
17.類的建構函式和解構函式描述正確的是()
A.建構函式可以過載,解構函式不能過載
B.建構函式不能過載,解構函式可以過載
C.建構函式可以過載,解構函式也可以過載
D.建構函式不能過載,解構函式也不能過載
【參考答案】 A
18.對靜態資料成員的描述中,正確的是( )
A.靜態資料成員是類的所有物件共享的資料
B.類的每個物件都有自己的靜態資料成員
C.類的不同物件有不同的靜態資料成員值
D.靜態資料成員不能通過類的物件呼叫
【參考答案】 A
19.可以用p.a的形式訪問派生類物件p的基類成員a,其中a是( )
A.私有繼承的公有成員
B.公有繼承的私有成員
C.公有繼承的保護成員
D.公有繼承的公有成員
【參考答案】 D
20.下面關於虛擬函式的描述,錯誤的是( )
A.在成員函式宣告的前面加上virtual修飾,就可把該函式宣告為虛擬函式
B.基類中說明了虛擬函式後,派生類中對應的函式也必須說明為虛擬函式
C.虛擬函式可以是另一個類的.友元函式,但不能是靜態成員函式
D.基類中說明的純虛擬函式在其任何派生類中都必須實現
【參考答案】 B