全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++全真模擬試卷_第1頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++全真模擬試卷_第2頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++全真模擬試卷_第3頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++全真模擬試卷_第4頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C++全真模擬試卷_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、全真模擬試卷(1)一、選擇題在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分。(1) (1)棧和隊(duì)列的共同特點(diǎn)是A)都是先進(jìn)先出B)都是先進(jìn)后出C)只允許在端點(diǎn)處插入和刪除元素 D)沒(méi)有共同點(diǎn)(2) (2)已知二叉樹(shù)后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是A)acbedB)decabC)deabcD)cedba(3)(3)鏈表不具有的特點(diǎn)是A)不必事先估計(jì)存儲(chǔ)空間B)可隨機(jī)訪(fǎng)問(wèn)任一元素C)插入刪除不需要移動(dòng)元素D)所需空間與線(xiàn)性表長(zhǎng)度成正比(4) (4)結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是A)順序結(jié)構(gòu)

2、、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)B)分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)C)多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)D)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)(5)(5)為了提高測(cè)試的效率,應(yīng)該 A)隨機(jī)選取測(cè)試數(shù)據(jù)B)取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)C)在完成編碼以后制定軟件的測(cè)試計(jì)劃D)集中對(duì)付那些錯(cuò)誤群集的程序(6) (6)算法的時(shí)間復(fù)雜度是指A)執(zhí)行算法程序所需要的時(shí)間B)算法程序的長(zhǎng)度C)算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)D)算法程序中的指令條數(shù)(7) (7)軟件生命周期中所花費(fèi)用最多的階段是A)詳細(xì)設(shè)計(jì)B)軟件編碼C)軟件測(cè)試D)軟件維護(hù)(8) (8)數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS中用來(lái)定義模式、內(nèi)模式和外模式的語(yǔ)言為 A)CB

3、)BasicC)DDLD)DML(9) (9)下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是A)數(shù)據(jù)庫(kù)是一個(gè)DBF文件B)數(shù)據(jù)庫(kù)是一個(gè)關(guān)系C)數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D)數(shù)據(jù)庫(kù)是一組文件(10)(10)下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是A)數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過(guò)程B)數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變C)關(guān)系中的每一列稱(chēng)為元組,一個(gè)元組就是一個(gè)字段D)如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱(chēng)其為本關(guān)系的外關(guān)鍵字(11)(11)C+語(yǔ)言對(duì)C語(yǔ)言做了很多改進(jìn),C+語(yǔ)言相對(duì)于C語(yǔ)言的最根本的變化是A)增加了一些新的運(yùn)算符B)允許函數(shù)重載,并允

4、許設(shè)置缺省參數(shù)C)規(guī)定函數(shù)說(shuō)明符必須用原型D)引進(jìn)了類(lèi)和對(duì)象的概念(12)(12)下列哪個(gè)是C+語(yǔ)言的有效標(biāo)識(shí)符?A)_No1B)No.1C)12345D)int(13)(13)設(shè)有定義int x;float y;,則10+x+y值的數(shù)據(jù)類(lèi)型是A)intB)doubleC)floatD)不確定(14)(14)下列程序的執(zhí)行結(jié)果為#includevoid main() int a=3,b=0; int *p=&a; b=+a+; cout*p,bendl;A)3,4B)4,3C)3,4D)4,4(15)(15)下面程序的運(yùn)行結(jié)果為#includevoid main() for(int a=0,x

5、=0;!x&a=10;a+) a+; coutaendl;A)10B)11C)12D)0(16)(16)下列選項(xiàng),不正確的是A) for(int a=1;a=10;a+);B) int a=1; do a+; while(a=10)C)int a=1; while(a=10) a+; D) for(int a=1;a=10;a+)a+;(17)(17)下面關(guān)于數(shù)組的初始化正確的是A)char str=a,b,cB)char str2=a,b,cC)char str23=a,b,c,d,e,f D)char str()=a,b,c(18)(18)下列程序的輸出結(jié)果為#includevoid ma

6、in() char *a=hello,the,world; char *pa=a; pa+; cout*paendl;A)helloB)theC)worldD)hellotheworld(19)(19)決定C+語(yǔ)言中函數(shù)的返回值類(lèi)型的是A)return語(yǔ)句中的表達(dá)式類(lèi)型B)調(diào)用該函數(shù)時(shí)系統(tǒng)隨機(jī)產(chǎn)生的類(lèi)型C)調(diào)用該函數(shù)時(shí)的主調(diào)用函數(shù)類(lèi)型D)在定義該函數(shù)時(shí)所指定的數(shù)據(jù)類(lèi)型(20)(20)下列程序的輸出結(jié)果是#includeint min(int a,int b) if (ab)return a; else return b; return 0;void main() coutmin(1,min(2

7、,3)endl;A)0B)1C)2D)3(21)(21)下列程序的運(yùn)行結(jié)果為#include void print(double a) cout+a;void print(int a,int b) coutba;void main() print(1.2); cout ; print(3,4);A)1.234B)2.234C)1.243D)2.243(22)(22)對(duì)類(lèi)成員訪(fǎng)問(wèn)權(quán)限的控制,是通過(guò)設(shè)置成員的訪(fǎng)問(wèn)控制屬性實(shí)現(xiàn)的,下列不是訪(fǎng)問(wèn)控制屬性的是 A)公有類(lèi)型B)私有類(lèi)型C)保護(hù)類(lèi)型D)友元類(lèi)型(23)(23)在類(lèi)的定義中,用于為對(duì)象分配內(nèi)存空間,對(duì)類(lèi)的數(shù)據(jù)成員進(jìn)行初始化并執(zhí)行其他內(nèi)部管理操

