2017年3月計算機二級《C++》鞏固試題及答案

《C++》是計算機二級考試科目之一,為幫助考生們複習好這部分內容,以下是本站小編搜尋整理的一份2017年3月計算機二級《C++》鞏固試題及答案,供參考練習,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢業生考試網!

2017年3月計算機二級《C++》鞏固試題及答案

1). 下列敘述中正確的是( )

A.迴圈佇列有隊頭和隊尾兩個指標,因此,迴圈佇列是非線性結構

B.在迴圈佇列中,只需要隊頭指標就能反映佇列中元素的動態變化情況

C.在迴圈佇列中,只需要隊尾指標就能反映佇列中元素的動態變化情況

D.迴圈佇列中元素的個數是由隊頭指標和隊尾指標共同決定

正確答案:D

答案解析:迴圈佇列有隊頭和隊尾兩個指標,但是迴圈佇列仍是線性結構的,所以A錯誤;在迴圈佇列中只需要隊頭指標與隊尾兩個指標來共同反映佇列中元素的動態變化情況,所以B與C錯誤。

2). C++語言本身沒有定義IO操作,但I/O操作包含在C++實現中。C++標準庫iostream提供了基本的I/O類。I/O操作分別由兩個類istream和( )提供。

eam

ream

eam

正確答案:C

答案解析:本題考查的是C++標準庫iostream提供的基本I/O類。istream提供了向流中插入資料的有關操作;ostream提供了從流中提取資料的有關操作。

3). 軟體按功能可以分為應用軟體、系統軟體和支撐軟體(或工具軟體)。下列屬於應用軟體的是( )。

A.編譯程式

B.作業系統

C.教務管理系統

D.彙編程式

正確答案:C

答案解析:編譯程式和彙編程式屬於開發工具;作業系統屬於系統軟體;教務管理系統屬於應用軟體。

4). 迴圈連結串列的主要優點是( )

A.不再需要頭指標了

B.從表中任一結點出發都能訪問到整個連結串列

C.在進行插入、刪除運算時,能更好的保證連結串列不斷開

D.已知某個結點的位置後,能夠容易的找到它的直接前件

正確答案:B

5). 下列關於this指標的描述中,正確的是( )。

A.類的成員函式都有this指標

B.類的友元函式都有this指標

C.任何與類相關的函式都有this指標

D.類的非靜態成員函式都有this指標

正確答案:D

答案解析:類的非靜態成員都是有this指標的。可以通過obj非靜態成員訪問。

6). 若有定義語句″d0uble x[5]={1.0,2.0,3.0,4.0,5.0),*p-x″,則錯誤引用x陣列元素的是( )。

A.*p

B.x[5]

C.*(p+1)

D.*x

正確答案:B

答案解析:選項B中x[5]陣列下標越界,陣列的下標是從0開始的。

7). 用連結串列表示線性表的優點是( )

A.便於隨機存取

B.花費的儲存空間較順序儲存少

C.便於插入和刪除操作

D.資料元素的物理順序與邏輯順序相同

正確答案:C

8). 面向物件的設計方法與傳統的面向過程的方法有本質不同,它的基本原理是( )。

A.模擬現實世界中不同事物之間的聯絡

B.強調模擬現實世界中的演算法而不強調概念

C.使用現實世界的概念抽象地思考問題從而自然地解決問題

D.鼓勵開發者在軟體開發的絕大部分中都用實際領域的概念去思考

正確答案:C

答案解析:面向物件設計通過對人類認識客觀世界及事物發展過程的抽象,建立了規範化的分析設計方法,由此帶來軟體模組化特色突出、可讀性好、易維護等一系列優點。

9). 資料庫系統的核心是

A.資料庫

B.資料庫管理系統

C.模擬模型

D.軟體工程

正確答案:B

答案解析:資料庫管理系統(Database Management System,簡稱DBMS)是資料庫的機構,它是一種系統軟體,負責資料庫中的`資料組織、資料操縱、資料維護、控制及保護和資料服務等,資料庫管理系統是資料庫系統的核心。

10). 下面屬於黑盒測試方法的是( )

A.語句覆蓋

B.邏輯覆蓋

C.邊界值分析

D.路徑覆蓋

正確答案:C

答案解析:黑盒測試不關心程式內部的邏輯,只是根據程式的功能說明來設計測試用例。在使用黑盒測試法時,手頭只需要有程式功能說明就可以了。黑盒測試法分等價類劃分法、邊界值分析法和錯誤推測法,答案為C。而A、B、D均為白盒測試方法。

11). 在C++程式中,如果要求通過函式來實現一種簡單的功能,並且要求儘可能加快程式執行速度,則應該選用( )。

A.行內函數

B.過載函式

C.遞迴呼叫

D.巢狀呼叫

正確答案:A

答案解析:本題考查的是行內函數的相關知識點。C++引入行內函數是用它來代替C語言中的預處理巨集函式,行內函數在呼叫時,是將表示式用行內函數體來替換,這樣會加快程式的執行速度。

12). 假定MyClass為一個類,則執行MyClass a,b(2),*p;語句時,自動呼叫該類建構函式( )次。

A.2

B.3

C.4

D.5

正確答案:A

答案解析:C++在建立一個物件時,會呼叫類的建構函式。執行MyClass a b,(2),*p;建立了兩個物件a、b和指標p,在建立物件a和b會呼叫建構函式,而建立指標p時,由於p本身不是物件,所以不呼叫類的建構函式。

13). 在C++程式中,如果要求通過函式來實現一種簡單的功能,並且要求儘可能加快程式執行速度,則應該選用( )。

A.行內函數

B.過載函式

C.遞迴呼叫

D.巢狀呼叫

正確答案:A

答案解析:本題考查的是行內函數的相關知識點。C++引入行內函數是用它來代替C語言中的預處理巨集函式,行內函數在呼叫時,是將表示式用行內函數體來替換,這樣會加快程式的執行速度。

14). 某二叉樹共有12個結點,其中葉子結點只有1個。則該二叉樹的深度為(根結點在第1層)( )

A.3

B.6

C.8

D.12

正確答案:D

答案解析:二叉樹中,度為0的節點數等於度為2的節點數加1,即n2=n0-1,葉子節點即度為0,n0=1,則n2=0,總節點數為12=n0+n1+n2=1+n1+0,則度為1的節點數n1=11,故深度為12,選D。

15). 以下定義陣列中錯誤的是( )

a[10];

a[2][20];

a[20][];

a[];

正確答案:C

16). 下述關於資料庫系統的敘述中,正確的是( )。

A.資料庫系統減少了資料冗餘

B.資料庫系統避免了一切冗餘

C.資料庫系統中資料的一致性是指資料型別一致

D.資料庫系統比檔案系統能管理更多的資料

正確答案:A

答案解析:資料庫系統會減少資料冗餘,但不可能避免一切冗餘。