歷年計(jì)算機(jī)二級(jí)c++真題及答案_第1頁(yè)
歷年計(jì)算機(jī)二級(jí)c++真題及答案_第2頁(yè)
歷年計(jì)算機(jī)二級(jí)c++真題及答案_第3頁(yè)
歷年計(jì)算機(jī)二級(jí)c++真題及答案_第4頁(yè)
歷年計(jì)算機(jī)二級(jí)c++真題及答案_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷 公共基礎(chǔ)知識(shí)及c+語(yǔ)言程序設(shè)計(jì) (考試時(shí)間90分鐘,滿分100)分)一、選擇題(1)(35)每小題2分,共70分) 下列各題a)、b)、c)、d)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1) 下面敘述正確的是 a)算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān) b)算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù) c)算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止 d)以上三種描述都不對(duì)(2)以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是 a)隊(duì)列 b)線性表 c)二叉樹 d)棧(3)在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是 a)8

2、b)16 c)32 d)15(4)下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是 a)使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯 b)模塊只有一個(gè)入口,可以有多個(gè)出口 c)注重提高程序的執(zhí)行效率 d)不使用goto語(yǔ)句(5)下面概念中,不屬于面向?qū)ο蠓椒ǖ氖?a)對(duì)象 b)繼承 c)類 d)過(guò)程調(diào)用(6)在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(dfd)作為描述工具的軟件開(kāi)發(fā)階段是 a)可行性分析 b)需求分析 c)詳細(xì)設(shè)計(jì) d)程序編碼(7)在軟件開(kāi)發(fā)中,下面任務(wù)不屬于設(shè)計(jì)階段的是 a)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) b)給出系統(tǒng)模塊結(jié)構(gòu) c)定義模塊算法 d)定義需求并建立系統(tǒng)模型(8)數(shù)據(jù)庫(kù)系統(tǒng)的核心是

3、a)數(shù)據(jù)模型 c)軟件工具b)數(shù)據(jù)庫(kù)管理系統(tǒng) d)數(shù)據(jù)庫(kù)(9)下列敘述中正確的是 a)數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持 b)數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫(kù)管理系統(tǒng) c)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問(wèn)題 d)數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致(10)下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是a)內(nèi)模式 b)外模式 c)概念模式 d)邏輯模式(11)關(guān)于面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,下列說(shuō)法正確的是 a)“封裝性”指的是將不同類型的相關(guān)數(shù)據(jù)組合在一起,作為一個(gè)整體進(jìn)行處理 b)“多態(tài)性”指的是對(duì)象的狀態(tài)會(huì)根據(jù)運(yùn)行時(shí)要求自動(dòng)變化 c)基類的私有成員在派生類的對(duì)

4、象中不可訪問(wèn),也不占內(nèi)存空間 d)在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,結(jié)構(gòu)化程序設(shè)計(jì)方法仍有著重要作用(12)判斷字符型變量ch是否為大寫英文字母,應(yīng)使用表達(dá)式a ) ch=a & ch=z b ) ch=zc ) a=ch=a & ch n;switch(n) case 1: case 2: cout 1; case 3: case 4: cout 2; break;default: cout 3;時(shí),若鍵盤輸入1,則屏幕顯示a)1 b)2 c)3 d)12(15)下列程序的輸出結(jié)果是#include using namespace std;int main() char a = hello, worl

5、d; char *ptr = a; while (*ptr) if (*ptr = a & *ptr = z) cout char(*ptr + a -a); else cout *ptr; ptr+; return 0;a ) hello, world b ) hello, worldc ) hello, world d ) hello, world(16)已知:int m=10;在下列定義引用的語(yǔ)句中,正確的是a ) int &x=m; b )int y=&m; c )int &z; d ) int &t=&m;(17)下列函數(shù)原型聲明中錯(cuò)誤的是a ) void fun(int x=0,

6、int y=0); b ) void fun(int x, int y);c ) void fun(int x, int y=0);d ) void fun(int x=0, int y);(18)已知程序中已經(jīng)定義了函數(shù)test,其原型是int test(int, int, int);,則下列重載形式中正確的是a ) char test(int,int,int);b ) double test(int,int,double);c ) int test(int,int,int=0);d ) float test(int,int,float=3.5f);(19)有以下程序#includeint