8、作的函數(shù)是A)友元函數(shù)B)虛函數(shù)C)構(gòu)造函數(shù)D)析構(gòu)函數(shù)(24)(24)類(lèi)的析構(gòu)函數(shù)的作用是A)一般成員函數(shù)的初始化B)類(lèi)的初始化C)對(duì)象的初始化D)刪除類(lèi)創(chuàng)建的對(duì)象(25)(25)下列說(shuō)法正確的是A)內(nèi)聯(lián)函數(shù)在運(yùn)行時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方B)內(nèi)聯(lián)函數(shù)在編譯時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方C)類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體內(nèi)定義D)類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體外通過(guò)加關(guān)鍵字inline定義(26)(26)下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是 A)靜態(tài)數(shù)據(jù)成員可以在類(lèi)體內(nèi)進(jìn)行初始化 B)靜態(tài)數(shù)據(jù)成員不可以被類(lèi)的對(duì)象調(diào)用 C)靜態(tài)數(shù)據(jù)成員不能受private控制符的作用 D)

9、靜態(tài)數(shù)據(jù)成員可以直接用類(lèi)名調(diào)用(27)(27)下面對(duì)于友元函數(shù)描述正確的是 A)友元函數(shù)的實(shí)現(xiàn)必須在類(lèi)的內(nèi)部定義B)友元函數(shù)是類(lèi)的成員函數(shù)C)友元函數(shù)破壞了類(lèi)的封裝性和隱藏性D)友元函數(shù)不能訪(fǎng)問(wèn)類(lèi)的私有成員(28)(28)在公有派生情況下,有關(guān)派生類(lèi)對(duì)象和基類(lèi)對(duì)象的關(guān)系,下列敘述不正確的是A)派生類(lèi)的對(duì)象可以賦給基類(lèi)的對(duì)象B)派生類(lèi)的對(duì)象可以初始化基類(lèi)的引用C)派生類(lèi)的對(duì)象可以直接訪(fǎng)問(wèn)基類(lèi)中的成員D)派生類(lèi)的對(duì)象的地址可以賦給指向基類(lèi)的指針(29)(29)下面程序的運(yùn)行結(jié)果為#includeclass Apublic: A()cout1; A()cout2;class B:public Apu

10、blic: B()cout3; B()cout=C):D)/(33)(33)當(dāng)使用fstream流類(lèi)定義一個(gè)流對(duì)象并打開(kāi)一個(gè)磁盤(pán)文件時(shí),文件的隱含打開(kāi)方式為A)ios:inB)ios:out C)ios:in | ios:outD)以上都不對(duì)(34)(34)下列程序的運(yùn)行結(jié)果是 #includeclass Aint a;public:A()a=0; A(int aa) a=aa; couta+; ;void main() A x,y (2),z (3); coutendl;A)00B)23C)34D)25(35)(35)下面程序的輸出結(jié)果是#includeclass example int a

11、;public: example(int b)a=b+; void print()a=a+1; couta ; void print()constcout afloat-double。(14)B 解析: *p為所指對(duì)象a的值,語(yǔ)句b=+a+;等價(jià)于b=b+a;a=a+1;。(15)C 解析: 在進(jìn)入最后一次循環(huán)時(shí)a=10,在循環(huán)體內(nèi)執(zhí)行a+;后a=11,執(zhí)行完該次循環(huán)體計(jì)算for循環(huán)的增量部分后a=12小于10,循環(huán)結(jié)束。(16)B 解析: 本題考察的是基本循環(huán)語(yǔ)句的使用,選項(xiàng)A),C)和D)都為正確的形式,在選項(xiàng)B)中的while(a=10)后缺少結(jié)束符分號(hào);。(17)A 解析: 本題考察的

12、是字符數(shù)組的初始化。選項(xiàng)B)中用3個(gè)元素初始化大小為2的數(shù)組,越界了;選項(xiàng)C)中應(yīng)該是2行3列的數(shù)組,題中使用3行2列初始化;選項(xiàng)D)中數(shù)組合后應(yīng)用方括號(hào)。(18)B 解析: 本題主要考察的是指針數(shù)組和指向指針的指針之間的關(guān)系,其中a是指針數(shù)組,pa是指向指針數(shù)組行的指針,所以pa自加1相當(dāng)于指向下一行。(19)D 解析: C+語(yǔ)言中,在定義該函數(shù)時(shí)所指定的數(shù)據(jù)類(lèi)型決定函數(shù)的返回值類(lèi)型。(20)B 解析:本題考察的是函數(shù)的調(diào)用,第一次調(diào)用min(2,3),因?yàn)?3,所以返回值為2,第二次調(diào)用min(1,2),因?yàn)?*和?:。(33)D 解析: 使用fstream類(lèi)建立文件流必須定義打開(kāi)方式,否

13、則編譯器無(wú)法判斷該文件流是讀還是寫(xiě)。(34)B 解析: 本題考察的是對(duì)構(gòu)造函數(shù)的掌握,另外+運(yùn)算符是右結(jié)合的,所以在進(jìn)行輸出的時(shí)候都是先把原來(lái)的輸出后再自加1。(35)C 解析: +是右結(jié)合的,所以先賦值為3,最后輸出3+1;常成員函數(shù)只有常對(duì)象才能調(diào)用,所以輸出2。二、填空題(1)有窮性 解析: 算法是指解題方案的準(zhǔn)確而完整的描述。它有4個(gè)基本特征,分別是可行性、確定性、有窮性和擁有足夠的情報(bào)。(2)log2n 解析: 對(duì)于長(zhǎng)度為n的有序線(xiàn)性表,在最壞情況下,二分查找只需要比較log2n次,而順序查找需要比較n次。(3)對(duì)象 解析: 將屬性、操作相似的對(duì)象歸為類(lèi),也就是說(shuō),類(lèi)是具有共同屬性、

14、共同方法的對(duì)象的集合。(4)軟件生命周期 解析: 軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等活動(dòng)。(5)關(guān)系模型 解析: 數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶(hù)與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶(hù)與數(shù)據(jù)庫(kù)之間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。(6)函數(shù)類(lèi) 解析: 函數(shù)是程序功能實(shí)現(xiàn)的主要方式,是實(shí)現(xiàn)結(jié)構(gòu)化設(shè)計(jì)(將程序分成若干個(gè)函數(shù)實(shí)現(xiàn))的基本組成; 類(lèi)是一種用戶(hù)定義的類(lèi)型,是實(shí)現(xiàn)數(shù)據(jù)封裝和數(shù)據(jù)抽象的工具,是面向?qū)ο笤O(shè)計(jì)中的基本組成。(7)2

