C語(yǔ)言程序設(shè)計(jì)自測(cè)題及答案_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)自測(cè)題及答案_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)自測(cè)題及答案_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)自測(cè)題及答案_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)自測(cè)題及答案_第5頁(yè)
已閱讀5頁(yè),還剩28頁(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、C+語(yǔ)言程序設(shè)計(jì)自測(cè)練習(xí)一、單項(xiàng)選擇題 1. 面向?qū)ο筌浖_(kāi)發(fā)中使用的OOA表示( )。 A. 面向?qū)ο蠓治?B. 面向?qū)ο笤O(shè)計(jì) C. 面向?qū)ο笳Z(yǔ)言 D. 面向?qū)ο蠓椒?2. 面向?qū)ο筌浖_(kāi)發(fā)中使用的OOD表示( )。 A. 面向?qū)ο蠓治?B. 面向?qū)ο笤O(shè)計(jì) C. 面向?qū)ο笳Z(yǔ)言 D. 面向?qū)ο蠓椒?3. 關(guān)于面向?qū)ο笙到y(tǒng)分析,下列說(shuō)法中不正確的是( )。 A. 術(shù)語(yǔ)“面向?qū)ο蠓治觥笨梢杂每s寫(xiě)OOA表示 B. 面向?qū)ο蠓治鲭A段對(duì)問(wèn)題域的描述比實(shí)現(xiàn)階段更詳細(xì) C. 面向?qū)ο蠓治霭▎?wèn)題域分析和應(yīng)用分析兩個(gè)步驟 D. 面向?qū)ο蠓治鲂枰R(shí)別對(duì)象的內(nèi)部和外部特征 4. 在一個(gè)類(lèi)的定義中,包含有( )成員

2、的定義。 A. 數(shù)據(jù) B. 函數(shù) C. 數(shù)據(jù)和函數(shù) D. 數(shù)據(jù)或函數(shù) 5. 在類(lèi)作用域中能夠通過(guò)直接使用該類(lèi)的( )成員名進(jìn)行訪問(wèn)。 A. 私有 B. 公用 C. 保護(hù) D. 任何 6. 在關(guān)鍵字public后面定義的成員為類(lèi)的( )成員。 A. 私有 B. 公用 C. 保護(hù) D. 任何 7. 在關(guān)鍵字private后面定義的成員為類(lèi)的( )成員。 A. 私有 B. 公用 C. 保護(hù) D. 任何8. 假定AA為一個(gè)類(lèi),a為該類(lèi)公有的數(shù)據(jù)成員,x為該類(lèi)的一個(gè)對(duì)象,則訪問(wèn)x對(duì)象中數(shù)據(jù)成員a的格式為( )。 A. x(a) B. xa C. x-a D. x.a9. 假定AA為一個(gè)類(lèi),a()為該類(lèi)公

3、有的函數(shù)成員,x為該類(lèi)的一個(gè)對(duì)象,則訪問(wèn)x對(duì)象中函數(shù)成員a()的格式為( )。 A. x.a B. x.a() C. x-a D. x-a()10. 假定AA為一個(gè)類(lèi),a為該類(lèi)公有的數(shù)據(jù)成員,px為指向該類(lèi)對(duì)象的一個(gè)指針,則訪問(wèn)px所指對(duì)象中數(shù)據(jù)成員a的格式為( )。 A. px(a) B. pxa C. px-a D. px.a11. 假定AA為一個(gè)類(lèi),a為該類(lèi)私有的數(shù)據(jù)成員,GetValue()為該類(lèi)公有函數(shù)成員,它返回a的值,x為該類(lèi)的一個(gè)對(duì)象,則訪問(wèn)x對(duì)象中數(shù)據(jù)成員a的格式為( )。 A. x.a B. x.a() C. x-GetValue() D. x.GetValue() 12.

4、 假定AA為一個(gè)類(lèi),int a()為該類(lèi)的一個(gè)成員函數(shù),若該成員函數(shù)在類(lèi)定義體外定義,則函數(shù)頭為( )。 A. int AA:a() B. int AA:a() C. AA:a() D. AA:int a() 13. 假定AA為一個(gè)類(lèi),a為該類(lèi)公有的數(shù)據(jù)成員,若要在該類(lèi)的一個(gè)成員函數(shù)中訪問(wèn)它,則書(shū)寫(xiě)格式為( )。 A. a B. AA:a C. a() D. AA:a() 14. 若需要把一個(gè)類(lèi)外定義的成員函數(shù)指明為內(nèi)聯(lián)函數(shù),則必須把關(guān)鍵字( )放在函數(shù)原型或函數(shù)頭的前面。 A. in B. inline C. inLine D. InLiner 15. 在多文件結(jié)構(gòu)的程序中,通常把類(lèi)的定義單

