- 相關推薦
2015年9月計算機二級C++筆試全真模擬題答案及解析
一、選擇題
(1)B【解析】線性表肯定是線性結構。二又樹是非線性結構;線性鏈表是線性結構;棧與隊列是特殊的線性表,也是線性結構;線性表是線性結構。
(2)A【解析】這是考查概念,空二叉樹中所含最少的結點數是O個。
(3)C【解析】只能死記公式。
(4)I)【解析】考查知識點,直接選擇D。
(5)A【解析】封裝是面向對象方法中的一種信息隱蔽技術。
(6)B【解析】在需求分析階段中.要求能準確地確定軟件系統必須做什么和必須具備哪些功能。正確答案為B。
(7)C【解析】 在數據流圖中,用標有名字的箭頭來表示數據流。
(8)C【解析】C和【)兩者的描述列象一樣,結果必然在這兩者之中。D太絕對.所以C正確。
(9)B【解析】A和B是互相矛盾的,答案必然是這兩者之一。在關系模型的數據語言中,常規的集合運算(并、交、差、笛卡爾積等).是將關系(即二維表)看成是元組的集合,這些運算主要是從二維表的行的方向來進行的;投影、選擇、連接等運算主要是從二維表的列的方向來進行運算。正確答案是B。
(10)D【解析】數據獨立性是指物理獨立性和邏輯獨立性。物理獨立性是指由于數據的存儲結構與邏輯結構之間由系統提供映象,使得當數據的存儲結構改變時,其邏輯結構可以不變,因此,基于邏輯結構的應用程序不必修改。邏輯獨立性是指由于數據的局部邏輯結構與總體邏輯結構之間也由系統提供映象,使得當總體邏輯結構改變時,其局部邏輯結構可以不變,從而根據局部邏輯結構編寫的應用程序也可以不必修改。由此可知,選項A、B和C中的說法都是錯誤的。正確答案是D。
(11)A【解析】構成C語言的基本單位是函數,函數構成了程序;函數之間可以調用或被調用;main函數在前的時候,其他函數需要在main函數前進行聲明。以便于編譯器為main函數所調用的子函數分配資源。
(12)C【解析】本題考查實型常數的指數表示法.可以肯定的是指數不能為小數即必須為整數,故排除A。由于符號E前面必須有數字,故B也是錯誤的。D在指數符號后面沒有數字,是錯誤的。答案為C。
(13)C【解析】C++規定else總是與之前未配對的最近的if進行配對.這樣可以避免二義性,也便于編譯器分析。(14)B【解析】本題考查宏定義的功能,可以把它看成一個函數,直接代人參數,可計算出結果為34,故選B。
(15)A【解析】本題考查在include中,采用不同的符號,如<>或””,編譯器搜索方式的不同。
(16)D【解析】本題考查數學表達式的掌握,首先應轉換為弧度,然后作為COS函數的參數·求絕對值,最后是開方函數。考生需要掌握的是常用的數學函數。
(17)B【解析】本題考查逗號表達式的運算特點。逗號表達式是所有表達式中優先級最低的,從左到右結合,其求解過程是:將逗號表達式各表達式按從左到右的順序依次求值,并將最右邊的表達式結果作為整個逗號表達式的結果。這里考生要注意的是,第二個表達式執行完后,a的值并沒有發生變化,依然是15,所以在執行a+5的時候,結果是20,而不是65。有的考生可能誤選A。正確答案應是B。
(18)B【解析】本題非常簡單,考查C++中基本的輸出語句,注意不要與c語言的輸出控制字符混淆。
(19)A【解析】本題主要考查switch語句中,break語句的作用。每個case語句后面如果沒有break語句,則程序的執行流程將發生變化,即順序執行各個case語句。這種情況一般不符合程序員的設計思路,但也可以用這種特性完成特殊控制。
(20)C【解析】本題考查考生對for循環中三個表達式的執行順序及使用方法。首先執行第一個表達式,然后根據第二個表達式判斷是否成立,如果成立則執行循環體,然后執行第三個表達式,隨后再去判斷第二個表達式。根據這個順序,可以很容易的判斷出,循環體只執行了一次。
(21)B【解析】注意到n一一的運算順序,知道第一次輸出的應是8,據此就可以很快排除A和D。然后判斷循環幾次結束,由于當n一6時,while的條件判斷已經不成立了,直接跳過循環體結束程序了。故當n=9,8,7時執行了循環體,故答案為B。
(22)A【解析】本題考查C++當中函數的默認返回類型.這種類型與函數內部的局部變量的類型沒有關系。如果不小心處理函數返回類型,可能造成數據丟失。本題答案為A。
(23)B【解析】本題考查同名變量的作用域大小。考生應掌握.同名局部變量在函數內部將屏蔽全局同名變量,因此,main函數內部使用的局部變量a和b,即s和7,答案為B。
(24)A【解析】本題考查結構體的基本知識。因為有了typedef.故可以省略SWUCI關鍵詞而直接使用STD名稱。結構體數組中的元素在賦值時要求用大括號包含,故答案為A。
(25)B【解析】本題考查聯合這種特殊的數據結構的基本知識。聯合的本質在于聯合的成員共享同一片連續的內存單元。本題中由于整型變量占兩個字節,字符型變量占一個字節,而整型變量的一部分沒有被賦值.故將輸出隨機值。本題答案為B。
(26)C【解析】本題考查邏輯表達式及自增運算符的聯合使用?忌⒁獗绢}里面隱藏的考點:&&和||在左側表達式為真或假時,將不再進行該邏輯操作符右側表達式的運算.即j++本身為非零,故k++不再執行。如對表達式a&&b&&c,實際執行情況是當a非O時,再判斷b,a、b均非O。再判斷c。而對表達式a||b||c,若a為非O.不必判斷b和c,結果一定為l。
(27)B【解析】本題考查邏輯表達式的結合特性,即左結合性。對于表達式a>b>c,首先判斷a>b為真,結果為1,然后判斷l>c,為假,故轉去判斷c—l>=d是否成立,成立,結果為l,再判斷1。=1,結果為真,因此,執行d+l,答案為B。
(28)A【解析】本題考查C++中引入的新類型:引用。引用表示變量的別名,使用方式同變量·效果同指針。引用不能用常數進行賦值,引用的類型必須一致.引用在使用之前必須初始化。
(29)D【解析】數組和指針的關系非常密切,因為數組名稱單獨使用是表示數組的首地址c故可用的表示可能是a[i]。p[i],*(p+i),同樣,&a[i]表示地址,因此*&a[i]等同于a[i]。本題答案為D。
(30)D【解析】本題考查構造函數的基本知識。構造函數名字與類名相同;可以重載;不需要參數;不需要指定返回類型等。本題答案為D。
(31)B【解析】友元的作用在于提高程序的運行效率,但是,它破壞了類的封裝性和隱藏性,使得非成員函數可以訪問類的私有成員。容易混淆是B,只有在類中聲明了某個函數是自己的友元函數之后.該友元函數才能夠訪問本類的私有成員,而不是任何類的任何成員都可以訪問。故答案為B。
(32)C【解析】本題考查C++中流操作符的操作規則,即分割符。首先根據字符不需要加引號可以排除選項A和B,而D用回車作分割符,但卻在look和20之間缺少一個回車符,故據此可選出正確答案為C。
(33)B【解析】本題要考查的實際是字符數組,用于向函數傳遞參數,屬于指針或引用傳遞方式。要注意的是考生不要被名稱所迷惑,即根據A和D是相同類別的,故可以排除。對C來說,也屬于指針傳遞方式,而B不僅不屬于指針傳遞,而且還沒有限定數組大小,編譯器在編譯時就會產生錯誤。
(34)C【解析】遞歸函數的兩個重要條件是要有結束和遞歸表達式。選項D無法結束,排除之。根據這兩個條件可以進行判斷出答案為C。
(35)B【解析】 p為c的引用,即兩者實際上是一個指針,故p指向b后,c自然也指向b,故答案為B。
二、填空題
(1)【l】對象【解析】注意不要誤以為是類,實體是指對象。
(2)【2】消息【解析】這是概念題,通過發送消息實現。
(3)【3】二維表【解析】在關系模型中,把數據看成一個二維表,每一個二維表稱為一個關系。即關系模型是用表格數據來表示實體本身及其相互之間的聯系。
(4)【4】黑盒【解析】黑盒測試方法只是根據程序功能導出測試用例,完全不考慮程序的內部結構和內部特征。
(5)【5】一對多【解析】“項目主管”與實體集“項目”的聯系屬于一對多的聯系。
(6)【6】XYZxyz【解析】注意for的循環體為空語句.其第二個表達式為一個賦值語句而不是一個邏輯表達式語句。因此,for循環的作用實際上是將str2的字符逐個賦值給strl中的對應位置。
(7)【7】10【解析】本題考查全局變量的使用。全局變量被系統默認初始化為O,故在執行a=a+suma();語句時,首先執行SUnla函數.將a的值改變為5,該函數的返回值也是5,故最后a的值被賦值為10。
(8)【8】intTest::val=200:【解析】類的靜態成員變量必須要進行初始化才能使用.初始化時需要用域限定符::指明該變量所屬的類名。
(9)【9】100【解析】本題比較簡單,考查考生基本的類的定義.構造函數以及對象數組的概念。
(10)【10】intn【解析】本題考查函數模板的定義,注意第三個參數不需要改變類型.僅僅用于給定循環體的上界,為正整數,故可直接用Int來限定。
(11)【11】worker,peasant【解析】分析本題的for循環體內的語句可知,pl和p2將放置最大和最小的字符串,這里的比較是以第一個字符值為基準的。
(12)【12】數據類型不匹配【解析】派生類中的成員函數隱藏了基類的同名函數,而參數lO又無法隱式轉換為char類型參數。
(13)【13】4004 100l 【解析】本題考查靜態成員變量在不同對象間的共享現象。無論哪個對象修改了其靜態變量的值.其他對象再訪問該變量時已經發生了變化。
(14)【14】deleteelems; 【解析】注意.用new動態申請的內存在使用完成后一定要用delete釋放。
(15)【15】returnt1.area+12.area; 【解析】符號重載時往往采用的方法是對對象中的每個成員分別處理,封裝之后體現出對象參與運算的現象。
【9月計算機二級C++筆試全真模擬題答案及解析】相關文章:
計算機二級C++模擬題及答案05-12
計算機二級C++模擬題及解析201609-28
計算機二級C++程序題及答案解析10-25
2017年9月全國計算機二級考試C++筆試模擬題及答案08-22
2017計算機二級C++模擬題及答案06-22