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

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

計算機二級 閱讀(2.07W)

  一、選擇題

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

(1)D【解析】在程式設計過程中,一個很重要的環節是首先確定實現各種功能的演算法,並且用某種工 具將它精確地表達出來。流程圖是其中的工具之一。因此,程式設計的過程應是先畫出流程圖,然 後根據流程圖編制出程式。因此,選項A中的說法是錯誤的。 程式中的註釋是為了提高程式的可讀性。使程式易於理解、易於維護,註釋必須在編制程式的同時加 入。因此,選項B和C中的說法也都是錯誤的。

(2)D【解析】演算法的空間複雜度,一般是指執行這個演算法所需要的記憶體空間,它包括演算法程式所佔的 空間、輸入的初始資料所佔的儲存空間以及演算法執行過程中所需要的額外空間。因此,選項A中的 說法是錯誤的。 雖然演算法的計算工作量(即時間複雜度)是問題規模的函式,但它是與資料的儲存結構有密切的關 系。因此,選項B中的說法也是錯誤的。 一個數據結構中的各資料元素在計算機儲存空間中的位置關係與邏輯關係有可能是不同的。因此, 選項C中的說法也是錯誤的。D則是正確的。

(3)A【解析】棧是按照“先進後出“(F1Lo-First In Last Out)或“後進先出”(LIFO一Last IN First Out)的原則組織資料的,因此,棧也被稱為“先進後出”表或“後進先出”表。因此,棧具有記憶作用。

(4)A【解析】按照二叉樹後序遍歷的方法:在訪問根結點、遍歷左子樹與遍歷右子樹這三者中,首先 遍歷左子樹,然後遍歷右子樹,最後訪問根結點;並且,在遍歷左、右子樹時,仍然先遍歷左子樹,然後 遍歷右子樹,最後訪問根結點。對本題中的二叉樹進行後序遍歷的結果應是ZBTYCPXA.

(5)A【解析】在長度為n的有序線性表中進行二分查詢,需要的比較次數為log2n。

(6)D【解析】在結構化分析方法中,資料字典的作用是描述系統中所用到的全部資料和檔案的有關 資訊。

(7)A【解析】維護是軟體生命週期的最後一個階段,也是持續時間最長、付出代價最大的階段。軟 件工程學的目的就在於提高軟體的可維護性,同時也要設法降低維護的代價。 軟體維護通常有以下四類: ①為糾正使用中出現的錯誤而進行的改正性維護; ②為適應環境變化而進行的適應性維護; ③為改進原有軟體而進行的完善性維護; ④為將來的可維護和可靠而進行的預防性維護。 軟體維護不僅包括程式程式碼的維護,還包括文件的維護。文件可以分為使用者文件和系統文件兩類。 但無論是哪類文件,都必須與程式程式碼同時維護。只有與程式程式碼完全一致的文件才有意義和價值。 由此可知,本題中選項B、C、D中的說法都是錯誤的。

(8)C【解析】在關係模型的資料語言中.一般除了運用常規的集合運算(並、交、差、笛卡爾積等)外, 還定義了一些專門的關係運算,如投影、選擇、連線等運算。前者是將關係(即二維表)看成是元組的 集合,這些運算主要是從二維表的行的方向來進行的;後者主要是從二維表的列的方向來進行運算。 因此,選項A與B中的說法都是錯誤的,而選項C中的說法是正確的。

(9)B【解析】顯然,關係表T是關係表R與S的並,即T=RUS。

(10)D【解析】顯然,在資料庫系統階段,資料獨立性最高。

(11)C【解析】注意:VC編譯器分配給整數的記憶體是4位元組。

(12)c【解析】本題考察for迴圈的三個表示式的用法及其執行順序,本題中for迴圈的第三個表達 式完成變數自增,以控制for迴圈的執行次數。

(13)A【解析】C++語言規定在使用scanf輸入時可以用作資料分隔符的有空格,回車和Tab鍵。 使用者如果要從鍵盤輸入空格字元,則需要使用其他的輸人方式。

(14)D【解析】邏輯表示式的值輸出結果是數字的形式。c++規定.邏輯假用數字O表示,而邏輯 真則用非零表示。注意:在C++中,如果邏輯表示式的值是非零,則可以認為是真。VC編譯器在 編譯輸出時將邏輯真輸出為l。

(15)A【解析】本題考察混合表示式的展開。

(16)B【解析】本題考察巨集定義的使用,巨集在使用是如同函式一樣,但卻是在編譯時展開。而函式卻是 在執行時進行計算的。

(17)B【解析】選項A可以排除,原因是類的成員函式的定義必須用域作用符::進行限定;選項C的 限定位置不對,函式的型別應在最前面。根據上下文可以指導,setx為單參成員函式,在定義時也 必須指定引數。因此選項D也可以排除,正確答案為B。

(18)D【解析】本題考察const修飾符的含義及其修飾不同物件的規則。常物件既能被常物件呼叫, 也能被一般物件呼叫,一旦const修飾了一個物件.則物件的所有資料成員都無法更新。

(19)D【解析】建構函式和解構函式一樣,是類的特殊的成員函式。其特殊之處在於,建構函式可以 有多個版本以實現不同的初始化方式,不能指定形參和函式型別,這些都是系統預設完成。

(20)D【解析】派生類和基類之間的關係比較重要,派生類不僅可以定義同名的成員變數,還可以調 用或過載基類的同名函式,這是類的多型性的基礎。

(21)B【解析】純虛擬函式一般提供派生類進行繼承的參考,是多型性的重要保證,一個具有純虛擬函式 的類稱為抽象類,抽象類可以具有其他類的特點.但不能例項化,其主要目的是作為派生類的基類 存在,處於類層次的高層。