5、獨(dú)存放于( )中。 A. 主文件 B. 實(shí)現(xiàn)文件 C. 庫(kù)文件 D. 頭文件 16. 在多文件結(jié)構(gòu)的程序中,通常把類(lèi)中所有非內(nèi)聯(lián)函數(shù)的定義單獨(dú)存放于( )中。 A. 主文件 B. 實(shí)現(xiàn)文件 C. 庫(kù)文件 D. 頭文件 17. 在多文件結(jié)構(gòu)的程序中,通常把含有main()函數(shù)的文件稱(chēng)為( )。 A. 主文件 B. 實(shí)現(xiàn)文件 C. 程序文件 D. 頭文件 18. 一個(gè)C+程序文件的擴(kuò)展名為( )。 A. .h B. .c C. .cpp D. .cp 19. 在C+程序中使用的cin標(biāo)識(shí)符是系統(tǒng)類(lèi)庫(kù)中定義的( )類(lèi)中的一個(gè)對(duì)象。 A. istream B. ostream C. iostream

6、D. fstream 20. 在C+程序中使用的cout標(biāo)識(shí)符是系統(tǒng)類(lèi)庫(kù)中定義的( )類(lèi)中的一個(gè)對(duì)象。 A. istream B. ostream C. iostream D. fstream 21. 假定AA是一個(gè)類(lèi),abc是該類(lèi)的一個(gè)成員函數(shù),則參數(shù)表中隱含的第一個(gè)參數(shù)的類(lèi)型為( )。 A. int B. char C. AA D. AA* 22. 假定AA是一個(gè)類(lèi),abc是該類(lèi)的一個(gè)成員函數(shù),則參數(shù)表中隱含的第一個(gè)參數(shù)為( )。 A. abc B. *this C. this D. this& 23. 假定AA是一個(gè)類(lèi),“AA& abc();”是該類(lèi)中一個(gè)成員函數(shù)的原型,若該函數(shù)存在對(duì)*

7、this賦值的語(yǔ)句,當(dāng)用x.abc()調(diào)用該成員函數(shù)后,x的值( )。 A. 已經(jīng)被改變 B. 可能被改變 C. 不變 D.不受函數(shù)調(diào)用的影響 24. 假定AA是一個(gè)類(lèi),“AA* abc()const;”是該類(lèi)中一個(gè)成員函數(shù)的原型,若該函數(shù)返回this值,當(dāng)用x.abc()調(diào)用該成員函數(shù)后,x的值( )。 A. 已經(jīng)被改變 B. 可能被改變 C. 不變 D. 受到函數(shù)調(diào)用的影響 25. 類(lèi)中定義的成員默認(rèn)為( )訪問(wèn)屬性。 A. public B. private C. protected D. friend 26. 結(jié)構(gòu)中定義的成員默認(rèn)為( )訪問(wèn)屬性。 A. public B. priva

8、te C. protected D. friend 27. 當(dāng)類(lèi)中一個(gè)字符指針成員指向具有n個(gè)字節(jié)的存儲(chǔ)空間時(shí),它所能存儲(chǔ)字符串的最大長(zhǎng)度為( )。 A. n B. n+1 C. n-1 D. n-2 28. 在一個(gè)用數(shù)組實(shí)現(xiàn)的隊(duì)列類(lèi)中,假定數(shù)組長(zhǎng)度為MS,隊(duì)首元素位置為first,隊(duì)列長(zhǎng)度為length,則隊(duì)尾(即最后一個(gè))元素的位置為( )。 A. length+1 B. first+length C. (first+length-1)%MS D. (first+length)%MS 29. 在一個(gè)用數(shù)組實(shí)現(xiàn)的隊(duì)列類(lèi)中,假定數(shù)組長(zhǎng)度為MS,隊(duì)首元素位置為first,隊(duì)列長(zhǎng)度為length,

