C++期末考試題及答案(精編版)_第1頁(yè)
C++期末考試題及答案(精編版)_第2頁(yè)
C++期末考試題及答案(精編版)_第3頁(yè)
已閱讀5頁(yè),還剩2頁(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、- - 一、選擇填空題(共20 小題,每小題2 分,共 40 分) 。. 關(guān)于 c+與 c 語(yǔ)言關(guān)系的描述中,(d )是錯(cuò)誤的。 .c 語(yǔ)言是 c+語(yǔ)言的一個(gè)子集bc 語(yǔ)言與 c+語(yǔ)言是兼容的c c+語(yǔ)言對(duì)語(yǔ)言進(jìn)行了一些改進(jìn)d.+語(yǔ)言和 c 語(yǔ)言都是面向?qū)ο蟮?按照標(biāo)識(shí)符的要求,(a )符號(hào)不能組成標(biāo)識(shí)符。連接符b.下劃線c.大小寫(xiě)字母d.數(shù)字字符3. 為了避免嵌套的if-el e 語(yǔ)句的二義性,c 語(yǔ)言規(guī)定ele 總是與 ( )組成配對(duì)關(guān)系。a.縮排位置相同的i.在其之前未配對(duì)的if .在其之前未配對(duì)的最近的f d.同一行上的i4 在int a 3 1, ,2 , 5,0;中, a2 的值是

2、 (c)。a.1 c.6 2 5. 設(shè)char * ; ,以下正確的表達(dá)式是() 。a.s=copter; b.*scmputer; .*s=c mputer; d =c;6. 對(duì)于 n * a5; 的描述中, (d ) 是正確的。a pa 是一個(gè)指向數(shù)組的指針,所指向的數(shù)組是5 個(gè) int 型元素b pa 是一個(gè)指向某數(shù)組中第5 個(gè)元素的指針 ,該元素是 nt 型變量.pa 表示某個(gè)元素的第5 個(gè)元素的值d a 是一個(gè)具有5 個(gè)元素的指針數(shù)組,每個(gè)元素是一個(gè)int 型指針7在下列表示引用的方法中,(a )是正確的。已知: int m= ; x=m; b.iny= ; c.nt &

3、amp;z; oat=&m; . 下列 for 循環(huán)的次數(shù)為(b)。fr(i=0,=;!x&i=5; i+) .b.c.d.無(wú)限9. 對(duì)于 cc+語(yǔ)言的函數(shù),下列敘述中正確的是(a) 。- - a.函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套b.函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套c.函數(shù)的定義和調(diào)用都不能嵌套d.函數(shù)的定義和調(diào)用都可以嵌套在一個(gè)被調(diào)用函數(shù)中,關(guān)于 eturn 語(yǔ)句使用的描述,( )是錯(cuò)誤的。a.被調(diào)用函數(shù)中可以不用re rn 語(yǔ)句b.被調(diào)用函數(shù)中可以使用多個(gè)et語(yǔ)句c.被調(diào)用函數(shù)中,如果有返回值,就一定要有etrn 語(yǔ)句d.被調(diào)用函數(shù)中,一個(gè) eturn 語(yǔ)句可以

4、返回多個(gè)值給調(diào)用函數(shù)1. 在一個(gè)函數(shù)中,要求通過(guò)函數(shù)來(lái)實(shí)現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用(a ) 。a.內(nèi)聯(lián)函數(shù).重載函數(shù)c.遞歸調(diào)用d.嵌套調(diào)用2. 使用 fseek 函數(shù)可以實(shí)現(xiàn)的操作是( a)。.改變文件指針的當(dāng)前位置 .文件的順序讀寫(xiě).文件的隨機(jī)讀寫(xiě)d.以上都不對(duì)13. 下列存儲(chǔ)標(biāo)識(shí)符中,(c )的可見(jiàn)性與存在性不一致。.外部類(lèi)b.自動(dòng)類(lèi)c.內(nèi)部靜態(tài)類(lèi)d.寄存器類(lèi)14 在如下結(jié)構(gòu)定義中,不正確的是(b )。a.srcstudn t ;charname1; floscore; ; .truct stud20 ntn; cha n e10; flat scor;; c.st

5、ruct sue tno;cha am10; foat s re; stu20; . rut - - inno; car a 10;flos ore; stud10 ;15 將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串時(shí),選用(c )函數(shù)。a.srln( )b.strcpy()c.str at( ) .strcp( )1. (d )不是構(gòu)造函數(shù)的特征.構(gòu)造函數(shù)的函數(shù)名與類(lèi)名相同b.構(gòu)造函數(shù)可以重載c.構(gòu)造函數(shù)可以設(shè)置缺省參數(shù)d.構(gòu)造函數(shù)必須指定類(lèi)型說(shuō)明17. 已知 :類(lèi) a 中一個(gè)成員函數(shù)說(shuō)明如下:void s t(a& ) ; 其中, a的含義是()。.指向類(lèi) a 的指針為.將 a 的地址值賦