15、解析: 運(yùn)算符+的優(yōu)先級(jí)高于雙目運(yùn)算符/,所以括號(hào)中的運(yùn)算為2/2,最后的結(jié)果為2/2*2。 (8)選擇結(jié)構(gòu) 解析: 順序結(jié)構(gòu)(也叫連續(xù)結(jié)構(gòu))和循環(huán)結(jié)構(gòu)是經(jīng)常被使用的,不過(guò)選擇結(jié)構(gòu)(if和switch)也是一種重要的流程控制結(jié)構(gòu)。(9)改變 解析: 本題考察的是定義常量的關(guān)鍵字const,由const定義的變量的值不可以再改變,所以定義時(shí)必須進(jìn)行初始化。 (10)傳地址 解析: 本題考察的是傳值調(diào)用和傳址調(diào)用的區(qū)別-傳值調(diào)用只是進(jìn)行值的簡(jiǎn)單復(fù)制,返回之后不會(huì)改變?cè)瓉?lái)的值;而傳址調(diào)用是把參數(shù)的地址傳入,會(huì)改變?cè)瓉?lái)的值。 (11)ptr-SetNum(50); 解析: 本題考察的是考生使用對(duì)象指針

16、調(diào)用成員函數(shù)的能力,指針調(diào)用成員函數(shù)應(yīng)該使用符號(hào)-。(12)保護(hù)繼承 解析: 繼承性是面向?qū)ο蟪绦蛟O(shè)計(jì)中最重要的機(jī)制,用戶(hù)可以根據(jù)不同的需要選擇3種不同的繼承方式。(13)x+y 解析: 本題考察的是運(yùn)算符函數(shù)的調(diào)用,可以像一般函數(shù)那樣用函數(shù)名進(jìn)行調(diào)用,也可通過(guò)運(yùn)算符構(gòu)成表達(dá)式的形式進(jìn)行調(diào)用。 (14)類(lèi) 解析: 本題考察的是類(lèi)模板的使用方式,就是把類(lèi)模板的一般化定義實(shí)例化為一個(gè)真正的類(lèi)。全真模擬試卷(2)一、選擇題在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分。(1) (1)已知一棵二叉樹(shù)前序遍歷和中序遍歷分別為AB

17、DEGCFH和DBGEACHF,則該二叉樹(shù)的后序遍歷為A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG(2) (2)樹(shù)是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是A)有且只有1B)1或多于1C)0或1D)至少2(3) (3)如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D)任意順序(4) (4)在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是A)不限制goto語(yǔ)句的使用B)減少或取消注解行C)程序越短越好D)程序結(jié)構(gòu)應(yīng)有助于讀者理解(5) (5)程序設(shè)計(jì)語(yǔ)言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和A)對(duì)

18、象成分B)變量成分C)語(yǔ)句成分D)傳輸成分(6) (6)下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是A)便于用戶(hù)、開(kāi)發(fā)人員進(jìn)行理解和交流B)反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)C)作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)D)便于開(kāi)發(fā)人員進(jìn)行需求分析(7)(7)下列不屬于軟件工程的3個(gè)要素的是)工具)過(guò)程)方法)環(huán)境(8) (8)單個(gè)用戶(hù)使用的數(shù)據(jù)視圖的描述稱(chēng)為A)外模式B)概念模式C)內(nèi)模式D)存儲(chǔ)模式(9) (9)將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成A)屬性B)關(guān)系C)鍵D)域(10)(10)SQL語(yǔ)言又稱(chēng)為 A)結(jié)構(gòu)化定義語(yǔ)言B)結(jié)構(gòu)化控制語(yǔ)言C)結(jié)構(gòu)化查詢(xún)語(yǔ)言D)結(jié)構(gòu)化

19、操縱語(yǔ)言(11)(11)下面關(guān)于類(lèi)和對(duì)象的描述中,錯(cuò)誤的是A)類(lèi)就是C語(yǔ)言中的結(jié)構(gòu)體類(lèi)型,對(duì)象就是C語(yǔ)言中的結(jié)構(gòu)體變量B)類(lèi)和對(duì)象之間的關(guān)系是抽象和具體的關(guān)系C)對(duì)象是類(lèi)的實(shí)例,一個(gè)對(duì)象必須屬于一個(gè)已知的類(lèi)D)類(lèi)是具有共同行為的若干對(duì)象的統(tǒng)一描述體(12)(12)以下各選項(xiàng)組中,均是C+語(yǔ)言關(guān)鍵字的組是 A)public operator thisB)shod string static C)it while =D)private cout printf(13)(13)設(shè)int a=10,b=11,c=12;,表達(dá)式(a+b)n為true或mn&mn B)switch語(yǔ)句結(jié)構(gòu)中必須有defau

20、lt語(yǔ)句 C)if語(yǔ)句結(jié)構(gòu)中必須有else語(yǔ)句 D)如果至少有一個(gè)操作數(shù)為true,則包含|運(yùn)算符的表達(dá)式為true(15)(15)下列語(yǔ)句中不是死循環(huán)的是A)int i=10; while (1) i-; if(i=1)break; B)for(int i=1;i=0);D)int i=1; for(;)i=i+1;(16)(16)下面關(guān)于break語(yǔ)句的描述中,不正確的是A)break可以用于循環(huán)體內(nèi) B)break語(yǔ)句可以在for循環(huán)語(yǔ)句中出現(xiàn)多次C)break語(yǔ)句可以在switch語(yǔ)句中出現(xiàn)多次D)break語(yǔ)句可用于if條件判斷語(yǔ)句內(nèi)(17)(17)下面關(guān)于數(shù)組的描述錯(cuò)誤的是 A)在