7、i = 0;void fun() static int i = 1; std:couti+,;std:couti,;int main() fun(); fun(); return 0;程序執(zhí)行后的輸出結(jié)果是a)1,2,1,2, b)1,2,2,3, c)2,0,3,0, d)1,0,2,0,(20)已知函數(shù)f的原型是:void f(int *a, long &b); 變量v1、v2的定義是:int v1;long v2;,正確的調(diào)用語(yǔ)句是a) f(v1, &v2); b) f(v1, v2); c) f(&v1, v2); d) f(&v1, &v2);(21)有以下類定義class mycl

8、asspublic: myclass()cout1;則執(zhí)行語(yǔ)句myclass a, b2, *p2;后,程序的輸出結(jié)果是a)11 b)111 c)1111 d)11111(22)關(guān)于友元,下列說(shuō)法錯(cuò)誤的是a)如果類a是類b的友元,那么類b也是類a的友元b)如果函數(shù)fun()被說(shuō)明為類a的友元,那么在fun()中可以訪問(wèn)類a的私有成員c)友元關(guān)系不能被繼承d)如果類a是類b的友元,那么類a的所有成員函數(shù)都是類b的友元(23)關(guān)于動(dòng)態(tài)存儲(chǔ)分配,下列說(shuō)法正確的是a)new和delete是c+語(yǔ)言中專門用于動(dòng)態(tài)內(nèi)存分配和釋放的函數(shù)b)動(dòng)態(tài)分配的內(nèi)存空間也可以被初始化c)當(dāng)系統(tǒng)內(nèi)存不夠時(shí),會(huì)自動(dòng)回收不再

9、使用的內(nèi)存單元,因此程序中不必用delete釋放內(nèi)存空間d)當(dāng)動(dòng)態(tài)分配內(nèi)存失敗時(shí),系統(tǒng)會(huì)立刻崩潰,因此一定要慎用new(24)有以下程序#includeusing namespace std;class myclasspublic:myclass(int n)number = n;/拷貝構(gòu)造函數(shù)myclass(myclass &other) number=other.number;myclass()private: int number;myclass fun(myclass p)myclass temp(p);return temp;int main()myclass obj1(10), o

10、bj2(0);myclass obj3(obj1);obj2=fun(obj3);return 0;程序執(zhí)行時(shí),myclass類的拷貝構(gòu)造函數(shù)被調(diào)用的次數(shù)是a)5 b)4 c)3 d)2(25)在公有派生的情況下,派生類中定義的成員函數(shù)只能訪問(wèn)原基類的 a)公有成員和私有成員 b)私有成員和保護(hù)成員 c)公有成員和保護(hù)成員 d)私有成員、保護(hù)成員和公有成員(26)在c+中用來(lái)實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的是 a)重載函數(shù) b)析構(gòu)函數(shù) c)構(gòu)造函數(shù) d)虛函數(shù)(27)一個(gè)類可以同時(shí)繼承多個(gè)類,稱為多繼承。下列關(guān)于多繼承和虛基類的表述中,錯(cuò)誤的是 a)每個(gè)派生類的構(gòu)造函數(shù)都要為虛基類構(gòu)造函數(shù)提供實(shí)參 b)多

11、繼承時(shí)有可能出現(xiàn)對(duì)基類成員訪問(wèn)的二義性問(wèn)題 c)使用虛基類可以解決二義性問(wèn)題并實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性 d)建立最派生類對(duì)象時(shí),虛基類的構(gòu)造函數(shù)會(huì)首先被調(diào)用(28)在一個(gè)類體的下列聲明中,正確的純虛函數(shù)聲明是a) virtual void vf()=0; b) void vf(int)=0;c) virtual int vf(int); d) virtual void vf(int) (29)在下面的運(yùn)算符重載函數(shù)的原型中,錯(cuò)誤的是a) volume operator - (double, double);b) double volume:operator- (double);c) volume v

12、olume: :operator - (volume);d) volume operator - (volume, volume);(30)下列是模板聲明的開(kāi)始部分,其中正確的是a) templateb) templatec) templated) template(31)執(zhí)行語(yǔ)句序列ofstream outfile(data.dat);if(.) cout ok; else cout 是一個(gè)( ) a)用于輸出操作的非成員函數(shù) b)用于輸入操作的非成員函數(shù) c)用于輸出操作的成員函數(shù) d)用于輸入操作的成員函數(shù)(33)有以下類定義class point public: point(int x

13、 = 0, int y = 0) _.x = x; _.y = y; void move(int xoff, int yoff) _x += xoff; _.y += yoff; void print() const cout ( _x , _y ) endl; private: int _x, _y;下列語(yǔ)句中會(huì)發(fā)生編譯錯(cuò)誤的是a) point pt; pt.print();b) const point pt; pt.print();c) point pt; pt.move(l, 2); d) const point pt; pt.move(l, 2);(34)有以下類定義class myc

