2015年9月全國計算機二級C++預測題答案及解析

來源:文萃谷 2.14W

  一、選擇題

2015年9月全國計算機二級C++預測題答案及解析

(1)B

解析: 利用前序和中序遍歷的方法可以確定二叉樹的結構,具體步驟如下:① 前序遍歷的第一個結點A為樹的根結點;② 中序遍歷中A的左邊的結點為A的左子樹,A右邊的結點為A的右子樹;③ 再分別對A的左右子樹進行上述兩步處理,直到每個結點都找到正確的位置。

(2)A

解析: 樹是一個或多個結點組成的有限集合,其中一個特定的結點稱為根,其餘結點分為若干個不相交的集合。每個集合同時又是一棵樹。樹有且只有1個根結點。

(3)B

解析: 由棧"後進先出"的特點可知:A)中e1不可能比e2先出,C)中e3不可能比e4先出,且e1不可能比e2先出,D)中棧是先進後出的,所以不可能是任意順序。B)中出棧過程如圖所示:

(4)D

解析: 濫用goto 語句將使程序流程無規律,可讀性差,因此A)不選;註解行有利於對程序的理解,不應減少或取消,B)也不選;程序的長短要依照實際情況而論,而不是越短越好,C)也不選。

(5)D

解析: 程序設計語言是用於書寫計算機程序的語言,其基本成分有以下4種,數據成分:用來描述程序中的數據。運算成分:描述程序中所需的運算。控制成分:用來構造程序的邏輯控制結構。傳輸成分:定義數據傳輸成分,如輸入輸出語言。

(6)D

解析: 軟件需求規格説明書(SRS,Software Requirement Specification)是需求分析階段的最後成果,是軟件開發中的重要文檔之一。它有以下幾個方面的作用:① 便於用户、開發人員進行理解和交流;② 反映出用户問題的結構,可以作為軟件開發工作的基礎和依據;③ 作為確認測試和驗收的依據。

(7)D

解析: 軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項目的技術手段;工具支持軟件的開發、管理、文檔生成;過程支持軟件開發的各個環節的控制、管理。

(8)A

解析: 選項A)正確,外模式是用户的數據視圖,也就是用户所見到的數據模式;選項B)不正確,全局數據視圖的描述稱為概念模式,即數據庫中全部數據的整體邏輯結構的描述;選項C)不正確,物理存儲數據視圖的描述稱為內模式,即數據庫在物理存儲方面的描述;選項D)不正確,存儲模式即為內模式。

(9)B

解析: 數據庫邏輯設計的主要工作是將E-R圖轉換成指定RDBMS中的關係模式。首先,從E-R圖到關係模式的轉換是比較直接的,實體與聯繫都可以表示成關係,E-R圖中屬性也可以轉換成關係的屬性。實體集也可以轉換成關係。

(10)C

解析: 結構化查詢語言(Structured Query Language,簡稱SQL)是集數據定義、數據操縱和數據控制功能於一體的數據庫語言。

(11)A

解析: 在C++語言中,類和結構體有本質區別,類中包含數據及操作函數,而結構體只包含有數據。

(12)A

解析: 關鍵字是系統已預定義的單詞,在程序中有不同的用途,考生應該熟記。

(13)B

解析: 本題考察的是運算符的優先級,應該先計算a+b的值為21,然後與c比較大小的值為0,根據"&&"的運算規則,整個表達式的值為0。

(14)D

解析: 本題主要考察C++語言的基本語法,選項A)中應該為m>n‖m  (15)A

解析: 選項A)中i自減到1時就會執行break語句跳出循環,選項B)中i<10永遠成立不會跳出循環,選項C)中第一次進入循環體後i>0永遠不會跳出循環,選項D)中未給出結束循環的條件。

(16)D

解析: 本題考察的是break語句的使用,break可以結束switch語句和for循環語句,但是不能使用在條件判斷語句內。

(17)D

解析: 本題考察的是數組的基本使用,數組還可以通過對應的指針調用傳遞參數,其餘選項的説法都是正確的。

(18)B

解析: 本題考察的是指針的使用,p是指向int型的指針,若想給它指向的元素賦值,應使用*符號,直接賦值相當於改變了原來p存儲的地址。

(19)C

解析: new是動態申請內存空間時使用的關鍵字,不能作為函數的返回類型,選項A)為無返回值,選項B)為返回整型,選項D)為返回長整型。

(20)D

解析: 所謂重載函數是指同一個函數名可以對應多個函數的實現,編譯器會根據參數個數、參數類型和函數返回值類型不同而自動調用相應的函數。

(21)D

解析: 本題考察的是遞歸函數的使用,題中遞歸函數的結束條件為n<1,遞推公式為f(n)=n+f(n-1),所以計算結果為5+4+3+2+1+1,最後一個1為n=0時的返回值。

(22)D

解析: 數據封裝為了防止不同模塊間數據的非法訪問及修改。

(23)A

解析: C++語言中規定在類體中不允許對所定義的數據成員進行初始化。

(24)A

解析: 一個類中只能定義一個析構函數,否則會造成對同一對象的多次刪除;而構造函數可以根據不同的參數個數和類型進行多次重載。

(25)C

解析: 本題考察考生對拷貝構造函數的掌握。因為++運算是右結合的,所以在使用a對b賦值時,b的num變為1而a的num變為2(先賦值再自加)。

熱門標籤