- 相關推薦
2015年9月全國計算機二級C++預測題答案及解析
一、選擇題
(1)B
解析: 利用前序和中序遍歷的方法可以確定二叉樹的結構,具體步驟如下:① 前序遍歷的第一個結點A為樹的根結點;② 中序遍歷中A的左邊的結點為A的左子樹,A右邊的結點為A的右子樹;③ 再分別對A的左右子樹進行上述兩步處理,直到每個結點都找到正確的位置。
(2)A
解析: 樹是一個或多個結點組成的有限集合,其中一個特定的結點稱為根,其余結點分為若干個不相交的集合。每個集合同時又是一棵樹。樹有且只有1個根結點。
(3)B
解析: 由棧"后進先出"的特點可知:A)中e1不可能比e2先出,C)中e3不可能比e4先出,且e1不可能比e2先出,D)中棧是先進后出的,所以不可能是任意順序。B)中出棧過程如圖所示:
(4)D
解析: 濫用goto 語句將使程序流程無規(guī)律,可讀性差,因此A)不選;注解行有利于對程序的理解,不應減少或取消,B)也不選;程序的長短要依照實際情況而論,而不是越短越好,C)也不選。
(5)D
解析: 程序設計語言是用于書寫計算機程序的語言,其基本成分有以下4種,數(shù)據(jù)成分:用來描述程序中的數(shù)據(jù)。運算成分:描述程序中所需的運算。控制成分:用來構造程序的邏輯控制結構。傳輸成分:定義數(shù)據(jù)傳輸成分,如輸入輸出語言。
(6)D
解析: 軟件需求規(guī)格說明書(SRS,Software Requirement Specification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個方面的作用:① 便于用戶、開發(fā)人員進行理解和交流;② 反映出用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據(jù);③ 作為確認測試和驗收的依據(jù)。
(7)D
解析: 軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項目的技術手段;工具支持軟件的開發(fā)、管理、文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理。
(8)A
解析: 選項A)正確,外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;選項B)不正確,全局數(shù)據(jù)視圖的描述稱為概念模式,即數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結構的描述;選項C)不正確,物理存儲數(shù)據(jù)視圖的描述稱為內(nèi)模式,即數(shù)據(jù)庫在物理存儲方面的描述;選項D)不正確,存儲模式即為內(nèi)模式。
(9)B
解析: 數(shù)據(jù)庫邏輯設計的主要工作是將E-R圖轉(zhuǎn)換成指定RDBMS中的關系模式。首先,從E-R圖到關系模式的轉(zhuǎn)換是比較直接的,實體與聯(lián)系都可以表示成關系,E-R圖中屬性也可以轉(zhuǎn)換成關系的屬性。實體集也可以轉(zhuǎn)換成關系。
(10)C
解析: 結構化查詢語言(Structured Query Language,簡稱SQL)是集數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制功能于一體的數(shù)據(jù)庫語言。
(11)A
解析: 在C++語言中,類和結構體有本質(zhì)區(qū)別,類中包含數(shù)據(jù)及操作函數(shù),而結構體只包含有數(shù)據(jù)。
(12)A
解析: 關鍵字是系統(tǒng)已預定義的單詞,在程序中有不同的用途,考生應該熟記。
(13)B
解析: 本題考察的是運算符的優(yōu)先級,應該先計算a+b的值為21,然后與c比較大小的值為0,根據(jù)"&&"的運算規(guī)則,整個表達式的值為0。
(14)D
解析: 本題主要考察C++語言的基本語法,選項A)中應該為m>n‖m (15)A
解析: 選項A)中i自減到1時就會執(zhí)行break語句跳出循環(huán),選項B)中i<10永遠成立不會跳出循環(huán),選項C)中第一次進入循環(huán)體后i>0永遠不會跳出循環(huán),選項D)中未給出結束循環(huán)的條件。
(16)D
解析: 本題考察的是break語句的使用,break可以結束switch語句和for循環(huán)語句,但是不能使用在條件判斷語句內(nèi)。
(17)D
解析: 本題考察的是數(shù)組的基本使用,數(shù)組還可以通過對應的指針調(diào)用傳遞參數(shù),其余選項的說法都是正確的。
(18)B
解析: 本題考察的是指針的使用,p是指向int型的指針,若想給它指向的元素賦值,應使用*符號,直接賦值相當于改變了原來p存儲的地址。
(19)C
解析: new是動態(tài)申請內(nèi)存空間時使用的關鍵字,不能作為函數(shù)的返回類型,選項A)為無返回值,選項B)為返回整型,選項D)為返回長整型。
(20)D
解析: 所謂重載函數(shù)是指同一個函數(shù)名可以對應多個函數(shù)的實現(xiàn),編譯器會根據(jù)參數(shù)個數(shù)、參數(shù)類型和函數(shù)返回值類型不同而自動調(diào)用相應的函數(shù)。
(21)D
解析: 本題考察的是遞歸函數(shù)的使用,題中遞歸函數(shù)的結束條件為n<1,遞推公式為f(n)=n+f(n-1),所以計算結果為5+4+3+2+1+1,最后一個1為n=0時的返回值。
(22)D
解析: 數(shù)據(jù)封裝為了防止不同模塊間數(shù)據(jù)的非法訪問及修改。
(23)A
解析: C++語言中規(guī)定在類體中不允許對所定義的數(shù)據(jù)成員進行初始化。
(24)A
解析: 一個類中只能定義一個析構函數(shù),否則會造成對同一對象的多次刪除;而構造函數(shù)可以根據(jù)不同的參數(shù)個數(shù)和類型進行多次重載。
(25)C
解析: 本題考察考生對拷貝構造函數(shù)的掌握。因為++運算是右結合的,所以在使用a對b賦值時,b的num變?yōu)?而a的num變?yōu)?(先賦值再自加)。
(26)A
解析: 靜態(tài)數(shù)據(jù)成員是類的所有對象中共享的成員,而不是某個對象的成員。
(27)D
解析: 本題考察的是友元類的定義:類A為類B的友元類,則類A的所有成員函數(shù)都是類B的友元函數(shù),但反之則不一定成立。
(28)D
解析: 只有公有繼承的公有成員才能被派生類的對象直接訪問,其他的情況都會因為訪問權限問題產(chǎn)生錯誤。
(29)A
解析: 本題考察的是在繼承中派生類的對象調(diào)用構造函數(shù)的順序,應該是先調(diào)用基類的構造函數(shù),然后是成員中的對象對應類的構造函數(shù),最后是派生類自己的構造函數(shù)。
(30)B
解析: 基類中說明的虛函數(shù),在派生類中自然就是虛函數(shù),對于純虛函數(shù)必須在后面繼承的派生類中給出具體的實現(xiàn);靜態(tài)成員函數(shù)不能進行動態(tài)聯(lián)編,所以虛函數(shù)不能是靜態(tài)的。
(31)A
解析: 類模板不能被重載,而函數(shù)模板可以,它們不能被未知的數(shù)據(jù)類型替換。
(32)A
解析: 本題考察的是文件流的操作,app表示追加方式打開文件(即將指針移至文件尾),binary表示以二進制方式打開文件。
(33)C
解析: 本題考察的是考生對引用的掌握,ref實際上就是變量num的別名,所以ref=ref+2時,num已經(jīng)變成了3。
(34)D
解析: 本題考察的是指針和引用,函數(shù)fun完成把x和y互換的操作。
(35)C
解析: 外部變量i實際上記錄的是調(diào)用構造函數(shù)的次數(shù)。
二、填空題
(1)存儲結構
解析: 數(shù)據(jù)的邏輯結構是指反映數(shù)據(jù)元素之間邏輯關系的數(shù)據(jù)結構;數(shù)據(jù)的存儲結構是指數(shù)據(jù)的邏輯結構在計算機存儲空間中的存放形式。在數(shù)據(jù)的存儲結構中,不僅要存放各數(shù)據(jù)元素的信息,還需要存放各數(shù)據(jù)元素之間的前后件關系的信息。
(2)繼承
解析: 類是面向?qū)ο笳Z言中必備的程序語言結構,用來實現(xiàn)抽象數(shù)據(jù)類型。類與類之間的繼承關系實現(xiàn)了類之間的共享屬性和操作,一個類可以在另一個已定義的類的基礎上定義,這樣使該類型繼承了其超類的屬性和方法,當然,也可以定義自己的屬性和方法。
(3)內(nèi)聚
解析: 內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結合的緊密程度的度量,內(nèi)聚是從功能角度來度量模塊內(nèi)的聯(lián)系;耦合性是模塊間互相連接的緊密程度的度量。
(4)一對多`1∶N
解析: 兩個實體集間的聯(lián)系實際上是實體集間的函數(shù)關系,這種函數(shù)關系可以有3種,即一對一(1∶1)的聯(lián)系、一對多(1∶N)或多對一(N∶1)的聯(lián)系和多對多(N∶N)的聯(lián)系。
(5)數(shù)據(jù)庫概念設計階段
解析: 數(shù)據(jù)庫設計分為以下6個設計階段:需求分析階段、概念設計階段、邏輯設計階段、物理設計階段、實施階段及數(shù)據(jù)庫運行和維護階段。
(6)編譯
解析: C++語言是以編譯方式實現(xiàn)的高級語言,C++語言程序的實現(xiàn),必須要使用某種C++語言的編譯器對程序進行編譯。
(7)2
解析: 因為運算符++和--都是右結合的且優(yōu)先級高于雙目運算符+,所以上式的運算順序為先a++,--b,再a+b,最后a自加1。
(8)4
解析: 本題考察的是考生分析簡單循環(huán)結構的能力。大體過程為第一次進入循環(huán),i變成7,num變?yōu)?,i變?yōu)?;第二次進入循環(huán),i變成5,num變?yōu)?,i變?yōu)?;第三次進入循環(huán),i變成3,num變?yōu)?,i變?yōu)?;第四次進入循環(huán),i變成1,num變?yōu)?,i變?yōu)?,循環(huán)結束。
(9)動態(tài)
解析: 本題考察的是對動態(tài)分配內(nèi)存的掌握,在C++語言中,使用關鍵字new和delete進行動態(tài)內(nèi)存申請和釋放。
(10)50
解析: 本題考察的是函數(shù)的默認參數(shù),如果一個函數(shù)中有多個參數(shù),則默認參數(shù)應從右至左逐個定義,所以題目中x使用參數(shù)5,y使用默認參數(shù)0。
(11)成員選擇運算符`.~成員訪問運算符`->
解析: 本題考察的是使用對象和對象指針訪問成員所使用的符號的不同,考生請注意它們的區(qū)別。
(12)運行時
解析: 本題考察的是多態(tài)的概念,多態(tài)性主要是指發(fā)出同樣的消息而被不同類型的對象接收時導致完全不同的行為,它一般分為編譯時的多態(tài)性和運行時的多態(tài)性,比如函數(shù)重載和虛函數(shù)。
(13)操作符個數(shù)
解析: 本題考察的是運算符重載的概念,用戶重新定義的運算符不改變原運算符的優(yōu)先性和結合性,也不改變運算符的語法結構,也就是說重載運算符不會產(chǎn)生新的運算符。
(14)cout<<′A′;
解析: 本題考察的是C++語言的流輸出操作。cout是C++語言定義好的輸出流對象,其中包括成員函數(shù)put(char c),其功能是輸出一個字符到屏幕,實際上C++語言中已經(jīng)重載了操作符"<<"作為流輸出操作符。
【9月全國計算機二級C++預測題答案及解析】相關文章:
2015下半年全國計算機二級C++預測題答案及解析05-02
計算機二級C++程序題及答案解析12-29
二級C++上機沖刺題及答案解析04-07
2015下半年計算機二級C++考試預測題答案及解析04-02
2015年9月全國計算機等級考試二級C++預測卷答案及解析03-30
2015年9月全國計算機二級C++預測題05-18
計算機二級《VFP》預測題與解析03-19