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

  一、選擇題

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

(1)B

解析: 循環鏈表就是將單向鏈表中最後一個結點的指針指向頭結點,使整個鏈表構成一個環形,這樣的結構使得從表中的任一結點出發都能訪問到整個鏈表。

(2)B

解析: 棧操作原則上"後進先出",棧底至棧頂依次存放元素A、B、C、D,則表明這4個元素中D是最後進棧,B、C處於中間,A最早進棧。所以出棧時一定是先出D,再出C,最後出A。

(3)C

解析: 在有向圖中,若任意兩個頂點都連通,則稱該圖是強連通圖,這樣的有向圖的形狀是環狀,因而至少應有n條邊。

(4)C

解析: 結構化程序設計方法設計出的程序具有明顯的優點。其一,程序易於理解、使用和維護;其二,提交了編程工作的效率,降低了軟件開發成本。其中,人們更重視前者。

(5)C

解析: 模塊的獨立程序是評價設計好壞的重要度量標準。衡量軟件的模塊獨立性使用耦合性和內聚性兩個定性的度量標準。

(6)A

解析: 通常,將軟件產品從提出、實現、使用維護到停止使用退役的過程稱爲軟件生命週期。它可以分爲軟件定義、軟件開發及軟件運行維護3個階段。

(7)A

解析: 軟件的白盒測試方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。

(8)A

解析: 在文件系統中,相互獨立的記錄其內部結構的最簡單形式是等長同格式記錄的集合,易造成存儲空間大量浪費,不方便使用。而在數據庫系統中,數據是結構化的,這種結構化要求在描述數據時不僅描述數據本身,還要描述數據間的關係,這正是通過採用特定的數據模型來實現的。

(9)A

解析: 數據庫設計包括數據庫概念設計和數據庫邏輯設計兩個方面的設計內容。

(10)C

解析: 實體是客觀存在且可以相互區別的事物。實體可以是具體的對象,如一個學生,也可以是一個抽象的事件,如一次出門旅遊等。因此,實體既可以是有生命的事物,也可以是無生命的事物,但它必須是客觀存在的,而且可以相互區別。

(11)D

解析: C++語言標識符只能由數字,字母和下劃線組成,並且只能以字母和下劃線爲開頭。

(12)A

解析: C++中類定義的關鍵字是class。class不能大寫。

(13)C

解析: C++語言中逗號","也是一種運算符,稱爲逗號運算符。其功能是把兩個表達式連接起來組成一個表達式,稱爲逗號表達式。其一般形式爲:表達式1, 表達式2,其求值過程是分別求兩個表達式的值,並以表達式2的值作爲整個逗號表達式的值。逗號表達式的一般形式可以擴展爲:表達式1,表達式2,表達式3,…,表達式n,它的值爲表達式n的值。

(14)B

解析: 自減運算符位於變量之前時,先使變量的值減1,再進行運算。

(15)A

解析: while是先判斷條件再執行語句;do-while則是先執行一次語句再判斷條件,從而決定是否繼續再執行循環體中的語句,這正是二者主要區別。

(16)A

解析: 條件運算符要求有三個操作對象,它是C++語言中惟一的一個三目運算符。條件表達式的一般形式爲:表達式1?表達式2:表達式3,先求解表達式1,若爲非0(真)則求解表達式2,此時表達式2的.值就作爲整個條件表達式的值。若表達式1的值爲0(假),則求解表達式3,表達式3的值就是整個條件表達式的值。本題中用了兩次三目運算符。

(17)A

解析: a[i][j]元素之前有i行元素(每行有m個元素),在a[i][j]的前面還有j個元素,因此a[i][j]之前共有i*m+j個元素。

(18)C

解析: 對於字符串指針,其保留的是整個串的首地址,即爲第一個字符的起始地址,當該指針做算術運算時,就是該指針根據其類型向後移動相應的存儲空間。

(19)D

解析: C++語言中如果基類的成員是公有的,它被繼承後在子類中該成員可能是公有的,也可能不是,主要看繼承的權限。

(20)D

解析: 本題應該把swap()函數改成這樣:swap(int *p,int *q){int t; t=*p;*p=*q;*q=t;}執行程序時,先將a的地址傳遞給指針變量p,b的地址傳遞給指針變量q,然後將*p(a的值)的值傳遞給t,將*q(b的值)傳遞給*p,將t的值傳遞給*q,從而將a值和b值互換。

(21)D

解析: C++中的友元可以在一個類中的任何位置聲明,不一定必須在公有段,友元沒有自己的this指針,調用友元函數時必須在它的實參中給出要訪問的對象,並且一個類的成員函數是可以作爲另一個類的友元函數的。

(22)D

解析: C++語言中的抽象類就是類中至少有一個純虛函數的類,抽象類不能被實例化,繼承抽象類的類必須實現抽象類中的純虛函數。

(23)A

解析: C++語言中析構函數是在程序退出不用該類的對象時進行調用。