9、則隊(duì)尾的后一個(gè)位置為( )。 A. length+1 B. first+length C. (first+length-1)%MS D. (first+length)%MS 30. 在一個(gè)用數(shù)組實(shí)現(xiàn)的隊(duì)列類(lèi)中,假定數(shù)組長(zhǎng)度為MS,隊(duì)首元素位置為first,隊(duì)列長(zhǎng)度為length,則隊(duì)首的后一個(gè)位置為( )。 A. first+1 B. (first+1)%MS C. (first-1)%MS D. (first+length)%MS 31. 在一個(gè)用鏈表實(shí)現(xiàn)的隊(duì)列類(lèi)中,假定每個(gè)結(jié)點(diǎn)包含的值域用elem表示,包含的指針域用next表示,鏈隊(duì)的隊(duì)首指針用elemHead表示,隊(duì)尾指針用elemTa

10、il表示,若鏈隊(duì)非空,則進(jìn)行插入時(shí)必須把新結(jié)點(diǎn)的位置賦給( )。 A. elemHead B. elemTail C. elemHead-next和elemHead D. elemTail-next和elemTail 32. 在一個(gè)用鏈表實(shí)現(xiàn)的隊(duì)列類(lèi)中,假定每個(gè)結(jié)點(diǎn)包含的值域用elem表示,包含的指針域用next表示,鏈隊(duì)的隊(duì)首指針用elemHead表示,隊(duì)尾指針用elemTail表示,若鏈隊(duì)為空,則進(jìn)行插入時(shí)必須把新結(jié)點(diǎn)的位置賦給( )。 A. elemHead B. elemTail C. elemHead和elemTail D. elemHead或elemTail 33. 隊(duì)列具有( )

11、的操作特性。 A. 先進(jìn)先出 B. 先進(jìn)后出 C. 進(jìn)出無(wú)序 D. 進(jìn)出任意 34. 棧具有( )的操作特性。 A. 先進(jìn)先出 B. 先進(jìn)后出 C. 進(jìn)出無(wú)序 D. 進(jìn)出任意 35. 對(duì)于一個(gè)類(lèi)的構(gòu)造函數(shù),其函數(shù)名與類(lèi)名( )。 A. 完全相同 B. 基本相同 C. 不相同 D. 無(wú)關(guān)系 36. 對(duì)于一個(gè)類(lèi)的析構(gòu)函數(shù),其函數(shù)名與類(lèi)名( )。 A. 完全相同 B. 完全不同 C. 只相差一個(gè)字符 D. 無(wú)關(guān)系 37. 類(lèi)的構(gòu)造函數(shù)是在定義該類(lèi)的一個(gè)( )時(shí)被自動(dòng)調(diào)用執(zhí)行的。 A. 成員函數(shù) B. 數(shù)據(jù)成員 C. 對(duì)象 D. 友元函數(shù) 38. 類(lèi)的析構(gòu)函數(shù)是一個(gè)對(duì)象被( )時(shí)自動(dòng)調(diào)用的。 A. 建

12、立 B. 撤消 C. 賦值 D. 引用 39. 一個(gè)類(lèi)的構(gòu)造函數(shù)通常被定義為該類(lèi)的( )成員。 A. 公用 B. 保護(hù) C. 私有 D. 友元 40. 一個(gè)類(lèi)的析構(gòu)函數(shù)通常被定義為該類(lèi)的( )成員。 A. 私有 B. 保護(hù) C. 公用 D. 友元 41. 假定AB為一個(gè)類(lèi),則執(zhí)行 “AB x;”語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的( )。 A. 帶參構(gòu)造函數(shù) B. 無(wú)參構(gòu)造函數(shù) C. 拷貝構(gòu)造函數(shù) D. 賦值重載函數(shù) 42. 假定AB為一個(gè)類(lèi),則執(zhí)行 “AB x(a,5);”語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的( )。 A. 帶參構(gòu)造函數(shù) B. 無(wú)參構(gòu)造函數(shù) C. 拷貝構(gòu)造函數(shù) D. 賦值重載函數(shù) 43. 假定AB為一個(gè)

