當前位置:才華齋>計算機>計算機二級>

2015下半年全國計算機二級C++考試考前練習題答案及解析

計算機二級 閱讀(2.58W)

  一、選擇題

2015下半年全國計算機二級C++考試考前練習題答案及解析

(1)C

【命題目的】考查考生對資料結構分類的理解。

【解題要點】根據資料結構中各資料元素之間前後件關係的複雜程式,一般將資料結構分為兩大類:線性結構和非線性結構。線性結構是指滿足以下兩個條件的非空的資料結構:一是有且只有一個根結點,二是每一個結點最多有一個前件,也最多有一個後件。如是一個數據結構不是線性結構,則稱為非線性結構。

【考點連結】資料結構的各種分類方法及標準。

(2)B

【命題目的】本題考查二叉樹的基本概念及其基本性質。

【解題要點】按照題目的要求可得到滿足條件的二叉樹,如下圖所示:

故該二叉樹中總的結點個數為13。

(3)D

【命題目的】要求考生對幾種排序方法的實現機制有充分的理解。

【解題要點】快速排序的基本思想是,通過一趟排序將待排序記錄分割成獨立的兩部分,其中一部分記錄的關鍵字均比另一部分記錄的關鍵字小,再分別對這兩部分記錄繼續進行排序,以達到整個序列有序;插入排序的基本操作是指將無序序列中的各元素依次插入到已經有序的線性表中,從而得到一個新的序列;選擇排序的基本思想是:掃描整個線性表,從中選出最小的元素,將它交換到表的最前面(這是它應有的位置),然後對剩下的子表採用同樣的方法,直到表空為止;歸併排序是將兩個或兩個以上的有序表組合成一個新的有序表。

【考點連結】各種排序方法實現過程及實現機制。

(4)B

【命題目的】本題考查了結構化程式設計的原則。

【解題要點】結構化程式設計方法的主要原則可以概括為以下4個方面,即自頂向下、逐步求精、模組化及限制使用goto語句。

(5)B

【命題目的】掌握軟體除錯技術的方法。

【解題要點】除錯的關鍵在於推斷程式內部的錯誤位置及原因。主要的除錯方法有強行排錯法、回溯法和原因排除法。

【考點連結】軟體除錯的各種方法及各種方法的區別。

(6)B

【命題目的】本題考查了幾種常用的演算法描述工具及其基本知識。

【解題要點】常見的過程設計工具有:程式流程圖、N-S圖、PAD圖和HIPO圖。其中,為了避免流程圖在描述程式邏輯時的靈活性,提出了用方框圖來代替傳統的程式流程圖,通常也把這種圖稱為N-S圖。

【考點連結】其他常用演算法描述工具的概念。

(7)B

【命題目的】記憶軟體複雜性度量的引數。

【解題要點】定量度量方法是程式複雜程度經常使用的方法,把程式的複雜程度乘以適當引數即可估算出軟體中錯誤的數量以及軟體開發需要用的工作量,定量度量的結果可以用來比較兩個不同設計或兩個不同演算法的優劣,程式的定量的複雜程度可作為模組規模的精確限度,因而軟體複雜性度量的引數包括規模。

【考點連結】軟體複雜性度量的方法及各種度量引數的作用。

(8)B

【命題目的】本題考查資料庫系統的基礎知識 -- 資料庫系統的組成部分。

【解題要點】資料庫系統(Database System,簡稱DBS)由如下幾部分組成,即資料庫、資料庫管理系統、資料庫管理員、硬體和軟體。

(9)B

【命題目的】考查對資料庫系統各方面之間的關係。

【解題要點】資料庫管理系統是對資料庫進行管理和對資料庫進行操作的管理系統,它是建立在作業系統基礎之上的,位於作業系統和使用者之間的一層資料管理軟體,負責對資料庫的資料進行統一的管理和控制,它是實現資料庫和管理資料庫的核心。

【考點連結】資料庫系統各方面之間的關係及相互作用。

(10)B

【命題目的】本題主要考查了資料庫概念設計中,檢視設計的基本概念。

【解題要點】檢視設計一般有3種設計次序,它們分別是自頂向下、自底向上和由內向外,它們又為檢視設計提供了具體的操作方法,設計者可根據實際情況靈活掌握,可以單獨使用也可混合使用。

【考點連結】資料庫概念設計的過程:首先選擇區域性應用,再進行區域性檢視設計,最後對區域性檢視進行整合得到概念模式。

(11)D

【命題目的】C++語言關鍵字的概念。