14、lassprivate: int id; char gender, char *phone;public: myclass():id(0),gender(#),phone(null) myclass(int no, char ge=#, char *ph= null.) id=no;gende=ge;phone=ph; ;下列類對(duì)象定義語(yǔ)句中錯(cuò)誤的是a) myclass myobj;b) myclass myobj(11,;c) myclass myobj(12, m);d) myclass myobj(12);(35)有以下程序#include using name

15、space std;class complexpublic: complex(double r =0, double i =0):re(r), im(i) double real() const return re; double imag() const return im; complex operator +(complex c) const return complex(re+c.re, im+c.im); private: double re, im;int main() complex a = complex(l, 1) + complex(5);cout a.real() + a

16、.imag() i endl;return 0;程序執(zhí)行后的輸出結(jié)果是a) 6+6i b) 6+1i c) 1+6i d) 1+1i二、填空題(每空2分,共30分) 請(qǐng)將每一個(gè)空的正確答案寫在答題卡1-15序號(hào)的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須拼寫完整。(1)算法的復(fù)雜度主要包括 1 復(fù)雜度和空間復(fù)雜度。(2)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的 2 。(3)若按功能劃分,軟件測(cè)試的方法通常分為白盒測(cè)試方法和 3 測(cè)試方法。(4)如果一個(gè)工人可管理多個(gè)設(shè)備,而一個(gè)設(shè)備只被一個(gè)工人管理,則實(shí)體“工人”與實(shí)體“設(shè)備”之間存在 4 的聯(lián)系。(5)關(guān)系數(shù)據(jù)庫(kù)管理系

17、統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括選擇、連接和 5 。(6)設(shè)有定義語(yǔ)句:int a=12;,則表達(dá)式a*=2+3的運(yùn)算結(jié)果是 6 。(7)從實(shí)現(xiàn)的角度劃分,c+所支持的兩種多態(tài)性分別是 7 時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性。(8)將個(gè)函數(shù)聲明為一個(gè)類的友元函數(shù)必須使用關(guān)鍵字 8 。(9)請(qǐng)按下面注釋的提示,將類b的構(gòu)造函數(shù)定義補(bǔ)充完整。class a int a;public: a(int aa=0) a=aa; ;class b: public a int b; a c;public:/用aa初始化基類a,用aa+1初始化類對(duì)象成員cb(int aa): 9 b=aa+2; ;(10)下列程序的輸出結(jié)果

18、是 10 。#include using namespace std;int main() int i = 5; int &r = i; r = 7; cout i endl; return 0;(11)下列程序的輸出結(jié)果是 11 。#include using namespace std;class test public: test() cnt+; test() cnt-; static int count() return cnt;private: static int cnt;int test:cnt = 0;int main() cout test:count0 ; test tl,

19、 t2; test* pt3 = new test; test* pt4 = new test; cout test:count0 ; delete pt4; delete pt3; cout test:count() endl;return 0;(12)下面是用來(lái)計(jì)算n的階乘的遞歸函數(shù),請(qǐng)將該函數(shù)的定義補(bǔ)充完整。(注:階乘的定義是n!=n*(n-1)*.*2*1)unsigned fact(unsigned n) if ( n= 1) return 1; return 12 ; (13)下列程序的輸出結(jié)果是 13 。#include using namespace std;templatet

20、 fun(t a, t b) return (a=b)?:b;int main() cout fun(3, 6) , fun (3.14f, 6.28f) name等價(jià)的表達(dá)式是 14 。(15)下列程序的輸出結(jié)果是 15 。#include using namespace std;class base public: int n; base(int x) n = x; virtual void set(int m) n = m; cout n ;class derivea:public base public: derivea(int x):base(x) void set(mt m) n

21、+= m; cout n ;class deriveb:public base public: deriveb(int x):base(x) void set(int m) n +=m; cout n aet(1); pbase = &d2; pbase-set(2); return 0;2004年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷公共基礎(chǔ)知識(shí)及c+語(yǔ)言程序設(shè)計(jì)答案及評(píng)分標(biāo)準(zhǔn)選擇題(1)(35)每小題2分,共70分)(1) c (2) c (3) b (4) a (5) d (6) b (7) d (8) b (9) c (10)a (11)d (12)d (13)c (14)d (15)a