13、類(lèi),則執(zhí)行 “AB *s=new AB(a,5);”語(yǔ)句時(shí)得到的一個(gè)動(dòng)態(tài)對(duì)象為_(kāi)。 A. s B. s-a C. s.a D. *s 44. 假定AB為一個(gè)類(lèi),則執(zhí)行 “AB r1=r2;”語(yǔ)句時(shí)將自動(dòng)調(diào)用該類(lèi)的( )。 A. 無(wú)參構(gòu)造函數(shù) B. 帶參構(gòu)造函數(shù) C. 賦值重載函數(shù) D. 拷貝構(gòu)造函數(shù) 45. 若需要使類(lèi)中的一個(gè)指針成員指向一塊動(dòng)態(tài)存儲(chǔ)空間,則通常在( )函數(shù)中完成。 A. 析構(gòu) B. 構(gòu)造 C. 任一成員 D. 友元 46. 當(dāng)類(lèi)中的一個(gè)整型指針成員指向一塊具有n*sizeof(int)大小的存儲(chǔ)空間時(shí),它最多能夠存儲(chǔ)( )個(gè)整數(shù)。 A. n B. n+1 C. n-1 D.

14、1 47. 假定一個(gè)類(lèi)的構(gòu)造函數(shù)為 “A(int aa, int bb) a=aa; b=aa*bb;”,則執(zhí)行 “A x(4,5);”語(yǔ)句后,x.a和x.b的值分別為( )。 A. 4和5 B. 5和4 C. 4和20 D. 20和5 48. 假定一個(gè)類(lèi)的構(gòu)造函數(shù)為 “A(int aa=1, int bb=0) a=aa; b=bb;”,則執(zhí)行 “A x(4);”語(yǔ)句后,x.a和x.b的值分別為( )。 A. 1和0 B. 1和4 C. 4和1 D. 4和0 49. 假定AB為一個(gè)類(lèi),則( )為該類(lèi)的拷貝構(gòu)造函數(shù)的原型說(shuō)明。 A. AB(AB x); B. AB(AB& x); C. voi

15、d AB(AB& x); D. AB(int x); 50. 假定一個(gè)類(lèi)的構(gòu)造函數(shù)為 “B(int ax, int bx): a(ax), b(bx) ”,執(zhí)行 “B x(1,2),y(3,4);x=y;”語(yǔ)句序列后x.a的值為( )。 A. 1 B. 2 C. 3 D. 4二、填空 1假定a是一個(gè)一維指針數(shù)組,則a+i所指對(duì)象的位置比a大_字節(jié)。 2. 假定a是一個(gè)一維數(shù)組,則ai的指針訪問(wèn)方式為_(kāi)。 3. 假定a是一個(gè)一維數(shù)組,則ai對(duì)應(yīng)的存儲(chǔ)位置(以字節(jié)為單位)為_(kāi)。 4. 一個(gè)數(shù)組的數(shù)組名實(shí)際上是指向該數(shù)組_元素的指針,并且在任何時(shí)候都不允許_它。 5. 假定指向一維數(shù)組b中元素b4的

16、指針為p,則p+3所指向的元素為_(kāi),p-2所指向的元素為_(kāi)。 6若要定義整型指針p并初始指向x,則所使用的定義語(yǔ)句為_(kāi)。 7. 若p指向x,則_與x的表示是等價(jià)的。 8. 在一個(gè)二維數(shù)組int amn中,包含的一維元素ai的類(lèi)型為_(kāi),訪問(wèn)ai時(shí)返回值的類(lèi)型為_(kāi)。 9. 假定一個(gè)二維數(shù)組為c58,則c3的值為二維元素_的位置,c3+2的值為二維元素_的位置。 10. 假定p為指向二維數(shù)組int d46的指針,則p的類(lèi)型為_(kāi)。 11. 假定a是一個(gè)二維數(shù)組,則aij的指針訪問(wèn)方式為_(kāi)。 12. 若要把y定義為整型變量x的引用,則所使用的定義語(yǔ)句為_(kāi)。 13. 若y是x的引用,則對(duì)y的操作就是對(duì)_的

