糯米文學吧

位置:首頁 > 計算機 > 計算機二級

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

一、選擇題

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)錯誤。

【考點鏈接】函數不能嵌套定義。