21、C+語(yǔ)言中數(shù)組的名字就是指向該數(shù)組第一個(gè)元素的指針B)長(zhǎng)度為n的數(shù)組,下標(biāo)的范圍是0n-1C)數(shù)組的大小必須在編譯時(shí)確定D)數(shù)組只能通過(guò)值參數(shù)和引用參數(shù)兩種方式傳遞給函數(shù)(18)(18)下面程序錯(cuò)誤的語(yǔ)句是 #include void main() int *p=new int1; p=9; cout *pendl; delete p; A)B)C)D)(19)(19)下面的哪個(gè)選項(xiàng)不能作為函數(shù)的返回類(lèi)型?A)voidB)intC)newD)long(20)(20)不能作為重載函數(shù)的調(diào)用的依據(jù)是A)參數(shù)個(gè)數(shù)B)參數(shù)類(lèi)型C)函數(shù)類(lèi)型D)函數(shù)名稱(chēng)(21)(21)下列程序的輸出結(jié)果為 #includ

22、e int func(int n) if (n1)return 1; else return n+func(n-1); return 0;void main() coutfunc (5)endl;A)0B)10C)15D)16(22)(22)在C+語(yǔ)言中,數(shù)據(jù)封裝要解決的問(wèn)題是A)數(shù)據(jù)的規(guī)范化 B)便于數(shù)據(jù)轉(zhuǎn)換 C)避免數(shù)據(jù)丟失 D)防止不同模塊之間數(shù)據(jù)的非法訪(fǎng)問(wèn)(23)(24)(24)對(duì)類(lèi)的構(gòu)造函數(shù)和析構(gòu)函數(shù)描述正確的是A)構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)不能重載 B)構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)可以重載 C)構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)也可以重載 D)構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)也不能重載(25)(2

23、5)下面程序的運(yùn)行結(jié)果為#includeclass A int num;public: A(int i)num=i; A(A &a)num=a.num+; void print()coutnum;void main() A a (1),b(a); a.print(); b.print();A)11B)12C)21D)22(26)(26)下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是 A)靜態(tài)數(shù)據(jù)成員是類(lèi)的所有對(duì)象共享的數(shù)據(jù)B)類(lèi)的每個(gè)對(duì)象都有自己的靜態(tài)數(shù)據(jù)成員C)類(lèi)的不同對(duì)象有不同的靜態(tài)數(shù)據(jù)成員值D)靜態(tài)數(shù)據(jù)成員不能通過(guò)類(lèi)的對(duì)象調(diào)用(27)(27)如果類(lèi)A被說(shuō)明成類(lèi)B的友元,則A)類(lèi)A的成員即類(lèi)B的成員

24、B)類(lèi)B的成員即類(lèi)A的成員C)類(lèi)A的成員函數(shù)不得訪(fǎng)問(wèn)類(lèi)B的成員D)類(lèi)B不一定是類(lèi)A的友元(28)(28)可以用p.a的形式訪(fǎng)問(wèn)派生類(lèi)對(duì)象p的基類(lèi)成員a,其中a是A)私有繼承的公有成員B)公有繼承的私有成員C)公有繼承的保護(hù)成員D)公有繼承的公有成員 (29)(29)建立派生類(lèi)對(duì)象時(shí),3種構(gòu)造函數(shù)分別是a(基類(lèi)的構(gòu)造函數(shù))、b(成員對(duì)象的構(gòu)造函數(shù))、c(派生類(lèi)的構(gòu)造函數(shù))這3種構(gòu)造函數(shù)的調(diào)用順序?yàn)锳)abcB)acbC)cabD)cba(30)(30)下面關(guān)于虛函數(shù)的描述,錯(cuò)誤的是A)在成員函數(shù)聲明的前面加上virtual修飾,就可把該函數(shù)聲明為虛函數(shù)B)基類(lèi)中說(shuō)明了虛函數(shù)后,派生類(lèi)中對(duì)應(yīng)的函數(shù)

25、也必須說(shuō)明為虛函數(shù)C)虛函數(shù)可以是另一個(gè)類(lèi)的友元函數(shù),但不能是靜態(tài)成員函數(shù)D)基類(lèi)中說(shuō)明的純虛函數(shù)在其任何派生類(lèi)中都必須實(shí)現(xiàn) (31)(31)下面關(guān)于模板的描述,錯(cuò)誤的是A)函數(shù)模板和類(lèi)模板的參數(shù)可以是任意的數(shù)據(jù)類(lèi)型B)類(lèi)模板不能直接使用,必須先實(shí)例化為相應(yīng)的模板類(lèi),然后定義了模板類(lèi)的對(duì)象后才能使用C)函數(shù)模板不能直接使用,需要實(shí)例化為模板函數(shù)后才能使用D)類(lèi)模板的成員函數(shù)都是模板函數(shù)(32)(32)語(yǔ)句ofstream f(SALARY.DAT,ios:appios:binary);的功能是建立流對(duì)象f,試圖打開(kāi)文件SALARY.DAT并與之連接,并且A)若文件存在,將文件寫(xiě)指針定位于文件尾

26、;若文件不存在,建立一個(gè)新文件B)若文件存在,將其置為空文件;若文件不存在,打開(kāi)失敗C)若文件存在,將文件寫(xiě)指針定位于文件首;若文件不存在,建立一個(gè)新文件D)若文件存在,打開(kāi)失??;若文件不存在,建立一個(gè)新文件(33)(33)下面程序的運(yùn)行結(jié)果是 #include void main() int num=1; int &ref=num; ref=ref+2; cout num; num=num+3; cout refendl; A)13B)16C)36D)33(34)(34)下面程序的運(yùn)行結(jié)果是 #includevoid fun(int *a,int *b) int x=*a; *a=*b; *

27、b=x; cout*a*b ;void main() int x=1, y=2; fun(&x,&y); coutxyendl;A)1212B)1221C)2112D)2121(35)(35)下列程序的運(yùn)行結(jié)果為#includeint i=0;class Apublic: A()i+;void main() A a,b3,*c; c=b; coutiendl;A)2B)3C)4D)5二、填空題請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡序號(hào)的橫線(xiàn)上,答在試卷上不給分。(1) (1)數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線(xiàn)性鏈表屬于 【1】 。(2) (2)在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和操作的機(jī)制稱(chēng)為 【2】