17、操作。 14. 若y是x的引用,則&y和&x的值_,即為變量_的位置。 15. 執(zhí)行int p=new int操作得到的一個(gè)動(dòng)態(tài)分配的整型對(duì)象為_(kāi)。 16. 執(zhí)行int *p=new int10操作,使p指向動(dòng)態(tài)分配的數(shù)組中下標(biāo)為0的元素,該元素可表示為_(kāi)或_。 17. 執(zhí)行char *p=new char(a)操作后,p所指向的數(shù)據(jù)對(duì)象的值為_(kāi)。 18. 執(zhí)行new charmn操作時(shí)的返回值的類(lèi)型為_(kāi)。 19. 執(zhí)行_操作將釋放由p所指向的動(dòng)態(tài)分配的數(shù)據(jù)空間。 20. 執(zhí)行_操作將釋放由p所指向的動(dòng)態(tài)分配的數(shù)組空間。 21. NULL是一個(gè)符號(hào)常量,通常作為空指針值,它的具體值為_(kāi)。 22

18、. 變量v定義為“double v=23.4;”,要使指針pv指向v,則定義pv的語(yǔ)句為_(kāi)。 23. 已知語(yǔ)句“coutp;”的輸出是“Hello!”,則語(yǔ)句“cout*p;”輸出的是_。 24. 已知語(yǔ)句“couts;”的輸出是“apple”,則執(zhí)行語(yǔ)句“coutname等價(jià)的表達(dá)式是_。 28. 與結(jié)構(gòu)成員訪問(wèn)表達(dá)式(*fp).score等價(jià)的表達(dá)式是_。 29. 已知變量a定義為“int a=5;”,要使ra成為a的引用,則ra應(yīng)定義為_(kāi)。 30. 已知有定義“int x, a=5,7,9, *pa=a;”,在執(zhí)行“x=+*pa;”語(yǔ)句后,x的值是_。 31已知有定義“int x, a=

19、6,10,12, *pa=a;”,在執(zhí)行“x=*+pa;”語(yǔ)句后,*pa的值是_。 32. 已知有定義“int x, a=15,17,19, *pa=a;”,在執(zhí)行“x=*pa+;”后,*pa的值是_。 33. 以面向?qū)ο蠓椒?gòu)造的系統(tǒng),其基本單位是_。 34. 每個(gè)對(duì)象都是所屬類(lèi)的一個(gè)_。 35. 對(duì)象將其大部分實(shí)現(xiàn)細(xì)節(jié)隱藏起來(lái),這種機(jī)制稱(chēng)為_(kāi)。 36. 基類(lèi)和派生類(lèi)的關(guān)系稱(chēng)為_(kāi)。 37. 復(fù)雜對(duì)象可以由簡(jiǎn)單對(duì)象構(gòu)成,這種現(xiàn)象稱(chēng)為_(kāi)。 38. 對(duì)象是對(duì)問(wèn)題域中客觀事物的_,它是一組屬性和在這些屬性上操作的_。 39. 特殊類(lèi)的對(duì)象擁有其一般類(lèi)的全部屬性與操作,稱(chēng)特殊類(lèi)_了一般類(lèi)。 40. 如

20、果一個(gè)派生類(lèi)的基類(lèi)不止一個(gè),則這種繼承稱(chēng)為_(kāi)。 41. 如果一個(gè)派生類(lèi)只有一個(gè)唯一的基類(lèi),則這樣的繼承關(guān)系稱(chēng)為_(kāi)。 42. C+支持兩種多態(tài)性:_時(shí)的多態(tài)性和_時(shí)的多態(tài)性。 43. 在C+中,編譯時(shí)的多態(tài)性是通過(guò)_實(shí)現(xiàn)的,而運(yùn)行時(shí)的多態(tài)性則是通過(guò)_實(shí)現(xiàn)的。 44. 面向?qū)ο筌浖_(kāi)發(fā)的生命周期分為三個(gè)階段,即分析、_和_。 45. 面向?qū)ο蟮姆治霭╛分析和_分析兩步。 46. 類(lèi)定義中,既包含數(shù)據(jù)成員,也包含_成員。 47. 類(lèi)中的數(shù)據(jù)成員的訪問(wèn)屬性通常被指明為_(kāi)。 48. 類(lèi)中的供外部調(diào)用定義的函數(shù)成員,其訪問(wèn)屬性通常被定義為_(kāi)。 49. 對(duì)于類(lèi)中定義的任何成員,其隱含訪問(wèn)權(quán)限為_(kāi)。 50.