22、(16)a (17)d (18)b (19)d (20)c (21)b (22)a (23)b (24)b (25)c (26)d (27)c (28)a (29)a (30)c (31)c (32)b (33)d (34)b (35)b二、填空題(每空2分,共30分) (1)1 時(shí)間 (2)2 存儲(chǔ)結(jié)構(gòu) 或 物理結(jié)構(gòu) 或 物理存儲(chǔ)結(jié)構(gòu) (3)3 黑盒 或 黑箱 (4)4 一對(duì)多 或 1對(duì)多 或 i:m 或 i:n(其中m、n大小寫均可) (5)5 投影 (6)6 60 (7)7 編譯 (8)8 friend (9)9 a(aa),c(aa+1) 或 c(aa+1),a(aa) (10)10

23、7 (11)11 042 (12)12 n*fact(n-1) (13)13 3,3.14 (14)14 (*p).name (15)15 252010年3月計(jì)算機(jī)等級(jí)考試二級(jí)c+筆試試題一、選擇題(每小題2分,共70分)下列各題a)、b)、c)、d)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列敘述中正確的是a)對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為nb)對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(n/2)c)對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(log2n)d)對(duì)長(zhǎng)度為n的有序鏈

24、表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為(n log2n)(2)算法的時(shí)間復(fù)雜度是指a)算法的執(zhí)行時(shí)間b)算法所處理的數(shù)據(jù)量c)算法程序中的語(yǔ)句或指令條數(shù)d)算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)(3)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是a)編輯軟件b)操作系統(tǒng)c)教務(wù)管理系統(tǒng)d)瀏覽器(4)軟件(程序)調(diào)試的任務(wù)是a)診斷和改正程序中的錯(cuò)誤b)盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤c)發(fā)現(xiàn)并改正程序中的所有錯(cuò)誤d)確定程序中錯(cuò)誤的性質(zhì)(5)數(shù)據(jù)流程圖(dfd圖)是a)軟件概要設(shè)計(jì)的工具b)軟件詳細(xì)設(shè)計(jì)的工具c)結(jié)構(gòu)化方法的需求分析工具d)面向?qū)ο蠓椒ǖ男枨?/p>

25、分析工具(6)軟件生命周期可分為定義階段,開(kāi)發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于a)定義階段b)開(kāi)發(fā)階段c)維護(hù)階段d)上述三個(gè)階段(7)數(shù)據(jù)庫(kù)管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語(yǔ)言是a)數(shù)據(jù)定義語(yǔ)言b)數(shù)據(jù)管理語(yǔ)言c)數(shù)據(jù)操縱語(yǔ)言d)數(shù)據(jù)控制語(yǔ)言(8)在學(xué)生管理的關(guān)系數(shù)據(jù)庫(kù)中,存取一個(gè)學(xué)生信息的數(shù)據(jù)單位是a)文件b)數(shù)據(jù)庫(kù)c)字段d)記錄(9)數(shù)據(jù)庫(kù)設(shè)計(jì)中,用e-r圖來(lái)描述信息結(jié)構(gòu)但不涉及信息在計(jì)算機(jī)中的表示,它屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的a)需求分析階段b)邏輯設(shè)計(jì)階段c)概念設(shè)計(jì)階段d)物理設(shè)計(jì)階段(10)有兩個(gè)關(guān)系r和t如下:則由關(guān)系r得到關(guān)系t的操作是a)選擇b)投影c)交d)并(11)下列關(guān)于函數(shù)的描述中

26、,錯(cuò)誤的是a)函數(shù)可以沒(méi)有返回值b)函數(shù)可以沒(méi)有參數(shù)c)函數(shù)可以是一個(gè)類的成員d)函數(shù)不能被定義為模板(12)若myclass是一個(gè)類名,且有如下語(yǔ)句序列myclass c1,*c2;myclass *c3=new myclass;myclass &c4=c1;上面的語(yǔ)句序列所定義的類對(duì)象的個(gè)數(shù)是a)1b)2c)3d)4(13)下列關(guān)于繼承方式的描述中,錯(cuò)誤的是a)如果不顯式地指定繼承方式,缺省的繼承方式是私有(private)b)采用公有繼承方式時(shí),基類中的公有成員在派生類中仍然是公有成員c)采用保護(hù)繼承方式時(shí),基類中的保護(hù)成員在派生類中仍然是保護(hù)成員d)采用私有繼承方式時(shí),基類中的私有成員