28、 。(3) (3)耦合和內(nèi)聚是評(píng)價(jià)模塊獨(dú)立性的兩個(gè)主要標(biāo)準(zhǔn),其中 【3】 反映了模塊內(nèi)各成分之間的聯(lián)系。(4) (4)一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體項(xiàng)目主管與實(shí)體項(xiàng)目的聯(lián)系屬于 【4】 的聯(lián)系。(5) (5)數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、 【5】 、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。(6) (6)開(kāi)發(fā)一個(gè)C+語(yǔ)言程序的步驟通常包括編輯、 【6】 、鏈接、運(yùn)行和調(diào)試。 (7) (7)假設(shè)int a=1,b=2;則表達(dá)式a+-b的值為 【7】 。 (8)(8)下面程序的輸出結(jié)果為 【8】 。#includevoid main() i

29、nt num=0,i=8; do i-; num+; while(-i); coutnumendl;(9) (9)通過(guò)使用new和delete兩個(gè)運(yùn)算符進(jìn)行的分配為 【9】 存儲(chǔ)分配。(10)(10)下面程序的運(yùn)行結(jié)果為 【10】 。#include void fun(int x=0,int y=0) coutxnmn;選項(xiàng)B)中default語(yǔ)句可有可無(wú);選項(xiàng)C)中if可以單獨(dú)作為一條語(yǔ)句,不必須和else搭配。(15)A 解析: 選項(xiàng)A)中i自減到1時(shí)就會(huì)執(zhí)行break語(yǔ)句跳出循環(huán),選項(xiàng)B)中i0永遠(yuǎn)不會(huì)跳出循環(huán),選項(xiàng)D)中未給出結(jié)束循環(huán)的條件。(16)D 解析: 本題考察的是break語(yǔ)

30、句的使用,break可以結(jié)束switch語(yǔ)句和for循環(huán)語(yǔ)句,但是不能使用在條件判斷語(yǔ)句內(nèi)。(17)D 解析: 本題考察的是數(shù)組的基本使用,數(shù)組還可以通過(guò)對(duì)應(yīng)的指針調(diào)用傳遞參數(shù),其余選項(xiàng)的說(shuō)法都是正確的。(18)B 解析: 本題考察的是指針的使用,p是指向int型的指針,若想給它指向的元素賦值,應(yīng)使用*符號(hào),直接賦值相當(dāng)于改變了原來(lái)p存儲(chǔ)的地址。(19)C 解析: new是動(dòng)態(tài)申請(qǐng)內(nèi)存空間時(shí)使用的關(guān)鍵字,不能作為函數(shù)的返回類(lèi)型,選項(xiàng)A)為無(wú)返回值,選項(xiàng)B)為返回整型,選項(xiàng)D)為返回長(zhǎng)整型。(20)D 解析: 所謂重載函數(shù)是指同一個(gè)函數(shù)名可以對(duì)應(yīng)多個(gè)函數(shù)的實(shí)現(xiàn),編譯器會(huì)根據(jù)參數(shù)個(gè)數(shù)、參數(shù)類(lèi)型和函

31、數(shù)返回值類(lèi)型不同而自動(dòng)調(diào)用相應(yīng)的函數(shù)。(21)D 解析: 本題考察的是遞歸函數(shù)的使用,題中遞歸函數(shù)的結(jié)束條件為n 解析: 本題考察的是使用對(duì)象和對(duì)象指針訪(fǎng)問(wèn)成員所使用的符號(hào)的不同,考生請(qǐng)注意它們的區(qū)別。(12)運(yùn)行時(shí) 解析: 本題考察的是多態(tài)的概念,多態(tài)性主要是指發(fā)出同樣的消息而被不同類(lèi)型的對(duì)象接收時(shí)導(dǎo)致完全不同的行為,它一般分為編譯時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性,比如函數(shù)重載和虛函數(shù)。(13)操作符個(gè)數(shù) 解析: 本題考察的是運(yùn)算符重載的概念,用戶(hù)重新定義的運(yùn)算符不改變?cè)\(yùn)算符的優(yōu)先性和結(jié)合性,也不改變運(yùn)算符的語(yǔ)法結(jié)構(gòu),也就是說(shuō)重載運(yùn)算符不會(huì)產(chǎn)生新的運(yùn)算符。(14)coutA; 解析: 本題考察的

32、是C+語(yǔ)言的流輸出操作。cout是C+語(yǔ)言定義好的輸出流對(duì)象,其中包括成員函數(shù)put(char c),其功能是輸出一個(gè)字符到屏幕,實(shí)際上C+語(yǔ)言中已經(jīng)重載了操作符作為流輸出操作符。全真模擬試卷(3)一、選擇題在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分。(1) (1)算法的空間復(fù)雜度是指A)算法程序的長(zhǎng)度B)算法程序中的指令條數(shù)C)算法程序所占的存儲(chǔ)空間D)執(zhí)行過(guò)程中所需要的存儲(chǔ)空間(2) (2)用鏈表表示線(xiàn)性表的優(yōu)點(diǎn)是A)便于隨機(jī)存取B)花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C)便于插入和刪除操作D)數(shù)據(jù)元素的物理順序與邏輯順

33、序相同(3) (3)數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無(wú)關(guān)的是數(shù)據(jù)的A)存儲(chǔ)結(jié)構(gòu)B)物理結(jié)構(gòu)C)邏輯結(jié)構(gòu)D)物理和存儲(chǔ)結(jié)構(gòu)(4) (4)結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是 A)程序的規(guī)模B)程序的效率C)程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D)程序易讀性(5) (5)軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過(guò)程設(shè)計(jì),其中軟件的過(guò)程設(shè)計(jì)是指A)模塊間的關(guān)系B)系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程描述C)軟件層次結(jié)構(gòu)D)軟件開(kāi)發(fā)過(guò)程(6) (6)檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為)確認(rèn)測(cè)試)集成測(cè)試)驗(yàn)證測(cè)試)驗(yàn)收測(cè)試(7) (7)數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合