21、 對(duì)于結(jié)構(gòu)中定義的任何成員,其隱含訪問(wèn)權(quán)限為_(kāi)。 51. 為了使類(lèi)中的成員不能被類(lèi)外的函數(shù)通過(guò)成員操作符訪問(wèn),則應(yīng)把該成員的訪問(wèn)權(quán)限定義為_(kāi)。 52. 若在類(lèi)的定義體中給出了一個(gè)成員函數(shù)的完整定義,則該函數(shù)屬于_函數(shù)。 53. 若在類(lèi)的定義體中只給出了一個(gè)成員函數(shù)的原型,而在類(lèi)外給出完整定義時(shí),則其函數(shù)名前必須加上_和兩個(gè)冒號(hào)分隔符。 54. 若在類(lèi)的定義體中只給出了一個(gè)成員函數(shù)的原型,則在類(lèi)外給出完整定義時(shí),其函數(shù)名前必須加上類(lèi)名和_分隔符。 55. 若要把類(lèi)外定義的成員函數(shù)規(guī)定為內(nèi)聯(lián)函數(shù),則必須把_關(guān)鍵字放到函數(shù)原型或函數(shù)頭的前面。 56. 把一個(gè)類(lèi)的定義體和所有成員函數(shù)的定義體所構(gòu)成的程

22、序范圍叫做該類(lèi)的_。 57. 假定AA是一個(gè)類(lèi),“AA* abc();”是該類(lèi)中一個(gè)成員函數(shù)的原型,則在類(lèi)外定義時(shí)的函數(shù)頭為_(kāi)。 58. 成員函數(shù)的參數(shù)表在類(lèi)作用域中,成員函數(shù)的返回值類(lèi)型_類(lèi)作用域中。 59. 為了避免在調(diào)用成員函數(shù)時(shí)修改對(duì)象中的任何數(shù)據(jù)成員,則應(yīng)在定義該成員函數(shù)時(shí),在函數(shù)頭的后面加上_關(guān)鍵字。 60. 若只需要通過(guò)一個(gè)成員函數(shù)讀取數(shù)據(jù)成員的值,而不需要修改它,則應(yīng)在函數(shù)頭的后面加上_關(guān)鍵字。 61. 在每個(gè)成員函數(shù)中,隱含的第一個(gè)參數(shù)的參數(shù)名為_(kāi)。 62. 數(shù)組a定義為“int a100;”,要使pj 與aj 等效,則指針p應(yīng)定義為_(kāi)。三、程序填充,對(duì)程序、函數(shù)或類(lèi)中劃有橫

23、線的位置,根據(jù)題意按標(biāo)號(hào)把合適的內(nèi)容填寫(xiě)到程序下面相應(yīng)標(biāo)號(hào)的后面 1. 已知一維數(shù)組類(lèi)ARRAY的定義如下,ARRAY與普通一維數(shù)組區(qū)別是:其重載的運(yùn)算符 要對(duì)下標(biāo)是否越界進(jìn)行檢查。class ARRAY int *v; /指向存放數(shù)組數(shù)據(jù)的空間int s; /數(shù)組大小 public: ARRAY(int a, int n); ARRAY()delete v; int size() return s; int& operator(int n); ;_(1)_ operator(int n) / 的運(yùn)算符成員函數(shù)定義if(n0 | _(2)_) cerr下標(biāo)越界!; exit(1); retur

24、n _(3)_;(1) (2) (3) 2. 已知一維數(shù)組類(lèi)ARRAY的定義如下,構(gòu)造函數(shù)的作用是把參數(shù)n的值賦給s,給v動(dòng)態(tài)分配長(zhǎng)度為n的數(shù)組空間,接著利用數(shù)組參數(shù)a初始化v所指向的數(shù)組。class ARRAYint *v; /指向存放數(shù)組數(shù)據(jù)的空間int s; /數(shù)組大小 public: ARRAY(int a, int n); ARRAY()delete v; int size() return s; int& operator(int n); ;_(1)_ ARRAY(int a, int n)if(n=0) v=NULL;s=0;return;s=n;v=_(2)_;for(int

25、i=0; in; i+) _(3)_;(1) (2) (3) 3. 下面是一維數(shù)組類(lèi)ARRAY的定義,ARRAY與普通一維數(shù)組區(qū)別是:(a)用()而不是進(jìn)行下標(biāo)訪問(wèn),(2)下標(biāo)從1而不是從0開(kāi)始,(c)要對(duì)下標(biāo)是否越界進(jìn)行檢查。class ARRAY int *v; /指向存放數(shù)組數(shù)據(jù)的空間int s; /數(shù)組大小 public: ARRAY(int a, int n); ARRAY()delete v; int size() return s; int& operator()(int n); _(1)_ operator()(int n) / ()的運(yùn)算符函數(shù)定義 if(_(2)_) cer

