復(fù)試版期末考試題三_第1頁(yè)
復(fù)試版期末考試題三_第2頁(yè)
復(fù)試版期末考試題三_第3頁(yè)
復(fù)試版期末考試題三_第4頁(yè)
復(fù)試版期末考試題三_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 C+期末題(三)-一、 選擇填空題(共 20 小題,每小題 2 分,共 40 分)。1. 關(guān)于 C+與 C 語(yǔ)言關(guān)系的描述中,( )是錯(cuò)誤的。a.C 語(yǔ)言是 C+語(yǔ)言的一個(gè)子集b.C 語(yǔ)言與 C+語(yǔ)言是兼容的 c.C+語(yǔ)言對(duì) C 語(yǔ)言進(jìn)行了一些改進(jìn)d.C+語(yǔ)言和 C 語(yǔ)言都是面象的2按照標(biāo)識(shí)符的要求,( )符號(hào)不能組成標(biāo)識(shí)符。a.連接符 b.下劃線c.大小寫字母 d.數(shù)字字符為了避免嵌套的 if-else 語(yǔ)句的二義性,C 語(yǔ)言規(guī)定 else 總是與(縮排位置相同的 if在其之前未配對(duì)的 if在其之前未配對(duì)的最近的 if d.同一行上的 if)組成配對(duì)關(guān)系。4. 在 a.1 b.0 c.6d

2、.2a 3=1,3,2,4,5,6,0;中,a22的值是( )。5. 設(shè)char *s;,以下正確的表達(dá)式是( )。 a.s=computer;b.*s=computer;c.*s=computer; d.*s=c;6. 對(duì)于*pa5;的描述中,( )是正確的。a.pa 是一個(gè)指向數(shù)組的指針,所指向的數(shù)組是 5 個(gè)型元素b.pa 是一個(gè)指向某數(shù)組中第 5 個(gè)元素的指針,該元素是c.pa 5表示某個(gè)元素的第 5 個(gè)元素的值d.pa 是一個(gè)具有 5 個(gè)元素的指針數(shù)組,每個(gè)元素是一個(gè)型變量型指針7. 在下列表示的方法中,( )是正確的。已知:m=10; &x=m;&y=10;&z;a.b.c.d.f

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

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

5、no;char name10;)。float score; stud20; d.structno;char name10; float score;stud100 ;15. 將兩個(gè)字符串連接起來組成一個(gè)字符串時(shí),選用(a.strlen( ) b.strcpy( ) c.strcat( ) d.strcmp( )( )不是構(gòu)造函數(shù)的特征構(gòu)造函數(shù)的函數(shù)名與類名相同 b.構(gòu)造函數(shù)可以重載c.構(gòu)造函數(shù)可以設(shè)置缺省參數(shù) d.構(gòu)造函數(shù)必須指定類型說明17. 已知:類 A 中一個(gè)成員函數(shù)說明如下:void Set(A&a);其中,A&的含義是( )。 a.指向類 A 的指針為ab.將 a 的地址值賦給變量

6、Set)函數(shù)。c.a 是類 A 對(duì)象的,用來作函數(shù) Set()的參數(shù)d.變量 A 與 a 按位與作為函數(shù)Set( )的參數(shù)18. 已知:pr( )函數(shù)是一個(gè)類的常成員函數(shù),它無返回值,下列表示中,( a.void pr( ) const;b.const void pr ( ); c.void const pr( );d.void pr(const);關(guān)于虛函數(shù)的描述中,( )是正確的。虛函數(shù)是一個(gè) sic 類型的成員函數(shù)虛函數(shù)是一個(gè)非成員函數(shù)基類中說明了虛函數(shù)后,派生類中將其對(duì)應(yīng)的函數(shù)可不必說明為虛函數(shù) d.派生類的虛函數(shù)與基類的虛函數(shù)具有不同的參數(shù)個(gè)數(shù)和類型關(guān)于 new 運(yùn)算符的下列描述中,

7、( )是錯(cuò)的。它可以用來動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組使用它創(chuàng)建的對(duì)象和對(duì)象數(shù)組可以使用運(yùn)算符 delete 刪除使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù)使用它創(chuàng)建對(duì)象數(shù)組時(shí)必須指定初始值)是正確的。1、D 2、A 3、C 4、C 5、B6、D 7、A 8、B 9、A 10、D11、A 12、A 13、C 14、B 15、C16、D 17、C 18、A 19、C 20、D二、問答題1、 虛析構(gòu)函數(shù)解答要點(diǎn):對(duì)象銷毀時(shí),需要調(diào)用析構(gòu)函數(shù)。在多態(tài)調(diào)用時(shí),是用基類的指針如果析構(gòu)函數(shù)是非作用?派生類的對(duì)象。虛函數(shù),則基類指針只能對(duì)象銷毀時(shí),沒有基類的析構(gòu)函數(shù),而不能派生類的析構(gòu)函數(shù),導(dǎo)致派生類調(diào)用派生類的析構(gòu)函數(shù),只是