34、法圖符的是)控制流)加工)數(shù)據(jù)存儲(chǔ))源和潭(8) (8)應(yīng)用數(shù)據(jù)庫(kù)的主要目的是A)解決數(shù)據(jù)保密問(wèn)題B)解決數(shù)據(jù)完整性問(wèn)題C)解決數(shù)據(jù)共享問(wèn)題D)解決數(shù)據(jù)量大的問(wèn)題(9) (9)在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于A(yíng))需求分析階段B)邏輯設(shè)計(jì)階段C)概念設(shè)計(jì)階段D)物理設(shè)計(jì)階段(10)(10)在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是)數(shù)據(jù)庫(kù)系統(tǒng))文件系統(tǒng))人工管理)數(shù)據(jù)項(xiàng)管理(11)(11)下面關(guān)于C+語(yǔ)言的描述錯(cuò)誤的是A)C+語(yǔ)言支持?jǐn)?shù)據(jù)封裝B)C+語(yǔ)言中引入友元沒(méi)有破壞封裝性C)C+語(yǔ)言允許函數(shù)名和運(yùn)算符重載D

35、)C+語(yǔ)言支持動(dòng)態(tài)聯(lián)編(12)(12)設(shè)有定義int a=1;float f=12;char c=a;,則下列表示錯(cuò)誤的是A)+a;B)f-;C)c+;D)8+;(13)(13)下列程序的運(yùn)行結(jié)果為 #includevoid main() int a=2; int b=a+1; couta/bendl;A)0.66667B)0C)0.7D)0.66666666(14)(14)設(shè)int a=1,b=2;,則(a+)+b和a+b這兩個(gè)表達(dá)式的值分別為 A)3,3B)3,4C)4,3D)4,4(15)(15)下面程序的運(yùn)行結(jié)果為#includevoid main() char a=3; switch

36、(a) case 3: cout3; case 2: cout2; break; default:cout1; A)3B)321C)31D)32(16)(16)有如下數(shù)組聲明:int num10;,下標(biāo)值引用錯(cuò)誤的是 A)num10B)num5C)num3D)num0(17)(17)存在定義int a10,x,*pa;,若pa=&a0,下列的哪個(gè)選項(xiàng)和其他3個(gè)選項(xiàng)不是等價(jià)的?A)x=*pa;B)x=*(a+1);C)x=*(pa+1);D)x=a1;(18)(18)下面程序的運(yùn)行結(jié)果為#include void swap(int &a,int b) int temp; temp=a+; a=b

37、; b=temp;void main() int a=2,b=3; swap(a,b); couta,bendl;A)2,3B)3,2C)2,2D)3,3(19)(19)一個(gè)函數(shù)功能不太復(fù)雜但要求被頻繁調(diào)用,應(yīng)選用A)內(nèi)聯(lián)函數(shù)B)重載函數(shù)C)遞歸函數(shù)D)嵌套函數(shù)(20)(20)下面關(guān)于C+語(yǔ)言變量的敘述錯(cuò)誤的是A)C+語(yǔ)言中變量分為auto,static,extern和register四種存儲(chǔ)類(lèi)型B)自動(dòng)變量和外部變量的作用域?yàn)檎麄€(gè)程序C)內(nèi)部靜態(tài)變量的作用域是定義它的函數(shù)D)外部靜態(tài)變量的作用域是定義它的文件(21)(21)為了使類(lèi)中的某個(gè)成員不能被類(lèi)的對(duì)象通過(guò)成員操作符訪(fǎng)問(wèn),則不能把該成員

38、的訪(fǎng)問(wèn)權(quán)限定義為 A)publicB)protectedC)privateD)static(22)(22)在C+語(yǔ)言程序中,對(duì)象之間的相互通信通過(guò)A)繼承實(shí)現(xiàn)B)調(diào)用成員函數(shù)實(shí)現(xiàn)C)封裝實(shí)現(xiàn)D)函數(shù)重載實(shí)現(xiàn)(23)(23)類(lèi)的析構(gòu)函數(shù)是在什么時(shí)候調(diào)用的?A)類(lèi)創(chuàng)建時(shí)B)創(chuàng)建對(duì)象時(shí) C)刪除對(duì)象時(shí)D)不自動(dòng)調(diào)用(24)(24)通常拷貝構(gòu)造函數(shù)的參數(shù)是A)某個(gè)對(duì)象名B)某個(gè)對(duì)象的成員名C)某個(gè)對(duì)象的引用名D)某個(gè)對(duì)象的指針名(25)(25)下面程序的運(yùn)行結(jié)果為#includeclass A static int n;public: A()n=1; A(int num)n=num; void pri

39、nt()coutn;int A:n=2;void main() A a,b (3); a.print(); b.print(); coutendl;A)11B)13C)23D)33(26)(26)下列不是描述類(lèi)的成員函數(shù)的是A)構(gòu)造函數(shù)B)析構(gòu)函數(shù)C)友元函數(shù)D)拷貝構(gòu)造函數(shù)(27)(27)繼承機(jī)制的作用是A)信息隱藏B)數(shù)據(jù)封裝C)定義新類(lèi)D)數(shù)據(jù)抽象(28)(28)C+語(yǔ)言類(lèi)體系中,不能被派生類(lèi)繼承的有A)轉(zhuǎn)換函數(shù)B)構(gòu)造函數(shù)C)虛函數(shù)D)靜態(tài)成員函數(shù)(29)(29)下面程序的運(yùn)行結(jié)果是#includeclass baseprotected: int a;public: base()cou

40、t0;class base1:virtual basepublic: base1()cout1;class base2:virtual basepublic: base2()cout2;class derived:public base1,public base2public: derived()cout3;void main() derived obj; coutendl;A)0123B)3120C)0312D)3012(30)(30)對(duì)于類(lèi)定義 class A public: virtual void func1() void func2() ; class B:public A publ