6、給變量st a 是類(lèi) a 對(duì)象的引用 ,用來(lái)作函數(shù)set()的參數(shù).變量 a 與 a 按位與作為函數(shù)set( )的參數(shù)1. 已知 :pin( )函數(shù)是一個(gè)類(lèi)的常成員函數(shù),它無(wú)返回值,下列表示中,()是正確的。a void print( ) ns; b.const vod rint( ) ;c.vonst p nt( );d vod prnt(cnst); 19 關(guān)于虛函數(shù)的描述中, (c )是正確的。a虛函數(shù)是一個(gè)st ic 類(lèi)型的成員函數(shù)b虛函數(shù)是一個(gè)非成員函數(shù)c.基類(lèi)中說(shuō)明了虛函數(shù)后,派生類(lèi)中將其對(duì)應(yīng)的函數(shù)可不必說(shuō)明為虛函數(shù)d派生類(lèi)的虛函數(shù)與基類(lèi)的虛函數(shù)具有不同的參數(shù)個(gè)數(shù)和類(lèi)型20. 關(guān)于

7、 ne運(yùn)算符的下列描述中,(d )是錯(cuò)的。a.它可以用來(lái)動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組使用它創(chuàng)建的對(duì)象和對(duì)象數(shù)組可以使用運(yùn)算符del e 刪除c.使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù)d使用它創(chuàng)建對(duì)象數(shù)組時(shí)必須指定初始值二、問(wèn)答題 (1分)、(3 分)虛析構(gòu)函數(shù)有什么作用?對(duì)象銷(xiāo)毀時(shí)要調(diào)用析構(gòu)函數(shù),如果不是定義的虛析構(gòu)函數(shù) ,基類(lèi)指針只能訪問(wèn)基類(lèi)析構(gòu),不能訪問(wèn)派生類(lèi)析構(gòu),若定義的虛析構(gòu)則可以解決這問(wèn)題2、 (3 分)拷貝構(gòu)造函數(shù)在哪幾種情況下調(diào)用?用一個(gè)對(duì)象初始化另一個(gè)對(duì)象;當(dāng)函數(shù)返回- - 對(duì)象 ;當(dāng)對(duì)象作為函數(shù)參數(shù)傳遞。3、 (分)函數(shù)重載與函數(shù)覆蓋有什么不同,它們與多態(tài)有什么關(guān)系?函數(shù)重載函數(shù)名相同,而

8、函數(shù)參數(shù)個(gè)數(shù),函數(shù)類(lèi)型不同;覆蓋是指函數(shù)名,函數(shù)個(gè)數(shù) ,函數(shù)類(lèi)型都相同。c+是通過(guò)虛函數(shù)的覆蓋,實(shí)現(xiàn)多態(tài)的功能。4、 (3 分)繼承是如何工作的?5、(2 分 )類(lèi)與對(duì)象有什么區(qū)別? 三、 (6 分)分析下面程序的運(yùn)行結(jié)果#include i team.classb public: b( ) b(int i)b=i ; v ual oid vir un( ) cout: :vifn()calle.n; p iae: nb;; clad:publb publ c: d() d(int i,i t):() j; prv : nd; voi virfun() coutvi n(); vod mai(

9、) d *pd=newd; fu(pd); 四、 (分)下面的程序可以統(tǒng)計(jì)命令行第一個(gè)參數(shù)中出現(xiàn)的字母?jìng)€(gè)數(shù),請(qǐng)?zhí)畛湎旅婵瞻祝瓿沙绦?。includ stdi h- - #include vod n(ntrgc, rgv;) car *s ; icont0; if (agc2)xit(1); s =arg1 ;hile(*str) if(isalpha(*st + ) c ut+; intf (n 字母?jìng)€(gè)數(shù):dn,out) ; 提示: nisalha(ic)函數(shù)功能是檢查c是否是字母五、 (分)定義一個(gè)字符棧類(lèi)stack(包括類(lèi)的實(shí)現(xiàn))。數(shù)據(jù)成員包括一個(gè)存放字符的數(shù)組sck 和一個(gè)棧指針ts。棧