27、在派生類中仍然是私有成員(14)將前綴運(yùn)算符“-”重載為非成員函數(shù),下列原型中,能正確用于類中說(shuō)明的是a)decr& operator -(int);b)decr operator -( decr&,int);c)friend decr& operator -(decr&);d)frlend decr operator -(decr&,int);(15)若mytemp是一個(gè)只有一個(gè)虛擬類型參數(shù)的類模板,且有如下語(yǔ)句序列mytempp2;mytempp32;編譯系統(tǒng)在處理上面的語(yǔ)句序列時(shí),所生成的模板mytemp的實(shí)例的個(gè)數(shù)是a)1b)2c)3d)0(16)在c+中,cin是個(gè)a)類b)對(duì)象c)

28、模板d)函數(shù)(17)在下列字符中,不允許作為c+標(biāo)識(shí)符的是a)bb)bc)_d)2(18)下列敘述中,錯(cuò)誤的是a)false是一個(gè)邏輯型常量b)b是一個(gè)字符型常量c)365是一個(gè)int常量d)3.1415926是一個(gè)double常量(19)若x和y是程序中的兩個(gè)整型變量,則下列if語(yǔ)句中正確的是a)if(x=0) y=1; else y=2;b)if(x=0) then y=1 else y=2;c)if(x=0) y=1 else y=2;d)if x=0 y=1; else y=2;(20)要定義整型數(shù)組x,使之包括初值為o的三個(gè)元素,下列語(yǔ)句中錯(cuò)誤的是a)int x3=0,0,0;b)i

29、nt x=0;c)static int x3=0;d)int x=0,0,0;(21)關(guān)于函數(shù)中的,下列表述中錯(cuò)誤的是a)中有可能包含關(guān)鍵字intb)中有可能包含自定義標(biāo)識(shí)符c)中有可能包含字符*d)中可能包含(22)要定義一個(gè)引用變量p,使之引用類myclass的一個(gè)對(duì)象,正確的定義語(yǔ)句是a)myclass p=myclass;b)myclass p=new myclass;c)myclass &p=new myclass;d) myclass a,&p=a;(23)有如下兩個(gè)類定義class xxprivate:double x1;protected:double x2;public:do

30、uble x3;class yy:protected xxprivate:double y1;protected:double y2;public:double y3;在類yy中保護(hù)成員變量的個(gè)數(shù)是a)1b)2c)3d)4(24)下列關(guān)于運(yùn)算符重載的描述中,錯(cuò)誤的是a)可以通過(guò)運(yùn)算符重載在c+中創(chuàng)建新的運(yùn)算符b)賦值運(yùn)算符只能重載為成員函數(shù)c)運(yùn)算符函數(shù)重載為類的成員函數(shù)時(shí),第一操作數(shù)是該類對(duì)象d)重載類型轉(zhuǎn)換運(yùn)算符時(shí)不需要聲明返回類型(25)下列關(guān)于類模板的描述中,錯(cuò)誤的是a)類模板的成員函數(shù)都是模板函數(shù)b)可以為類模板參數(shù)設(shè)置默認(rèn)值c)類模板描述了一組類d)類模板中只允許有一個(gè)類型參數(shù)(2

31、6)下列控制格式輸入輸出的操作符中,能夠設(shè)置浮點(diǎn)數(shù)精度的是a)setprecisionb)setwc)setfilld)showpoint(27)下列程序段中包含4個(gè)函數(shù),其中具有隱含this指針的是int fun1();class testpublic:int fun2();friend int fun3();static int fun4();a)fun1b)fun2c)fun3d)fun4(28)有如下程序#include using namespace std;class testpublic:test() test(const test &t) cout1;test fun(test

32、 &u) test t=u; return t;int main()test x,y; x=fun(y); return 0;運(yùn)行這個(gè)程序的輸出結(jié)果是a)無(wú)輸出b)1c)11d)111(29)有如下程序#include using namespace std;class apublic:a(int i=0):r1(i) void print() couter1-; void print() const coutcr1*r1-; void print(int x) cout pr1*r1*r1-; private:int r1;int main() a a1;const a a2(4);a1.p