41、ic: void func1()coutclass B func 1end1; virtual void func2()coutclass B func 2end1; ;下面正確的敘述是A) A:func2()和B:func1()都是虛函數(shù)B) A:func2()和B:func1()都不是虛函數(shù)C) B:func1()是虛函數(shù),而A:func2()不是虛函數(shù)D) B:func1()不是虛函數(shù),而A:func2()是虛函數(shù)(31)(31)下面關(guān)于運(yùn)算符重載的描述錯(cuò)誤的是A)運(yùn)算符重載不能改變操作數(shù)的個(gè)數(shù)、運(yùn)算符的優(yōu)先級(jí)、運(yùn)算符的結(jié)合性和運(yùn)算符的語(yǔ)法結(jié)構(gòu)B)不是所有的運(yùn)算符都可以進(jìn)行重載C)運(yùn)算符

42、函數(shù)的調(diào)用必須使用關(guān)鍵字operatorD)在C+語(yǔ)言中不可通過(guò)運(yùn)算符重載創(chuàng)造出新的運(yùn)算符(32)(32)與語(yǔ)句coutendl;不等價(jià)的是 A)coutn;B)cout12; C)coutxA;D)cout0;(33)(33)下面程序的運(yùn)行結(jié)果是#includeint fun(int a,int n) int result=1; for(int i=1;in;i+) result=result*ai; return result;void main() int a3=3,4,5; coutfun(a,3)endl;A)12B)15C)20D)60(34)(34)下面程序的運(yùn)行結(jié)果是#incl

43、ude void main() int i=1; while(i=8) if (+i%3!=2)continue; else couti; A)25B)36C)258D)369 (35)(35)下列程序的運(yùn)行結(jié)果為#includetemplateclass FF TT a1, a2, a3; public: FF(TT b1, TT b2, TT b3)a1=b1; a2=b2; a3=b3; TT Sum()return a1+a2+a3;void main() FF x(int(1.1),2,3),y(int(4.2),5,6); coutx.Sum() y.Sum()endl;A)6.1

44、 15.2B)6 15C)6 15.2D)6.1 15二、填空題請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡序號(hào)的橫線(xiàn)上,答在試卷上不給分。(1) (1)數(shù)據(jù)的邏輯結(jié)構(gòu)有線(xiàn)性結(jié)構(gòu)和 【1】 兩大類(lèi)。(2) (2)順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置 【2】 的存儲(chǔ)單元中。 (3) (3)一個(gè)類(lèi)可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的【3】 。(4) (4)軟件工程研究的內(nèi)容主要包括: 【4】 技術(shù)和軟件工程管理。(5) (5)關(guān)系操作的特點(diǎn)是 【5】 操作。(6) (6)C+中封裝性、繼承性和 【6】 是面向?qū)ο笏枷氲闹饕卣?。?) (7)下面程序的結(jié)果為【7】 。

45、#includevoid main() int a=1,b=2; bool c=1; if(ab)|c)couttrueendl; elsecoutfalseendl;(8) (8)下列for語(yǔ)句的循環(huán)次數(shù)為 【8】 。 for(int a=0,b=1;b&a5;a+); (9) (9)下面程序的輸出結(jié)果是 【9】 。#include void main() int a6=1,2,3,4,5,6; for(int i=0;i5;i+) coutai ; coutendl;(10)(10)C+程序是從 【10】 函數(shù)開(kāi)始執(zhí)行的。(11)(11)假定A為一個(gè)類(lèi),則語(yǔ)句A(A &a);為該類(lèi) 【11

46、】 函數(shù)的原型說(shuō)明。(12)(12)派生類(lèi)構(gòu)造函數(shù)的執(zhí)行順序是先執(zhí)行 【12】 的構(gòu)造函數(shù),然后執(zhí)行成員對(duì)象的構(gòu)造函數(shù),最后執(zhí)行 【13】 的構(gòu)造函數(shù)。(13)(13)類(lèi)模板不同于函數(shù)模板,類(lèi)模板只可用 【14】 型參數(shù)。(14)(14)下列程序的執(zhí)行結(jié)果為 【15】 。#includevoid main() cout.fill(*); cout.width(10); couthelloendl; 參考答案與解析一、選擇題(1)D 解析: 算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存

47、空間。(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)下的線(xiàn)性表便于插入和刪除操作。(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ì)和

48、過(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)證軟件的功能和性能,以及其他特性是否滿(mǎ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)境的接

49、口,屬系統(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ú)立,完全依賴(lài)于程序;文件系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)發(fā)展的初級(jí)階段,數(shù)據(jù)獨(dú)立

50、性差;數(shù)據(jù)庫(kù)系統(tǒng)具有高度的物理獨(dú)立性和一定的邏輯獨(dú)立性。(11)B 解析: 數(shù)據(jù)封裝就是數(shù)據(jù)抽象;友元可以訪(fǎng)問(wèn)類(lèi)中的所有成員,是面向?qū)ο蟮囊粋€(gè)重要特征,但是破壞了封裝性;重載和動(dòng)態(tài)聯(lián)編都是面向?qū)ο蟮牧硪粋€(gè)特點(diǎn)-多態(tài)性。(12)D 解析: +,-運(yùn)算符不能用于常量表達(dá)式。(13)B 解析: 表達(dá)式值的類(lèi)型是由操作數(shù)的類(lèi)型決定的,因?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

51、解析: 本題主要考察的是switch語(yǔ)句的使用,在第一個(gè)case處,因?yàn)闈M(mǎn)足條件所以輸出字符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è)元素是num9。(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的值,

52、即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)為類(lèi)成員的訪(fǎng)問(wèn)權(quán)限,public關(guān)鍵字修飾的類(lèi)成員可以被類(lèi)的對(duì)象通過(guò)成員操作符.直接訪(fǎng)問(wèn),protected和private則不能,而static不能單獨(dú)修飾類(lèi)的成員。 (22)B 解析: 對(duì)象屬于某個(gè)已知的類(lèi),是類(lèi)的實(shí)例,對(duì)象之間通信實(shí)際上就是通過(guò)函數(shù)傳遞信息,封裝是把