26、r下標(biāo)越界!; exit(1); return _(3)_;(1) (2) (3) 4. 已知一個(gè)類(lèi)的定義如下:#includeclass AA int a10;int n;public:void SetA(int aa, int nn); /用數(shù)組aa初始化數(shù)據(jù)成員a, /用nn初始化數(shù)據(jù)成員nint MaxA(); /從數(shù)組a中前n個(gè)元素中查找最大值void SortA(); /采用選擇排序的方法對(duì)數(shù)組a中前n個(gè)元素 /進(jìn)行從小到大排序 void InsertA();/采用插入排序的方法對(duì)數(shù)組a中前n個(gè)元素進(jìn)行從小到大排序void PrintA(); /依次輸出數(shù)組a中的前n個(gè)元素; 該類(lèi)

27、中MaxA()函數(shù)的實(shí)現(xiàn)如下,請(qǐng)?jiān)跇?biāo)號(hào)位置補(bǔ)充適當(dāng)?shù)膬?nèi)容。int _(1)_ int x=a0;for(int i=1; ix) _(2)_;_(3)_;(1) (2) (3) 5. 已知一個(gè)類(lèi)的定義如下:#includeclass AA int a10;int n;public:void SetA(int aa, int nn); /用數(shù)組aa初始化數(shù)據(jù)成員a, /用nn初始化數(shù)據(jù)成員nint MaxA(); /從數(shù)組a中前n個(gè)元素中查找最大值void SortA(); /采用選擇排序的方法對(duì)數(shù)組a中前n個(gè)元素 /進(jìn)行從小到大排序 void InsertA();/采用插入排序的方法對(duì)數(shù)組a中

28、前n個(gè)元素進(jìn)行從小到大排序void PrintA(); /依次輸出數(shù)組a中的前n個(gè)元素;void AA:SortA()int i,j;for(i=0; _(1)_; i+) int x=ai, k=i;for(j=i+1; jn; j+)if(ajx) _(2)_ak=ai;_(3)_;(1) (2) (3) 6. 已知一個(gè)類(lèi)的定義如下:#includeclass AA int a10;int n;public:void SetA(int aa, int nn); /用數(shù)組aa初始化數(shù)據(jù)成員a, /用nn初始化數(shù)據(jù)成員nint MaxA(); /從數(shù)組a中前n個(gè)元素中查找最大值void Sor

29、tA(); /采用選擇排序的方法對(duì)數(shù)組a中前n個(gè)元素 /進(jìn)行從小到大排序 void InsertA();/采用插入排序的方法對(duì)數(shù)組a中前n個(gè)元素進(jìn)行從小到大排序void PrintA(); /依次輸出數(shù)組a中的前n個(gè)元素;void _(1)_ /插入排序函數(shù)int i,j;for(i=1; i=0; j-)if(xaj) _(2)_;else _(3)_;aj+1=x;(1) (2) (3) 7. 已知一個(gè)類(lèi)的定義如下:#includeclass AA int a10;int n;public:void SetA(int aa, int nn); /用數(shù)組aa初始化數(shù)據(jù)成員a, /用nn初始化

30、數(shù)據(jù)成員nint MaxA(); /從數(shù)組a中前n個(gè)元素中查找最大值void SortA(); /采用選擇排序的方法對(duì)數(shù)組a中前n個(gè)元素 /進(jìn)行從小到大排序 void InsertA();/采用插入排序的方法對(duì)數(shù)組a中前n個(gè)元素進(jìn)行從小到大排序void PrintA(); /依次輸出數(shù)組a中的前n個(gè)元素 /最后輸出一個(gè)換行; 使用該類(lèi)的主函數(shù)如下:void main()int a10=23,78,46,55,62,76,90,25,38,42;AA x; _(1)_;int m=_(2)_;_(3)_;coutmendl; 該程序運(yùn)行結(jié)果為:23 78 46 55 62 7678(1) (2)