8、調(diào)用了基類的析構(gòu)函數(shù)。如果把析構(gòu)函數(shù)定義成虛函數(shù),則可克服這個(gè)問題。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ù)覆蓋解答要點(diǎn):不同,它們與多態(tài)關(guān)系?函數(shù)重載是指函數(shù)名相同,而函數(shù)的參數(shù)個(gè)數(shù)或類型不同;覆蓋是指在派生類中成員函數(shù)與基類成員函數(shù)的函數(shù)名、參數(shù)個(gè)數(shù)、類型與返回值均相同;C+中正是通過虛函數(shù)的覆蓋,實(shí)現(xiàn)多態(tài)的功能。4、 C+繼承是如何工作的?解答要點(diǎn):繼承使得派生類能夠使用基類的公有和保護(hù)成員,從而實(shí)現(xiàn)代碼的復(fù)用,派生類可以增加成員,也可以隱藏和覆蓋基類的成員。對(duì)于公有繼承,基類成員的權(quán)限在派

9、生類保持不變。5、 類與對(duì)象解答要點(diǎn):區(qū)別?類是類型,是對(duì)象的抽象,對(duì)象是類的具體實(shí)例。一個(gè)類可以有多個(gè)對(duì)象,每個(gè)對(duì)象都有自己的單元,而類不占單元。三、(6 分)分析下面程序的運(yùn)行結(jié)果#include class Bpublic:B()B(i)b=i;virtual void virfun()coutB:virfun() called.n;private:b;class D:public Bpublic:D()D(private:d;i,j):B(i)d=j;void virfun()coutvirfun();void main()D *pd=new D; fun(pd);三、運(yùn)行結(jié)果為:D:

10、virfun() called.四、(9 分)下面的程序可以統(tǒng)計(jì)命令行第一個(gè)參數(shù)中出現(xiàn)的字母?jìng)€(gè)數(shù),請(qǐng)?zhí)畛湎旅婵瞻祝瓿沙绦颉?include #include void main(argc,( char*)argv;)char *str;count=0; if(argc2)exit(1);str= argv1 ; while(*str)if(isalpha(*str+) count+;prf(n 字母?jìng)€(gè)數(shù):%dn,count);提示:isalpha(ch)函數(shù)功能是檢查ch 是否是字母四、填空char * argv1*str+五、(8 分) 定義一個(gè)字符棧類 Stack(包括類的實(shí)現(xiàn))。數(shù)據(jù)成

11、員包括一個(gè)存放字符的數(shù)組stck 和一個(gè)棧指針 tos。棧數(shù)組的尺寸由常量 SIZE 確定。棧的基本操作為 Push()和 Pop()。constSIZE=27;class Stackpublic:Stack():tos(0); void Push(char ch); char Pop();private:char stckSIZE; tos;void Stack:Push(char ch)if(tos=SIZE) coutnStack is fulln;elsestcktos=ch;tos+;char Stack:Pop()if(tos=0)coutnStack is emptyn; return 0;tos-;return stcktos;六、(10 分)完成下面的函數(shù),對(duì)有 n 個(gè)元素的數(shù)組a,使數(shù)組元素按逆序排列。void inverse(*a,n)i,*p;p=newn;for(i=0;i=n-1;i+) pi=ai;for(i=0;i=n-1;i+) ai=pn-i-1;delete p;七、(12 分)下面的函數(shù)統(tǒng)計(jì)子字符串 substr 在字符串 str 中出現(xiàn)的次數(shù),如果 substr 在 str中不出現(xiàn),則返回值 0。請(qǐng)完成該函數(shù)。 str_count(char *substr, char *str)count=0;char *har

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論