53、數(shù)據(jù)和操作結(jié)合在一起,繼承是對(duì)于類(lèi)的方法的改變和補(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)建的同類(lèi)的對(duì)象,該函數(shù)只有一個(gè)參數(shù),并且是對(duì)同類(lèi)的某個(gè)對(duì)象的引用。(25)D 解析: 本題考察的是靜態(tài)數(shù)據(jù)成員的使用,n為類(lèi)A的靜態(tài)成員,即為類(lèi)A的所有對(duì)象共有的成員,所以,當(dāng)對(duì)象b把n初始化為3時(shí),對(duì)象a的成員n的值也為3(這兩個(gè)n實(shí)際上是同一個(gè))。 (26)C 解析: 友元函數(shù)是獨(dú)立于當(dāng)前類(lèi)的外部函數(shù),

54、但它可以訪(fǎng)問(wèn)該類(lèi)的所有對(duì)象的成員;拷貝構(gòu)造函數(shù)是使用已存在的對(duì)象初始化正在生成的對(duì)象時(shí)調(diào)用的成員函數(shù)。 (27)C 解析: 數(shù)據(jù)封裝就是數(shù)據(jù)抽象,即信息隱藏;而繼承是實(shí)現(xiàn)程序復(fù)用的基礎(chǔ)。 (28)B 解析: 派生類(lèi)對(duì)象的數(shù)據(jù)結(jié)構(gòu)是由基類(lèi)中說(shuō)明的數(shù)據(jù)成員和派生類(lèi)中說(shuō)明的數(shù)據(jù)成員共同構(gòu)成,所以不能繼承基類(lèi)的構(gòu)造函數(shù),必須重新定義。 (29)A 解析: 本題考察的是含有虛基類(lèi)的繼承中構(gòu)造函數(shù)的調(diào)用順序,應(yīng)該先調(diào)用基類(lèi)的構(gòu)造函數(shù),接著是按照派生類(lèi)繼承列表的順序依次調(diào)用虛基類(lèi)的構(gòu)造函數(shù),最后調(diào)用派生類(lèi)自己的構(gòu)造函數(shù)。(30)C 解析: 基類(lèi)中說(shuō)明的虛函數(shù),在派生類(lèi)中自然就是虛函數(shù),所以類(lèi)B中func1(

55、)是虛函數(shù);而類(lèi)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 解析: 題干表示的是回車(chē)換行,選項(xiàng)A),B)和C)都表示回車(chē)換行。而D)是字符串的結(jié)尾標(biāo)志。(33)C 解析: for循環(huán)執(zhí)行2次,所以第一次for循環(huán)為result=1*a1=4,第二次for循環(huán)為result=4*a2=20。(34)C 解析: 應(yīng)該先做+運(yùn)算,然后進(jìn)行%運(yùn)算,最后比較不等式,實(shí)際上最后輸出的結(jié)果就是被3除,余數(shù)為2

56、的不大于8的數(shù)。 (35)B 解析: 本題考察模板函數(shù)的應(yīng)用,表達(dá)式int(1.1)和int(4.2)是將1.1和4.2強(qiáng)制轉(zhuǎn)換為整型。二、填空題(1)非線(xiàn)性結(jié)構(gòu) 解析: 數(shù)據(jù)的邏輯結(jié)構(gòu)有線(xiàn)性結(jié)構(gòu)和非線(xiàn)性結(jié)構(gòu)兩大類(lèi)。(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ā)

57、技術(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 解

58、析: 因?yàn)閎的值為1,所以b&a5相當(dāng)于a5,當(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é)束條件是i5,而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)建的同類(lèi)的對(duì)象,定義格式是類(lèi)名:拷貝構(gòu)造函數(shù)名(類(lèi)名 &引用名)。(12)基類(lèi)派生類(lèi) 解析: 本題主要考察的是派生類(lèi)構(gòu)造函數(shù)的執(zhí)行

59、順序,在C+語(yǔ)言中構(gòu)造函數(shù)的執(zhí)行順序是先基類(lèi)后派生類(lèi),而析構(gòu)函數(shù)的執(zhí)行順序正好相反,是先調(diào)用派生類(lèi)后調(diào)用基類(lèi)。(13)類(lèi) 解析: 本題考察的是類(lèi)模板的定義,C+語(yǔ)言中模板分為兩種:類(lèi)模板和函數(shù)模板,類(lèi)模板只能用于類(lèi)型參數(shù),函數(shù)模板可以重載。(14)*hello 解析: 本題考察的是C+語(yǔ)言的流輸出操作,cout中包括的函數(shù)fill()和width()分別實(shí)現(xiàn)填充和設(shè)定顯示長(zhǎng)度的功能。全真模擬試卷(4)一、選擇題在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分。(1) (1)在深度為5的滿(mǎn)二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A)32

60、B)31C)16D)15(2) (2)若某二叉樹(shù)的前序遍歷訪(fǎng)問(wèn)順序是abdgcefh,中序遍歷訪(fǎng)問(wèn)順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪(fǎng)問(wèn)順序是A)bdgcefhaB)gdbecfhaC)bdgaechfD)gdbehfca(3) (3)一些重要的程序語(yǔ)言(如C語(yǔ)言和Pascal語(yǔ)言)允許過(guò)程的遞歸調(diào)用。而實(shí)現(xiàn)遞歸調(diào)用中的存儲(chǔ)分配通常用A)棧B)堆C)數(shù)組D)鏈表(4) (4)軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括軟件開(kāi)發(fā)技術(shù)和A)消除軟件危機(jī)B)軟件工程管理C)程序設(shè)計(jì)自動(dòng)化D)實(shí)現(xiàn)軟件可重用(5) (5)開(kāi)發(fā)軟件時(shí)對(duì)提高開(kāi)發(fā)人員工作效率至關(guān)重要的是A)操作系統(tǒng)的資源管理功能B)先進(jìn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論