(22)C【解析】建構函式包括預設建構函式和拷貝建構函式等,解構函式和建構函式~樣屬於類的特 殊的成員函式。而友元函式則是為了增加類的訪問靈活行而允許其他類的成員函式或全域性函式訪 問類的內部變數或成員函式的一種機制,其缺點是破壞了類的封裝性。

(23)A【解析】c++語言中為了簡化繼承關係,規定多重繼承中可訪問性規則同單繼承規則。

(24)A【解析】本題考察const修飾符的作用。注意:const位置不同,其修飾的部分也是不同的。本 題中const修飾的是ptr所指的物件本身,所以,ptr是可以重新指向新的物件,而pt,一>a則無法 被更新。

(25)A【解析】本題考察引用的'定義既使用。引用是C++中新引入的概念,其使用方法同變數,而 其本質同指針,具有指標的靈活性。引用必須用變數進行賦值,不能用常量或常數。

(26)C【解析】可以說類來源於結構體,兩者有相似之處。但類的功能更強大一些,不僅增加了操作, 還能夠隱藏和包含其成員變數或成員函式。

(27)L:【解析】輸出流物件包括基本的輸出裝置,如顯示器,記憶體和檔案,而輸入流物件則包括鍵盤, 檔案以及其他輸入裝置。

(28)C【解析】本題考察cln流物件的幾種成員函式get,getline的使用規則。流提取符>>在提取 字元時,遇到C++規定的分隔符如空格,回車和’Fab鍵時自動分割.故本題正確答案為C。

(29)D【解析】本題考察cin流物件的幾種成員函式get,gedine,read及流提取符>>的使用規則。

(30)D【解析】c++中沒有規定檔案開啟時的隱含開啟方式,因此考生在寫程式是必須指定開啟方 式,否則將出現錯誤。

(31)B【解析】常資料成員不能背更新。因此可以排除選項C和D。常資料成員所包含的值不能被更 新,所以必須被初始化,如果初始化則常資料成員裡的隨機值是沒有實際意義的。

(32)A【解析】類的建構函式的作用就是在類例項化物件時,即物件還沒有生成時完成一些初始化 的工作。此時,解構函式和靜態成員函式都還沒有建立,而友元函式是類外部的函式,根本無法完 成類的例項化工作。

(33)A【解析】如果過載了賦值運算子後,物件之間是可以賦值的,物件如C++中其他內建的資料 型別一樣,可以作為函式引數、陣列元素,其他物件的成員存在。

(34)C【解析】 同上題。

(35)A【解析】是否是過載函式,需要給編譯器提供足夠的資訊判斷。其主要的依據是函式的名字, 引數的型別,函式的返回值型別。

  二、填空題

(1)【l】儲存結構【解析】資料結構分為邏輯結構與儲存結構,迴圈佇列屬於儲存結構。 因此,本題的正確答案為儲存結構。

(2)【2】n(n一1)/2 【解析】在最壞情況下,氣泡排序所需要的比較次數為n(n一1)/2。

(3)【3】420【解析】一般二叉樹有一個性質:在任意一棵二叉樹中,度為O的結點(即葉子結點)總是 比度為2的結點多一個。 在根據完全二叉樹的定義,在一棵完全二叉樹中,最多有1個度為1的結點。 綜合以上兩點可以得到如下結論: 沒一棵完全二叉樹具有n個結點。如果n為偶數,則在該二叉樹中有n/2個葉子結點以及n/2—1個度為2的結點.還有1個是度為1的結點;如果n為奇數.則在該二叉樹中有[n/2]+1個葉子結點 以及[n/2]個度為2的結點.沒有度為l的結點。 在本題中,完全二又樹共有839個結點.839是奇數,因此.在該二叉樹中有420個葉子結點以及419個度為2的結點.沒有度為l的結點。

(4)【4】格式化模型【解析】資料模型分為格式化模型與非格式化模型,層次模型與網狀模型屬於格 式化模型。

(5)【5】關係 【解析】在關係模型中,把資料看成一個二維表,每一個二維表稱為一個關係。

(6)【6】C【解析】本題考察強制型別轉化,char()在這裡作為一個強制型別轉化函式存在,將整數轉 化為字元。

(7)【7】比較兩個整數a和b的大小,若a>b則返回l,若a等於b,則返回O,否則返回一1。

(8)【8】a>O&&b>O&&c>O&&a+b>c&&b+c)a&&c+a>b

【解析】本題考察考生將實際問題轉換為邏輯表示式的能力。根據三角形的基本定理 “兩邊和大於第三邊”可窮舉出其表示式。

(9)【9】i=3 【解析】本題考察考生的for語句和if語句綜合使用能力。本題的情況適用於希望在 滿足指定值時停止迴圈的情況。

(10)【lO】不能是表示式【解析】引用是變數的別名,其實質是變數的地址。return在返回值時,如果 其後為表示式,則系統為該表示式生成一個臨時變數用於存放該表示式的結果,函式執行完畢之後 該變數被系統回收,因此.返回的該變數的地址對呼叫函式來說已經沒有意義了。

(11)【11】防止對類物件自己給自己賦值【解析】 防止物件給自己賦值,這是一種自毀行為.這種行為 如果不加以判斷,可能造成無意識的破壞。

(12)【12】return(strcmp(a,b)

(13)【13】修改本物件的值【解析】本題巧妙的使用this指標來完成類的不同例項進行的修改自身數 據成員的操作。

(14)【14】a=lO,this一>a=5【解析】本題考察在類的成員函式定義中,如果出現類的資料成員和成 員函式的區域性變數同名的情況下,如何正確引用合適的變數或資料成員。本題巧妙的採用了this

指標完成這種標識。

(15)【15】Derived=O Sample=9【解析】本題考察派生類和基類的建構函式,解構函式的執行順序。