10、數(shù)組的尺寸由常量sie 確定。 棧的基本操作為push()和 po() 。六、 (10 分)完成下面的函數(shù),對(duì)有 n 個(gè)元素的數(shù)組a,使數(shù)組元素按逆序排列。voidinvese(in a, int n) 七、 (12 分)下面的函數(shù)統(tǒng)計(jì)子字符串substr 在字符串st中出現(xiàn)的次數(shù),如果 sust在 sr 中不出現(xiàn) ,則返回值0。請(qǐng)完成該函數(shù)。inttr_count(cha*subtr, har * ) 一、選擇填空題 ?1、d2、a 3、c 4、c 5、6、d7、a 8、b 9、a 1、 d 11、a12、a13、c 14、b 15、c 16、 17、 18、a9、0、d 二、問(wèn)答題1、虛析

11、構(gòu)函數(shù)有什么作用?解答要點(diǎn) :?對(duì)象銷(xiāo)毀時(shí) ,需要調(diào)用析構(gòu)函數(shù)。在多態(tài)調(diào)用時(shí),是用基類(lèi)的指針訪問(wèn)派生類(lèi)的對(duì)象。如果析構(gòu)函數(shù)是非虛函數(shù),則基類(lèi)指針只能訪問(wèn)基類(lèi)的析構(gòu)函數(shù),而不能訪問(wèn)派生類(lèi)的析構(gòu)函數(shù),導(dǎo)致派生類(lèi)對(duì)象銷(xiāo)毀時(shí) ,沒(méi)有調(diào)用派生類(lèi)的析構(gòu)函數(shù),只是調(diào)用了基類(lèi)的析構(gòu)函數(shù)。如果把析構(gòu)函數(shù)定義成虛函數(shù),則可克服這個(gè)問(wèn)題。?2、 拷貝構(gòu)造函數(shù)在哪幾種情況下調(diào)用? 解答要點(diǎn) : 用一個(gè)對(duì)象初始化另一個(gè)對(duì)象時(shí)當(dāng)用對(duì)象作為函數(shù)參數(shù)傳遞時(shí)當(dāng)函數(shù)返回對(duì)象時(shí)?3、函數(shù)重載與函數(shù)覆蓋有什么不同,它們與多態(tài)有什么關(guān)系? ?解答要點(diǎn) : 函數(shù)重載是指函數(shù)名相同,而函數(shù)的參數(shù)個(gè)數(shù)或類(lèi)型不同;覆蓋是指在派生類(lèi)中成員函數(shù)與

12、基類(lèi)成員函數(shù)的函數(shù)名、參數(shù)個(gè)數(shù)、類(lèi)型與返回值均相同;c+中正是通過(guò)虛函數(shù)的覆蓋,實(shí)現(xiàn)多態(tài)的功能。?4、c+繼承是如何工作的?解答要點(diǎn) :?繼承使得派生類(lèi)能夠使用基類(lèi)的公有和保護(hù)成員,從而實(shí)現(xiàn)代碼的復(fù)用,派生類(lèi)可以增加成員,- - 也可以隱藏和覆蓋基類(lèi)的成員。對(duì)于公有繼承,基類(lèi)成員的訪問(wèn)權(quán)限在派生類(lèi)保持不變。5、類(lèi)與對(duì)象有什么區(qū)別??解答要點(diǎn) : 類(lèi)是類(lèi)型,是對(duì)象的抽象,對(duì)象是類(lèi)的具體實(shí)例。一個(gè)類(lèi)可以有多個(gè)對(duì)象,每個(gè)對(duì)象都有自己的存儲(chǔ)單元,而類(lèi)不占存儲(chǔ)單元。三、運(yùn)行結(jié)果為::virfun( ) call . 四、填空 ? char argv1str+ 五、(8 分) 定義一個(gè)字符棧類(lèi)stack(

13、包括類(lèi)的實(shí)現(xiàn))。數(shù)據(jù)成員包括一個(gè)存放字符的數(shù)組stk 和一個(gè)棧指針 tos。棧數(shù)組的尺寸由常量ze 確定。棧的基本操作為push()和( )。 ?co t int e=27; cl s stak pulic :?tack():to(0) ;?voush(char ch);?cha p ();?prvat:?chr stcize; ?int to;; v d ack:: ush(charh)i(to=s e)?cotnsacis ull ;?ls stck os=ch; to+;? ? chr stack:o( )? if(o =0) ou tac s em; rturn 0; ?ts-; retu stckt ; 六、 ( 0 分)完成下面的函數(shù),對(duì)有 n 個(gè)元素的數(shù)組a,使數(shù)組元素按逆序排列。? void rse(int , it n)? ?int i,*p; p=new intn; for( =0;i= -1;i+) pi=ai ;fo(i=; =n-; +) - - ai pn-i- ;eltep; 七、 (12 分)下面的函數(shù)統(tǒng)計(jì)子字符串str 在字符串 str 中出現(xiàn)的次數(shù) ,如果 ubstr 在 st中不出現(xiàn),則返回值 0。請(qǐng)完成該函數(shù)。?in t_on(car *

溫馨提示

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