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

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

計算機二級 閱讀(2.34W)

一、選擇題

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

(1)B

【命題目的】本題主要考查對於棧的理解。

【解題要點】棧是限定在一端進行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最後插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先插入的元素,從而也是最後才能被刪除的元素,即棧是按照"先進後出"或"後進先出"的原則組織資料的。

【錯解分析】佇列組織資料的原則是"先進先出"或"後進後出"。

【考點連結】資料結構中,棧和佇列組織資料的原則。

(2)D

【命題目的】考查二叉樹的基礎知識。

【解題要點】具有3個結點的二叉樹具有以下的幾種形態:

【考點連結】二叉樹的結構及畫法。

(3)B

【命題目的】本題考查二叉樹的遍歷。

【解題要點】所謂二叉樹的前序遍歷(DLR)是指在訪問根結點、遍歷左子樹與遍歷右子樹這3者中,首先訪問根結點,然後遍歷左子樹,最後遍歷右子樹,並且,在遍歷左右子樹時,上述規則同樣適用,即"根-左-右"。故該二叉樹的前序遍歷結果為"ATBZXCYP"。

【考點連結】對於本題,若使用後序遍歷和中序遍歷的結果分別為"ZBTYCPXA"和"TZBACYXP"。

(4)D

【命題目的】本題考查考生的結構化程式設計的思想。

【考點連結】結構化的程式設計的目的。

(5)B

【命題目的】本題考查基本的程式控制結構。

【解題要點】採用結構化程式設計方法編寫程式,可使程式結構良好、易讀、易理解、易維護,它包括3種基本控制結構,分別是順序結構、選擇結構和重複結構(又稱迴圈結構)。

【考點連結】控制程式結構的方法和作用。

(6)C

【命題目的】本題考查了軟體測試的主要特徵。

【解題要點】軟體測試的目標是在精心控制的環境下執行程式,以發現程式中的錯誤,給出程式可靠性的鑑定。它有3個方面的重要特徵,即測試的挑剔性、完全測試的不可能性及測試的經濟性。其中沒有測試的可靠性這一說法。

【考點連結】軟體測試與軟體除錯的概念,以及相應的方法。

(7)A

【命題目的】考查需求分析的作用。

【解題要點】需求分析是軟體定義時期的最後一個階段,它的基本任務就是準確回答"系統必須做什麼"這個問題即軟體系統功能,需求分析的任務還不是確定系統怎樣完成它的工作,而僅僅是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰、具體的要求。

(8)B

【命題目的】本題考查了專門的關係運算的型別及其相關知識點。

【解題要點】關係代數中包括傳統的集合運算和專門的關係運算。經過選擇或投影運算得到的新關係的屬性個數最多不會超過原關係中的屬性個數。經過連線運算得到的新關係最多不少於原關係中屬性的個數。

(9)C

【命題目的】本題主要考查了用E-R圖表示實體之間聯絡的方法。

【解題要點】兩個實體之間的聯絡實際上是實體集間的函式關係,這種函式關係可以有下面幾種,即一對一的'聯絡、一對多(或多對一)的聯絡和多對多的聯絡;概念模型便於向各種模型轉換。由於概念模型不依賴於具體的資料庫管理系統,因此,容易向關係模型、網狀模型和層次模型等各種模型轉換。

(10)C

【命題目的】對資料庫各種特性必須有正確的理解。

【解題要點】資料庫的完整性是指資料的正確性和相容性(如學生的學號必須惟一,性別只能是女或男等),資料庫是否具備完整性關係到資料庫系統能否真實反映現實世界,因此維護資料庫的完整性是非常重要的。

【考點連結】資料庫的各種特性及表達形式。

(11)C

【命題目的】考查C++語言的關鍵字。

【解題要點】要熟練掌握C++語言中的關鍵字。

【錯解分析】include不是C++語言的關鍵字。

【考點連結】define也不是關鍵字。

(12)A

【命題目的】考查C++語言中的註釋問題。

【解題要點】C++語言中的註釋與C語言不同,C語言的註釋符號只有/* */,而C++在此基礎上又加上了//,此註釋用於單行註釋。

【考點連結】註釋不影響程式的執行。

(13)B

【命題目的】考查C++語言各種資料型別所佔的記憶體大小。

【解題要點】char型資料所佔記憶體的大小為1個位元組。

【錯解分析】int型資料佔記憶體的大小為4個,cong double,double佔記憶體的大小為8個位元組。

【考點連結】求位元組數用sizeof運算子。