31、 (3) 8. 已知一個(gè)類(lèi)的定義如下:#includeclass AA int a10;int n;public:void SetA(int aa, int nn); /用數(shù)組aa初始化數(shù)據(jù)成員a, /用nn初始化數(shù)據(jù)成員nint MaxA(); /從數(shù)組a中前n個(gè)元素中查找最大值void SortA(); /采用選擇排序的方法對(duì)數(shù)組a中前n個(gè)元素 /進(jìn)行從小到大排序void PrintA(); /依次輸出數(shù)組a中的前n個(gè)元素, /最后輸出一個(gè)換行; 使用該類(lèi)的主函數(shù)如下:void main()int a10=23,78,46,55,62,76,90,25,38,42;_(1)_; x.Set

32、A(a,8);int _(2)_;_(3)_;x.PrintA(); coutmendl; 該程序運(yùn)行結(jié)果為:23 25 46 55 62 76 78 9090(1) (2) (3) 9. 已知一個(gè)利用數(shù)組實(shí)現(xiàn)棧的類(lèi)定義如下:const int ARRAY_SIZE=10;class Stack public:void Init() top=-1; /初始化棧為空 void Push(int newElem); /向棧中壓入一個(gè)元素int Pop(); /從棧頂彈出一個(gè)元素bool Empty() /判???if(top=-1) return true;else return false;in

33、t Depth() return top+1; /返回棧的深度void Print(); /按照后進(jìn)先出原則依次輸出棧中每個(gè)元素,直到棧空為止private:int elemARRAY_SIZE; /用于保存棧元素的數(shù)組int top; /指明棧頂元素位置的指針;void Stack:Push(int newElem) if(_(1)_) cout棧滿!endl;exit(1); /中止運(yùn)行_(2)_;elemtop=_(3)_;(1) (2) (3) 10. 已知一個(gè)利用數(shù)組實(shí)現(xiàn)棧的類(lèi)定義如下:const int ARRAY_SIZE=10;class Stack public:void I

34、nit() top=-1; /初始化棧為空 void Push(int newElem); /向棧中壓入一個(gè)元素int Pop(); /從棧頂彈出一個(gè)元素bool Empty() /判???if(top=-1) return true;else return false;int Depth() return top+1; /返回棧的深度void Print(); /按照后進(jìn)先出原則依次輸出棧中每個(gè)元素,直到??諡橹筽rivate:int elemARRAY_SIZE; /用于保存堆棧元素的數(shù)組int top; /指明棧頂元素位置的指針; 該類(lèi)的Pop和Print函數(shù)的實(shí)現(xiàn)分別如下:_(1)_

35、if(top=-1) cout棧空!endl;exit(1); /中止運(yùn)行return _(2)_;void Stack:Print() while(!Empty() cout_(3)_ ;(1) (2) (3)四、寫(xiě)出程序運(yùn)行結(jié)果 1. #include void main() int a10=76,83,54,62,40,75,90,92,77,84; int b4=60,70,90,101; int c4=0; for(int i=0;i=bj) j+; cj+; for(i=0;i4;i+) coutci ; coutendl; 2. #include #include void ma

36、in() char a510=student,worker,soldier,cadre,peasant; char s110, s210; strcpy(s1,a0); strcpy(s2,a0); for(int i=1;i0) strcpy(s1,ai); if(strcmp(ai, s2)0) strcpy(s2,ai); couts1 s2endl; 3. #include const int N=5; void fun(); void main() for(int i=1; iN; i+) fun(); void fun() static int a; int b=2; cout(a

37、+=3,a+b) ; 4. #include void main() char s35=1234,abcd,+-*/; char *p3; for(int I=0;I=0;I-) coutpI ; coutendl; 5. #include void main() int i,j,len3; char a38=year,month,day; for(i=0;i3;i+) for(j=0;j8;j+) if(aij=0) leni=j;break; coutai:leniendl; 6. #include #include class CD char* a; int b; public: voi

38、d Init(char* aa, int bb) a=new charstrlen(aa)+1; strcpy(a,aa); b=bb; char* Geta() return a; int Getb() return b; void Output() couta bendl; dx;void main()CD dy;dx.Init(abcdef,30);dy.Init(shenyafen,3*dx.Getb()+5);dx.Output();dy.Output(); 7#include #include class CD char* a; int b; public: void Init(char* aa, int bb) a=new charstrlen(aa)+1; strcpy(a,aa); b=bb; char*

溫馨提示

  • 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)論