33、rint(2);a1.print();return 0;運(yùn)行時(shí)的輸出結(jié)果是a)p8-e4b)p8-c16-c)p0-e4-d)p0-c16-(30)下列代碼聲明了3個(gè)類class person;class student:public person;class undergraduate:student;下列關(guān)于這些類之間關(guān)系的描述中,錯(cuò)誤的是a)類person是類undergraduate的基類b)類undergraduate從類student公有繼承c)類student是類person的派生類d)類undergraduate是類person的派生類(31)有如下程序#include usi

34、ng namespace std;class basepublic:base(int x=0):valb(x) coutvalb; base() coutvalb; private:int valb;class derived:public basepublic:derived(int x=0,int y=0):base(x),vald(y)coutvald; derived() coutvald; private:int vald;int main()derived obj12(2,3);retuen 0;運(yùn)行時(shí)的輸出結(jié)果是a)2332b)2323c)3232d)3223(32)下面是類sh

35、ape的定義:class shapepublic:virtual void draw()=0;下列關(guān)于shape類的描述中,正確的是a)類shape是虛基類b)類shape是抽象類c)類shape中的draw函數(shù)聲明有誤d)語(yǔ)句“shape s;”能夠建立shape的一個(gè)對(duì)象s(33)將運(yùn)算符“+”重載為非成員函數(shù),下列原型聲明中,錯(cuò)誤的是a)myclock operator + (myclock,long);b)myclock operator + (myclock,myclock);c)myclock operator + (long,long);d)myclock operator +

36、(long,myclock);(34)打開(kāi)文件時(shí)可單獨(dú)或組合使用下列文件打開(kāi)模式ios_base:app ios_base:binaryios_base:in ios_base:out若要以二進(jìn)制讀方式打開(kāi)一個(gè)文件,需使用的文件打開(kāi)模式為a)b)c)d)(35)有如下程序:#include using namespace std;class bpublic:b(int xx):x(xx) +cout; x+=10;virtual void show() constcoutcount_xendl; protected:static int count;private:int x;class d:

37、public bpublic:d(int xx,int yy):b(xx),y(yy) +count; y+=100;virtual void show() constcoutcount_yendl; private:int y;int b:count=0;int main()b *ptr=new d(10,20);ptr-show();delete ptr;return 0;運(yùn)行時(shí)的輸出結(jié)果是a)1_120b)2_120c)1_20d)2_20二、填空題(每空2分,共30分)請(qǐng)將每一個(gè)空的正確答案寫在答題卡【l】【15】序號(hào)的橫線上,答在試卷上不得分。(1)一個(gè)隊(duì)列的初始狀態(tài)為空?,F(xiàn)將元素a

38、,b,c,d,e,f,5,4,3,2,1依次入隊(duì),然后再依次退隊(duì),則元素退隊(duì)的順序?yàn)?【1】 。(2)設(shè)某循環(huán)隊(duì)列的容量為50,如果頭指針front=45(指向隊(duì)頭元素的前一位置),尾指針rear=10(指向隊(duì)尾元素),則該循環(huán)隊(duì)列中共有 【2】 個(gè)元素。(3)設(shè)二叉樹如下: 對(duì)該二叉樹進(jìn)行后序遍歷的結(jié)果為 【3】 。(4)軟件是 【4】 、數(shù)據(jù)和文檔的集合。(5)有一個(gè)學(xué)生選課的關(guān)系,其中學(xué)生的關(guān)系模式為:學(xué)生(學(xué)號(hào),姓名,班級(jí),年齡),課程的關(guān)系模式為:課程(課號(hào),課程名,學(xué)時(shí)),其中兩個(gè)關(guān)系模式的鍵分別是學(xué)號(hào)和課號(hào),則關(guān)系模式選課可定義為:選課(學(xué)號(hào), 【5】 ,成績(jī))。(6)若x和y是