(14)B

【命題目的】考查C++語言的正確賦值方法。

【解題要點】a=b=c+2實際上相當於a=(b=c+2),進而可分解為兩個表示式:b=c+2和a=b。

【錯解分析】選項A)中包含一個不合法的運算子":=";選項C)應改為(int)18.5%3;選項D)可理解為兩個表示式:a+7=c+b和a=a+7,其中第一個是錯的,因為C++語言規定賦值號的左邊只能是單個變數,不能是表示式或常量等。

【考點連結】C++語言賦值語句的運用。

(15)A

【命題目的】關於switch語句的考查。

【解題要點】該題目的關鍵是要搞清楚該程式執行了哪幾條語句。由於x的值等於1,所以switch結構中,程式從case 1後面的語句開始執行,又因為case 1後面的語句沒有以break結束,所以程式要繼續往下執行case 2後面的語句。所以,該程式共執行了這三條語句:a++;a++;b++;,因此,變數a和b最後的值應該為2和1。

【考點連結】break語句可以結束switch語句。

(16)C

【命題目的】考查C++語言中"‖"和"&&"運算子。

【解題要點】該題目的關鍵是要搞清楚"‖"和"&&"兩個邏輯運算子的運算功能。運算子"‖"和"&&"是雙目運算子,要求有兩個運算量。且規定邏輯與運算中,只有前面運算量的值為真時,才需要判別後面的值。只要前面運算量為假,就不必判別後的值。而邏輯或則為只要前面的運算量為真,就不必判別後的值;只有前為假,才判別後。本題中j++值為真,不進行k++的運算,所以k的值保持不變。

【考點連結】注意按位與和按位或的用法。

(17)D

【命題目的】陣列的定義範圍。

【解題要點】本題定義a為3行×4列的陣列,它可用的行下標最大為2,列下標最大為3。

【錯解分析】a[0][4]超過了陣列的範圍。

【考點連結】陣列的下標是從0開始的。

(18)D

【命題目的】對於運算子"&"和"*"的運用。

【解題要點】"&"是求址運算子,"*"是指標變數的說明符,說明該變數只能存放所定義型別變數的地址。本題中選項D)中的第一和第三項所表達的是同樣的意思。

【錯解分析】選項A)中a是一個整型變數。選項B)中&*a等價於a,*point是指標變數所指的內容。選項C)中也是同理。

【考點連結】在指標運算中,&和*的作用相互抵消。

(19)D

【命題目的】本題綜合考查函式的呼叫方式

【解題要點】函式的形參和實參具有以下特點:

①形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時, 即刻釋放所分的記憶體單元。因此,形參只有在函式內部有效。 函式呼叫結束返回主調函式後則不能再使用該形參變數。②實參可以是常量、變數、表示式、函式等, 無論實參是何種型別的量,在進行函式呼叫時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應通過預先用賦值,輸入等辦法使實參獲得確定值。③實參和形參在數量上,型別上,順序上應嚴格一致, 否則會發生"型別不匹配"的錯誤。④函式呼叫中發生的資料傳送是單向的。 即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函式呼叫過程中,形參的值發生改變,而實參中的值不會變化。

【錯解分析】函式呼叫不可以作為一個函式的形參。

【考點連結】函式可以巢狀呼叫,但是不可巢狀定義。

(20)A

【命題目的】考查三目運算子"?:"。

【解題要點】三目運算子的表示式為(表示式1)?(表示式2):(表示式3),運算過程是當(表示式1)的值為真時,求(表示式2)的值為整個表示式的值;如果(表示式1)的值為假,則求(表示式3)的值為整個表示式的值。題中,表示式x>12的結果為假,所以執行的語句是x-12,最終結果應該是0。

【考點連結】"?:"的優先順序高於"="運算子的優先順序。

(21)D

【命題目的】考查關於C++語言類的定義方法。

【解題要點】在C++語言中類定義中的建構函式是私有的,但是其卻呼叫了其中的公有變數,在例項化時會出現錯誤。

【考點連結】C++語言類的定義

(22)A

【命題目的】考查C++語言中類定義和它的概念。

【解題要點】C++語言的預設訪問許可權修飾符是private。

【錯解分析】C++語言中的建構函式是系統預設就有的,使用者可以自己定義也可以不定義,故選項B)錯誤;C++語言的類是可以巢狀定義的,故選項D)錯誤;C++語言中成員函式的實現部分也可以寫在類定義內,故選項C)錯誤。

【考點連結】函式不能巢狀定義。