【解題要點】關鍵字是C++語言中預先定義並實現一定功能的一類單詞,它不是由使用者定義的,它是一種功能性單詞。

【考點連結】注意關鍵字不能用做使用者識別符號。

(12)B

【命題目的】關於C++語言中函式的基本概念。

【解題要點】C++語言中函式在被呼叫以前必須先被宣告,主函式是程式的入口函式,使用者定義的函式是可以被重複呼叫的,C++語言中面向物件程式設計的基本組成單元是類。

【考點連結】主函式可以放在程式中的任何位置。

(13)A

【命題目的】C++語言運算子的使用。

【解題要點】C++語言規定:取餘運算子的運算物件必須是整型,複合運算子"%="中包含%運算,它的運算物件也必須是整型。

(14)D

【命題目的】考查C++語言中的轉義字元。

【解題要點】在C++語言中退格符表示為b退格。

【考點連結】其他轉義字元的意義:n表示回車換行,t表示橫向跳到下一製表位置,v表示豎向跳格,r表示回車,f表示走紙換頁,表示反斜線符,a表示鳴鈴,

ddd1~3位表示八進位制數所代表的字元,xhh1~2位表示十六進位制數所代表的字元。

(15)D

【命題目的】關於C++語言中邏輯運算子的考查。

【解題要點】在C++語言中,邏輯運算子有4個,它們分別是!(邏輯非)、||(邏輯或)、&&(邏輯與)、^(異或)。在位運算裡面還有&(位與)、|(位或)的運算。本題考查邏輯與運算子的用法,在語句x=(a&&b)&&(c<′B′);中,先判斷a&&b條件,邏輯與條件的兩邊都要保證為1,即a和b都成立,當然c<′B′是成立的,顯然,該表示式的值為1。

(16)B

【命題目的】考查C++語言中while語句的應用

【解題要點】該題目應該根據迴圈體第一次和最後一次執行時的輸出結果來決定哪一項是正確的。第一次進入迴圈時,n的值是9,迴圈體內,先經過n--運算,n的值變為8,所以第一次的輸出值是8,由此可以排除選項A)和D)。由迴圈條件n>6可以知道,最後一次迴圈開始時,n的值應該為7,所以最後一次執行迴圈體時輸出為6,由此可以排除C)。

【考點連結】while與do-while的區別。

(17)A

【命題目的】本題考查對指標陣列的掌握。

【解題要點】指標陣列的定義、賦初值、陣列元素的引用與賦值等操作和一般陣列的處理方法基本相同。需要注意指標陣列是指標型別的,對其元素所賦的值必須是地址值。其格式是"儲存型別資料型別*指標陣列名1[長度1]={初值1},功能是定義指向"資料型別"變數或陣列的指標型陣列,同時給指標陣列元素賦初值。這些指標變數具有指定的"儲存型別"。本題中指標*p指向陣列a,表示式*(p+3)+=4的含義是*(p+3)= *(p+3)+4,而*(p+3)在陣列中指向的值為9,最後輸出的結果為9+4=13。

【考點連結】一個語句的結束要有分號。

(18)D

【命題目的】C++語言中字串的賦值。

【解題要點】C++語言中操作一個字串常量的方法有:①把字串常量存放在一個字元陣列之中;②用字元指標指向字串, 然後通過字元指標來訪問字串存貯區域。當字串常量在表示式中出現時, 根據陣列的型別轉換規則, 它被轉換成字元指標。本題D)項中錯誤的關鍵是對陣列初始化時,可以在變數定義時整體賦初值,但不能在賦值語句中整體賦值。

(19)C

【命題目的】資料型別的預設轉換。

【解題要點】本題中,先將x轉換為浮點型再與3.8相加,得到結果與5.0相除。最後將得到的結果去掉小數位化成整型資料賦給y。另外,值得注意的是,整型、實型、字元型資料間可以混合運算。在進行運算時,不同型別的資料先轉換成同一型別,然後再進行運算。

【錯解分析】如果認為執行y=(x+3.8)/5.0後y的值為1是錯誤的,此時y的值為0。

【考點連結】x為int型,將1.2賦值給x時,x的值為1。

(20)B

【命題目的】本題考查了函式的遞迴呼叫的應用。

【解題要點】在main函式中,對f(1)和f(2)的值進行了累加。過程如下:

f(1)=1

f(2)=f(1)+1=2

最後,j的值為1+2=3。

【考點連結】函式的遞迴呼叫需要有一個結束的條件。