39、兩個(gè)整形變量,在執(zhí)行了語(yǔ)句序列x=5; y=6; y+=x-;后,x+y的值為 【6】 。(7)在執(zhí)行語(yǔ)句序列int i=0; do i+; while(i*i10);時(shí),do后面的循環(huán)體語(yǔ)句i+被執(zhí)行的次數(shù)為 【7】 。(8)有如下的函數(shù)定義:int xfun(int *a, int n)int x=*a;for(int *pa=a+1; pa if(*pax) x=*pa;return x;若執(zhí)行了語(yǔ)句int x5=23,46,78,55,16;后,通過(guò)表達(dá)式xfun(x,5)調(diào)用該函數(shù),則得到的返回值為 【8】 。(9)有如下的函數(shù)定義:int xfun(int x)int y=x;in

40、t x=10; y+=x;return x+y;通過(guò)表達(dá)式xfun(5)調(diào)用該函數(shù),則得到的返回值為 【9】 。(10)假定xcs是一個(gè)類,該類中一個(gè)成員函數(shù)的原型為“xcs *abc();”,則在類外定義時(shí)對(duì)應(yīng)的函數(shù)頭為 【10】 。(11)請(qǐng)將下面的類date的定義補(bǔ)充完整,使得由語(yǔ)句date firstday;定義的對(duì)象firstday的值為2010年1月1日。class datepublic:date( 【11】 ):year(y),month(m),day(d) private:int year,month,day; /依次表示年、月、日;(12)請(qǐng)將下面的程序補(bǔ)充完整,使得程序輸出

41、“飄是張娜的書”。#include using namespace std;class bookpublic:book(char *str) strcpy(title,str);【12】 void printinfo() couttitleendl; protected:char title50;class mybook:public bookpublic:mybook(char *s1,char *s2=張娜):【13】 strcpy(owner,s2);virtual void printinfo() couttitle是owner的書endl; private:char owner10;

42、int main()book *prt=new mybook(飄);prt-printinfo();return 0;(13)在有理數(shù)類rational中重載插入運(yùn)算符,以便按a/q形式輸出。請(qǐng)將運(yùn)算符函數(shù)的定義補(bǔ)充完整。class rationalpublic:rational(int aa, int qq):a(aa),q(qq) friend 【14】 operator(ostream &out, rational &x)return (outx.a p ?x.q); private:int a,q;(14)下面的函數(shù)定義是某函數(shù)模板能夠生成的函數(shù)實(shí)例int square(int n)

43、return n*n;double square(double n) return n*n;由此可知,該函數(shù)模板的定義是 【15】 。2007年4月計(jì)算機(jī)等級(jí)考試c+考試及答案 一、選擇題(每小題2分,共70分)下列各題a)、b)、c)、d)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列敘述中正確的是 。a)算法的效率只與問(wèn)題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān).b)算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量c)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的.d)算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān).(2)在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是 。a)

44、 各模塊應(yīng)包括盡量多的功能b) 各模塊的規(guī)模應(yīng)盡量大c)各模塊之間的聯(lián)系應(yīng)盡量緊密d) 模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度(3)下列敘述中正確的是 。a)軟件測(cè)試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤.b)軟件測(cè)試的主要目的是確定程序中錯(cuò)誤的位置.c)為了提高軟件測(cè)試的效率,最好由程序編制者自己來(lái)完成軟件測(cè)試的工作d)軟件測(cè)試是證明軟件沒(méi)有錯(cuò)誤(4) 下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是 。a)繼承性 b)多態(tài)性 c)類比性 d)封裝性(5) 下列對(duì)列的敘述正確的是 。a) 隊(duì)列屬于非線性表b) 隊(duì)列按”先進(jìn)后出”的原則組織數(shù)據(jù)c)隊(duì)列在隊(duì)尾刪除數(shù)據(jù)d) 隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)(6)對(duì)下

45、列二叉樹a)dybeafczx b)ydebfzxca c)abdyecfxz d)abcdefxyz(7)某二叉樹中有n個(gè)度為2的結(jié)點(diǎn)則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為a)n+1 b )n-1 c)2n d)n/2(8)在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是 。a)井 b)交 c)投影 d)笛卡兒乘積(9)在e-r圖中,用來(lái)表示實(shí)體之間是聯(lián)系的圖形是 。a) 矩形 b)橢圓形 c)菱形 d)平行四邊形(10)下列敘述中錯(cuò)誤的是 。a) 在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致.b)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題c)數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)d)數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持(11)為了取代c中帶參數(shù)的宏,在c+中使用a)重載函數(shù) b)內(nèi)聯(lián)函數(shù) c)遞歸函數(shù) d)友元函數(shù)(12)下列關(guān)于類定義的說(shuō)法中,正確的是a)類定義中包括數(shù)據(jù)成員和函數(shù)成員的聲明b)類成員的缺省訪問(wèn)權(quán)限是保護(hù)的c) 數(shù)據(jù)成員必須被聲明為私有的d)成員函數(shù)只能在類體外進(jìn)行定義(13)下列關(guān)于

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論