參考答案及分析
一、選擇題
(1)D
解析: 算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
(2)C
解析: 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)克服了順序存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來(lái)指示,不需要移動(dòng)數(shù)據(jù)元素。故鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)下的線性表便于插入和刪除操作。
(3)C
解析: 數(shù)據(jù)結(jié)構(gòu)概念一般包括3個(gè)方面的內(nèi)容,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)及數(shù)據(jù)上的運(yùn)算集合。數(shù)據(jù)的邏輯結(jié)構(gòu)只抽象的反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管它在計(jì)算機(jī)中的存儲(chǔ)表示形式。
(4)D
解析: 結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、模塊化及限制使用goto語(yǔ)句,總的來(lái)說(shuō)可使程序結(jié)構(gòu)良好、易讀、易理解、易維護(hù)。
(5)B
解析: 軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)和過(guò)程設(shè)計(jì)。其中結(jié)構(gòu)設(shè)計(jì)是定義軟件系統(tǒng)各主要部件之間的關(guān)系;數(shù)據(jù)設(shè)計(jì)是將分析時(shí)創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;接口設(shè)計(jì)是描述軟件內(nèi)部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信;過(guò)程設(shè)計(jì)則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程性描述。
(6)A
解析: 確認(rèn)測(cè)試的任務(wù)是驗(yàn)證軟件的功能和性能,以及其他特性是否滿足需求規(guī)格說(shuō)明中確定的各種需求;集成測(cè)試的主要目的是發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤。
(7)A
解析: 數(shù)據(jù)流圖包括4個(gè)方面,即加工(轉(zhuǎn)換)(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名)、存儲(chǔ)文件(數(shù)據(jù)源)(表示處理過(guò)程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體)。不包括選項(xiàng)中的控制流。
(8)C
解析: 數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有"集成"與"共享"的特點(diǎn),亦即是數(shù)據(jù)庫(kù)集中了各種應(yīng)用的數(shù)據(jù),進(jìn)行統(tǒng)一構(gòu)造與存儲(chǔ),而使它們可以被不同應(yīng)用程序所使用,故選項(xiàng)C)正確。
(9)B
解析: E-R模型即實(shí)體-聯(lián)系模型,是將現(xiàn)實(shí)世界的要求轉(zhuǎn)化成實(shí)體、聯(lián)系、屬性等幾個(gè)基本概念,以及它們之間的兩種聯(lián)接關(guān)系。數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)階段包括以下幾個(gè)過(guò)程:從E-R圖向關(guān)系模式轉(zhuǎn)換,邏輯模式規(guī)范化及調(diào)整、實(shí)現(xiàn)規(guī)范化和RDBMS,以及關(guān)系視圖設(shè)計(jì)。
(10)A
解析: 人工管理階段是在20世紀(jì)50年代中期以前出現(xiàn)的,數(shù)據(jù)不獨(dú)立,完全依賴于程序;文件系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)發(fā)展的初級(jí)階段,數(shù)據(jù)獨(dú)立性差;數(shù)據(jù)庫(kù)系統(tǒng)具有高度的物理獨(dú)立性和一定的邏輯獨(dú)立性。
(11)B
解析: 數(shù)據(jù)封裝就是數(shù)據(jù)抽象;友元可以訪問(wèn)類中的所有成員,是面向?qū)ο蟮囊粋(gè)重要特征,但是破壞了封裝性;重載和動(dòng)態(tài)聯(lián)編都是面向?qū)ο蟮牧硪粋(gè)特點(diǎn)--多態(tài)性。
(12)D
解析: ++,--運(yùn)算符不能用于常量表達(dá)式。
(13)B
解析: 表達(dá)式值的類型是由操作數(shù)的類型決定的,因?yàn)楸绢}的兩個(gè)數(shù)都是int型的,所以得出的結(jié)果也為int型,即去掉小數(shù)點(diǎn)后的部分,只取商的整數(shù)部分。
(14)A
解析: 單目的++運(yùn)算優(yōu)先級(jí)高于雙目的+運(yùn)算,不過(guò)++的結(jié)合性是自右向左的,而+是自左至右的,所以上面的兩個(gè)表達(dá)式都是先計(jì)算a+b的值之后,a再自加1。
(15)D
解析: 本題主要考察的是switch語(yǔ)句的使用,在第一個(gè)case處,因?yàn)闈M足條件所以輸出字符3,但這個(gè)分支沒(méi)有break語(yǔ)句終止,所以會(huì)繼續(xù)執(zhí)行下面的分支語(yǔ)句,即輸出字符2,這時(shí)出現(xiàn)break語(yǔ)句,結(jié)束整個(gè)語(yǔ)句,即輸出32。
(16)A
解析: 數(shù)組定義中的數(shù)字指的是數(shù)組的大小,而下標(biāo)是從0開(kāi)始的,所以題中數(shù)組的最后一個(gè)元素是num[9]。
(17)A
解析: 本題考察的是數(shù)組和指向數(shù)組的指針之間的關(guān)系,選項(xiàng)A)中x是被數(shù)組a的第一個(gè)元素賦值,其余的都是被數(shù)組a的第二個(gè)元素賦值。
(18)D
解析: 本題考察的是引用調(diào)用,因?yàn)楹瘮?shù)swap引用調(diào)用參數(shù)a,所以在swap函數(shù)中a的變化會(huì)改變主函數(shù)中a的值,即a自加1,但b的值并未改變。
(19)A
解析: 本題考察的是內(nèi)聯(lián)函數(shù)的使用,它的引入是為了解決程序中函數(shù)調(diào)用的效率問(wèn)題,在編譯時(shí),編譯器將程序中出現(xiàn)的內(nèi)聯(lián)函數(shù)的調(diào)用表達(dá)式用內(nèi)聯(lián)函數(shù)的函數(shù)體來(lái)替換。
(20)B
解析: 自動(dòng)變量是函數(shù)體或分程序內(nèi)定義的變量,它的作用域在所定義的函數(shù)體內(nèi)或分程序體內(nèi)。
(21)A
解析: 本題考察點(diǎn)為類成員的訪問(wèn)權(quán)限,public關(guān)鍵字修飾的類成員可以被類的對(duì)象通過(guò)成員操作符"."直接訪問(wèn),protected和private則不能,而static不能單獨(dú)修飾類的成員。
(22)B
解析: 對(duì)象屬于某個(gè)已知的類,是類的實(shí)例,對(duì)象之間通信實(shí)際上就是通過(guò)函數(shù)傳遞信息,封裝是把數(shù)據(jù)和操作結(jié)合在一起,繼承是對(duì)于類的方法的改變和補(bǔ)充,重載是多態(tài)性之一。
(23)C
解析: 析構(gòu)函數(shù)可以被函數(shù)調(diào)用,也可以系統(tǒng)調(diào)用:函數(shù)體內(nèi)的對(duì)象在函數(shù)結(jié)束時(shí)調(diào)用析構(gòu)函數(shù)和使用delete釋放對(duì)象所占有用的資源。
(24)C
解析: 拷貝初始化構(gòu)造函數(shù)的作用是用一個(gè)已知的對(duì)象來(lái)初始化一個(gè)被創(chuàng)建的同類的對(duì)象,該函數(shù)只有一個(gè)參數(shù),并且是對(duì)同類的某個(gè)對(duì)象的引用。
(25)D
解析: 本題考察的是靜態(tài)數(shù)據(jù)成員的使用,n為類A的靜態(tài)成員,即為類A的所有對(duì)象共有的成員,所以,當(dāng)對(duì)象b把n初始化為3時(shí),對(duì)象a的成員n的值也為3(這兩個(gè)n實(shí)際上是同一個(gè))。
(26)C
解析: 友元函數(shù)是獨(dú)立于當(dāng)前類的外部函數(shù),但它可以訪問(wèn)該類的所有對(duì)象的成員;拷貝構(gòu)造函數(shù)是使用已存在的對(duì)象初始化正在生成的對(duì)象時(shí)調(diào)用的成員函數(shù)。
(27)C
解析: 數(shù)據(jù)封裝就是數(shù)據(jù)抽象,即信息隱藏;而繼承是實(shí)現(xiàn)程序復(fù)用的基礎(chǔ)。
(28)B
解析: 派生類對(duì)象的數(shù)據(jù)結(jié)構(gòu)是由基類中說(shuō)明的數(shù)據(jù)成員和派生類中說(shuō)明的數(shù)據(jù)成員共同構(gòu)成,所以不能繼承基類的構(gòu)造函數(shù),必須重新定義。
(29)A
解析: 本題考察的是含有虛基類的繼承中構(gòu)造函數(shù)的調(diào)用順序,應(yīng)該先調(diào)用基類的構(gòu)造函數(shù),接著是按照派生類繼承列表的順序依次調(diào)用虛基類的構(gòu)造函數(shù),最后調(diào)用派生類自己的構(gòu)造函數(shù)。
(30)C
解析: 基類中說(shuō)明的虛函數(shù),在派生類中自然就是虛函數(shù),所以類B中func1()是虛函數(shù);而類A中的func2沒(méi)有被關(guān)鍵字virtual修飾,所以不是虛函數(shù)。
(31)C
解析: 例如"::"運(yùn)算符就不能被重載;通過(guò)重載可以創(chuàng)造新的運(yùn)算方式,但是不能臆造新的運(yùn)算符;定義的時(shí)候必須使用關(guān)鍵字operator,而調(diào)用時(shí)可直接使用運(yùn)算符。
(32)D
解析: 題干表示的是回車換行,選項(xiàng)A),B)和C)都表示回車換行。而D)是字符串的結(jié)尾標(biāo)志。
(33)C
解析: for循環(huán)執(zhí)行2次,所以第一次for循環(huán)為result=1*a[1]=4,第二次for循環(huán)為result=4*a[2]=20。
(34)C
解析: 應(yīng)該先做++運(yùn)算,然后進(jìn)行%運(yùn)算,最后比較不等式,實(shí)際上最后輸出的結(jié)果就是被3除,余數(shù)為2的不大于8的數(shù)。
(35)B
解析: 本題考察模板函數(shù)的應(yīng)用,表達(dá)式int(1.1)和int(4.2)是將1.1和4.2強(qiáng)制轉(zhuǎn)換為整型。
二、填空題
(1)非線性結(jié)構(gòu)
解析: 數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和非線性結(jié)構(gòu)兩大類。
(2)相鄰
解析: 常用的存儲(chǔ)表示方法有4種,順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)、索引存儲(chǔ)、散列存儲(chǔ)。其中,順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置也相鄰的存儲(chǔ)單元中。
(3)可重用性
解析: 本題考查了繼承的優(yōu)點(diǎn):相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。
(4)軟件開(kāi)發(fā)
解析: 基于軟件工程的目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開(kāi)發(fā)技術(shù)和軟件工程管理。軟件開(kāi)發(fā)技術(shù)包括:軟件開(kāi)發(fā)方法學(xué)、開(kāi)發(fā)過(guò)程、開(kāi)發(fā)工具和軟件工程環(huán)境,其主體內(nèi)容是軟件開(kāi)發(fā)方法學(xué)。軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué),以及軟件心理學(xué)等內(nèi)容。
(5)集合
解析: 在關(guān)系操作中,所有操作對(duì)象與操作結(jié)果都是關(guān)系。而關(guān)系定義為元數(shù)相同的元組的集合。因此,關(guān)系操作的特點(diǎn)是集合操作。
(6)多態(tài)性
解析: 面向?qū)ο笙到y(tǒng)包含了三個(gè)特征--封裝性、繼承性和多態(tài)性,這三個(gè)特征可以很好的實(shí)現(xiàn)數(shù)據(jù)抽象,進(jìn)行行為共享,完成進(jìn)化求解和描述一個(gè)系統(tǒng)的確定行為。
(7)true
解析: 本題考察的是對(duì)于邏輯運(yùn)算符號(hào)的理解,"||"運(yùn)算符的任何一邊取值為真,則整個(gè)運(yùn)算結(jié)果為真。
(8)5
解析: 因?yàn)閎的值為1,所以b&&a<5相當(dāng)于a<5,當(dāng)a=5時(shí)退出循環(huán),一共進(jìn)行5次循環(huán)。
(9)1 2 3 4 5
解析: 本題考察的是考生使用簡(jiǎn)單循環(huán)輸出數(shù)組元素的能力,因?yàn)榻Y(jié)束條件是i<5,而i初始值為0,所以只會(huì)輸出前5個(gè)元素。
(10)main
解析: 所有的C++語(yǔ)言程序都是從main函數(shù)開(kāi)始執(zhí)行,而普通函數(shù)的存在是為了簡(jiǎn)化main函數(shù)的復(fù)雜程度。
(11)拷貝構(gòu)造
解析: 本題考察的是拷貝構(gòu)造函數(shù)的定義,它是一種特殊的成員函數(shù),作用是使用一個(gè)已知的對(duì)象來(lái)初始化一個(gè)被創(chuàng)建的同類的對(duì)象,定義格式是類名::拷貝構(gòu)造函數(shù)名(類名 &引用名)。
(12)基類~派生類
解析: 本題主要考察的是派生類構(gòu)造函數(shù)的執(zhí)行順序,在C++語(yǔ)言中構(gòu)造函數(shù)的執(zhí)行順序是先基類后派生類,而析構(gòu)函數(shù)的執(zhí)行順序正好相反,是先調(diào)用派生類后調(diào)用基類。
(13)類
解析: 本題考察的是類模板的定義,C++語(yǔ)言中模板分為兩種:類模板和函數(shù)模板,類模板只能用于類型參數(shù),函數(shù)模板可以重載。
(14)*****hello
解析: 本題考察的是C++語(yǔ)言的流輸出操作,cout中包括的函數(shù)fill()和width()分別實(shí)現(xiàn)填充和設(shè)定顯示長(zhǎng)度的功能。
該資料來(lái)自互聯(lián)網(wǎng) 請(qǐng)勿用作商業(yè)用途
相關(guān)推薦:
2012年下半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間及入口匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |