月全國二級C考試真題與答案_第1頁
月全國二級C考試真題與答案_第2頁
月全國二級C考試真題與答案_第3頁
月全國二級C考試真題與答案_第4頁
月全國二級C考試真題與答案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2011年3月全國二級C+考試真題與答案 2011年3月全國二級C+考試真題與答案 一、 選擇題 (1)下列關(guān)于棧敘述正確的是 A)棧頂元素最先能被刪除 B)棧頂元素最后才能被刪除 C)棧底元素永遠(yuǎn)不能被刪除 D)以上三種說法都不對 (2)下列敘述中正確的是 A)有一個以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu) B)只有一個根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu) C)循環(huán)鏈表是非線性結(jié)構(gòu) D)雙向鏈表是非線性結(jié)構(gòu) (3)某二叉樹共有7個結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個,則該二叉樹的深度為(假設(shè)根結(jié)點(diǎn)在第1層) A)3 B)4 C)6 D)7 (4)在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是 A)軟件集成測試計

2、劃 B)軟件詳細(xì)設(shè)計說明書 C)用戶手冊 D)軟件需求規(guī)格說明書 (5)結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括 A)順序結(jié)構(gòu) B)GOTO跳轉(zhuǎn) C)選擇(分支)結(jié)構(gòu) D)重復(fù)(循環(huán))結(jié)構(gòu) (6)下面描述中錯誤的是 A)系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計 B)軟件設(shè)計是將軟件需求轉(zhuǎn)換為軟件表示的過程 C)數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計是軟件設(shè)計的任務(wù)之一 D)PAD圖是軟件詳細(xì)設(shè)計的表示工具 (7)負(fù)責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是 A)數(shù)據(jù)定義語言 B)數(shù)據(jù)管理語言 C)數(shù)據(jù)操縱語言 D)數(shù)據(jù)控制語言 (8)一個教師可講授多門課程,一門課程可由多個教師講授。則實體教師和課程間的聯(lián)系是 A)1:1聯(lián)系 B)1

3、:m聯(lián)系 C)m:1聯(lián)系 D)m:n聯(lián)系 (9)有三個關(guān)系R、S和T如下: 則由關(guān)系R和S得到關(guān)系T的操作是 A)自然連接 B)交 C)除 D)并 (10)定義無符號整數(shù)類為UInt,下面可以作為類UInt實例化值的是 A)-369 B)369 C)0.369 D)整數(shù)集合1,2,3,4,5 (11)為了提高函數(shù)調(diào)用的實際運(yùn)行速度,可以將較簡單的函數(shù)定義為 A)內(nèi)聯(lián)函數(shù) B)重載函數(shù) C)遞歸函數(shù) D)函數(shù)模板 (12)若AA為一個類,a為該類的非靜態(tài)數(shù)據(jù)成員,在該類的一個成員函數(shù)定義中訪問a時,其書寫格式為 A)a B)AA.a C)a() D)AA:a() (13)當(dāng)派生類從一個基類保護(hù)繼

4、承時,基類中的一些成員在派生類中成為保護(hù)成員,這些成員在基類中原有的訪問屬性是 A)任何 B)公有或保護(hù) C)保護(hù)或私有 D)私有 (14)若要對Data類中重載的加法運(yùn)算符成員函數(shù)進(jìn)行聲明,下列選項中正確的是 A)Data+(Data); B)Data operator+(Data); C)Data+operator(Data); D)operator+(Data,Data); (15)下列關(guān)于函數(shù)模板的描述中,正確的是 A)函數(shù)模板是一個實例函數(shù) B)使用函數(shù)模板定義的函數(shù)沒有返回類型 C)函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)相同 D)通過使用不同的類型參數(shù),可以從函數(shù)模板得到不同的實例函數(shù) (

5、16) C+系統(tǒng)預(yù)定義了4個用于標(biāo)準(zhǔn)數(shù)據(jù)流的對象,下列選項中不屬于此類對象的是 A)cout B)cin C)cerr D)cset (17)Windows環(huán)境下,由C+源程序文件編譯而成的目標(biāo)文件的擴(kuò)展名是 A)cpp B)exe C)obj D)lik (18)字符串"a+b=12nt"的長度為 A)12 B)10 C)8 D)6 (19)有如下程序: #include using namespace std; int main() int f,f1=0,f2=1; for(int i=3;i<=6;i+) f=f1+f2; f1=f2;f2=f; cout<

6、; return 0; 運(yùn)行時的輸出結(jié)果是 A)2 B)3 C)5 D)8 (20)有如下程序: #include using namespace std; int main() int a6=23,15,64,33,40,58; int s1,s2; s1=s2=a0; for(int* p=a+1;p if(s1>*p) s1=*p; if(s2<*p) s2=*p; cout< return 0; 運(yùn)行時的輸出結(jié)果是 A)23 B)58 C)64 D)79 (21)有如下程序: #include using namespace std; void f1(int&

7、 x,int& y) int z=x; x=y; y=z; void f2(int x,int y) int z=x; x=y; y=z; int main() int x=10,y=26; f1(x,y); f2(x,y); cout< return 0; 運(yùn)行時的輸出結(jié)果是 A)10 B)16 C)26 D)36 (22)有如下程序: #include using namespace std; class XA int a; public: static int b; XA(int aa):a(aa) b+; XA() int get()return a; ; int XA:

8、b=0; int main() XA d1(2),d2(3); cout< return 0; 運(yùn)行時的輸出結(jié)果是 A)5 B)6 C)7 D)8 (23)有如下程序: #include using namespace std; class Point int x,y; public: Point(int x1=0,int y1=0):x(x1),y(y1) int get()return x+y; ; class Circle Point center; int radius; public: Circle(int cx,int cy,int r):center(cx,cy),radi

9、us(r) int get()return center.get()+radius; ; int main() Circle c(3,4,5); cout< return 0; 運(yùn)行時的輸出結(jié)果是 A)5 B)7 C)9 D)12 (24)若要對類BigNumber中重載的類型轉(zhuǎn)換運(yùn)算符long進(jìn)行聲明,下列選項中正確的是 A)operator long() const; B)operator long(BigNumber); C)long operator long() const; D)long operator long(BigNumber); (25)有如下函數(shù)模板定義: tem

10、plate T1 FUN(T2 n)return n*5.0; 若要求以int型數(shù)據(jù)9作為函數(shù)實參調(diào)用該模板,并返回一個double型數(shù)據(jù),則該調(diào)用應(yīng)表示為 A)FUN(9) B)FUN<9> C)FUN(9) D)FUN<9>(double) (26)下列語句都是程序運(yùn)行時的第1條輸出語句,其中一條語句的輸出效果與其他三條語句不同,該語句是 A)cout<B)cout< C)cout< D)cout< (27)下列關(guān)于析構(gòu)函數(shù)的描述中,錯誤的是 A)析構(gòu)函數(shù)可以重載 B)析構(gòu)函數(shù)由系統(tǒng)自動調(diào)用 C)每個對象的析構(gòu)函數(shù)只被調(diào)用一次 D)每個類都有

11、析構(gòu)函數(shù) (28)下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是 A)構(gòu)造函數(shù)名與類名相同 B)構(gòu)造函數(shù)可以有返回值 C)構(gòu)造函數(shù)可以重載 D)每個類都有構(gòu)造函數(shù) (29)若PAT是一個類,則程序運(yùn)行時,語句"PAT (*ad)3;"調(diào)用PAT的構(gòu)造函數(shù)的次數(shù)是 A)0 B)1 C)2 D)3 (30)下列描述中,錯誤的是 A)公有繼承時基類中的公有成員在派生類中仍是公有成員 B)公有繼承時基類中的保護(hù)成員在派生類中仍是保護(hù)成員 C)保護(hù)繼承時基類中的公有成員在派生類中仍是公有成員 D)保護(hù)繼承時基類中的保護(hù)成員在派生類中仍是保護(hù)成員 (31)生成派生類對象時,派生類構(gòu)造函數(shù)調(diào)用基類構(gòu)

12、造函數(shù)的條件是 A)無需任何條件 B)基類中顯式定義了構(gòu)造函數(shù) C)派生類中顯式定義了構(gòu)造函數(shù) D)派生類構(gòu)造函數(shù)明確調(diào)用了基類構(gòu)造函數(shù) (32)下列關(guān)于派生類和基類的描述中,正確的是 A)派生類成員函數(shù)只能訪問基類的公有成員 B)派生類成員函數(shù)只能訪問基類的公有和保護(hù)成員 C)派生類成員函數(shù)可以訪問基類的所有成員 D)派生類對基類的默認(rèn)繼承方式是公有繼承 (33)有如下類模板定義: template class BigNumber long n; public: BigNumber(T i):n(i) BigNumber operator +(BigNumber b) return BigN

13、umber(n+b.n); ; 己知b1、b2是BigNumber的兩個對象,則下列表達(dá)式中錯誤的是 A)bl+b2 B)b1+3 C)3+b1 D)3+3 (34)下列關(guān)于文件流的描述中,正確的是 A)文件流只能完成針對磁盤文件的輸入輸出 B)建立一個文件流對象時,必須同時打開一個文件 C)若輸入流要打開的文件不存在,將建立一個新文件 D)若輸出流要打開的文件不存在,將建立一個新文件 (35)有如下程序: #include using namespace std; class Pair int m,n; public: Pair(int j,int k):m(j),n(k) int get(

14、) return m; int get() const return m+n; ; int main() Pair a(3,5); const Pair b(3,5); cout< return 0; 運(yùn)行時的輸出結(jié)果是 A)33 B)38 C)83 D)88 二、填空題 (1)有序線性表能進(jìn)行二分查找的前提是該線性表必須是 【1】 存儲的。 (2)一棵二叉樹的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF,則后序遍歷結(jié)果為 【2】 。 (3)對軟件設(shè)計的最小單位(模塊或程序單元)進(jìn)行的測試通常稱為 【3】 測試。 (4)實體完整性約束要求關(guān)系數(shù)據(jù)庫中元組的 【4】 屬性值不能為

15、空。 (5)在關(guān)系A(chǔ)(S,SN,D)和關(guān)系B(D,CN,NM)中,A的主關(guān)鍵字是S,B的主關(guān)鍵字是D,則稱 【5】 是關(guān)系A(chǔ)的外碼。 6)若有定義語句"int x=10,y=20,z=20;",則表達(dá)式x>z&&y=z的值為 【6】 。 (7)有如下語句序列: int x=-10;while(+x) 運(yùn)行時while循環(huán)體的執(zhí)行次數(shù)為 【7】 。 (8)有如下語句序列: int arr22=9,8,7,6; int *p=arr0+1; cout<<*p<運(yùn)行時的輸出結(jié)果是 【8】 。 (9)函數(shù)fun的功能是將一個數(shù)字字符串轉(zhuǎn)換為一

16、個整數(shù),請將函數(shù)補(bǔ)充完整。 int fun(char *str) int num=0; while(*str) num*=10; num+= 【9】 ; str+; return num; (10)若要將函數(shù)"void FriFun();"聲明為類MyClass的友元函數(shù),則應(yīng)在類MyClass的定義中加入語句 【10】 。 (11)下列程序的輸出結(jié)果為012,請根據(jù)注釋將橫線處的缺失部分補(bǔ)充完整。 #include using namespace std; class Test public: Test(int a) data=a; Test() void print()

17、cout< private: int data; ; int main() Test t3= 【11】 ;/對有3個元素的Test類對象數(shù)組t初始化 for(int i=0;i<3;i+) ti.print(); return 0; (12)請在橫線處填寫派生類Derived的繼承方式,使得程序的輸出結(jié)果為Base。 #include using namespace std; class Base public: void print()cout<<"Base" ; class Derived: 【12】 Base; int main() Deriv

18、ed d; d.print(); return 0; (13)下列程序的輸出結(jié)果為1 2.3 2 4.6,請將橫線處的缺失部分補(bǔ)充完整。 #include using namespace std; class Base public: Base(int a):idata(a) void print()cout< private: int idata; ; class Derived:public Base public: Derived(int a,double b): 【13】 ,ddata(b) void print()Base:print();cout< private: d

19、ouble ddata; ; int main() Derived d1(1,2.3),d2(2,4.6); d1.print(); d2.print(); return 0; (14)下列程序的輸出結(jié)果為-5/8 -3/4,請將橫線處的缺失部分補(bǔ)充完整。 #include using namespace std; class Fraction /"分?jǐn)?shù)"類 public: Fraction(double a,double b):num(a),den(b) Fraction() /重載取負(fù)運(yùn)算符"-",返回一個分?jǐn)?shù)對象,其分子是原來分子的相反數(shù)。 Fraction operator -() 【14】 return f; void print() cout<<'/'< private: double num; /分子 double den; /分母 ; int main() Fraction f1(5,8),f2(3,4); (-f1).print();(-f2).print(); return 0; (15)函數(shù)Min的功能是返回具有n個元

溫馨提示

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

評論

0/150

提交評論