




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、清華大學(xué)計(jì)算機(jī)系C+考試題及答案一、填空題.在C+中,函數(shù)的參數(shù)有兩種傳遞方式,它們是值傳遞和 地址或指針或引用傳遞o.當(dāng)一個(gè)成員函數(shù)被調(diào)用時(shí),該成員函數(shù)的this指針 指向調(diào)用它的對象。.在基類和派生類中,派生類可以定義其基類中不具備的數(shù)據(jù)和操作。對兩個(gè)有相同名 字的數(shù)據(jù)成員進(jìn)行訪問時(shí),如果沒有作用域分隔符限定時(shí),對此數(shù)據(jù)成員的訪問將出現(xiàn)歧 義。.拷貝構(gòu)造函數(shù)使用引用作為參數(shù)初始化創(chuàng)建中的對象。.在公有繼承的情況下,基類數(shù)據(jù)成員在派生類中的訪問權(quán)限 保持不變。.描述命題“A小于B或小于C”的表達(dá)式為AB| |Ac&b=c的值是 0。(以下每小題2分,共20分).面向?qū)ο蟮某绦蛟O(shè)計(jì)有四大特征,
2、它們是抽象、封裝、繼承、多態(tài)。.在Visual C+ +中,定義重載函數(shù)時(shí),應(yīng)至少使重載函數(shù)的參數(shù)個(gè)數(shù)或參數(shù)類型不 同;在基類和派生類中,成員函數(shù)的覆蓋是指 派生類成員函數(shù)與在基類被覆蓋的成員函數(shù) 名、參數(shù)個(gè)數(shù)、參數(shù)類型和返回值類型均相同。.構(gòu)造函數(shù)與析構(gòu)函數(shù)除功能不同外,在定義形式上,它們的區(qū)別還包括構(gòu)造函數(shù)名 與類名相同,而析構(gòu)函數(shù)名是在類名前加一個(gè)、析構(gòu)函數(shù)沒有參數(shù)、析構(gòu)函數(shù)可以定義 為虛函數(shù)。.動態(tài)聯(lián)編要滿足兩個(gè)條件,它們是被調(diào)用的成員函數(shù)是虛函數(shù)、用指針或引用調(diào) 用虛函數(shù)。.在C+類中,有一種不能定義對象的類,這樣的類只能被繼承,稱之為抽象類, 定義該類至少具有一個(gè)純虛函數(shù)。.在C+
3、類中,const關(guān)鍵字可以修飾對象和成員函數(shù),const對象不能 被修改, const成員函數(shù)不能修改類數(shù)據(jù)成員。.舉出C+ +中兩種用戶自定義的數(shù)據(jù)類型:類、枚舉。. C+ +中沒有字符串類型,字符串是通過字符數(shù)組來表示的,每一個(gè)字符串都有一 個(gè)結(jié)尾字符0。. C+ +中沒有輸入輸出語句,輸入輸出是通過輸入輸出庫實(shí)現(xiàn)的,寫出一條打印整 型變量n的輸出語句:coutn;.舉出C+ +中兩種代碼復(fù)用的方式:繼承、復(fù)用。.下面程序的運(yùn)行結(jié)果是3 o#include void main()char a=a,zb=,j,;float x;x=(b-a)/(F-A);printf(%dnz(int)(3
4、.14*x);.下面程序的運(yùn)行結(jié)果是2 5 8 11 14o#include iostream.hvoid main()int i = l;while (i = 15)i+;if (i%3!=2) continue;else cout i = iendl;.下面程序的運(yùn)行結(jié)果是 o#include iostream.hclass testprivate:int num;float fl;public:test();int getint( )return num;float getfloat( )return fl;test();;test:test()cout Initalizing defa
5、ult endl;num=0;fl=0.0;test:test()cout Desdtructor is active endl;void main()test array2;cout arrayl.getint( ) arrayl.getfloat( ) endl; Initalizing defaultInitalizing default0 0Desdtructor is activeDesdtructor is active.下面程序的運(yùn)行結(jié)果是 0#include class Apublic:A()coutA:A() called.n;?virtual A()coutA:A() ca
6、lled.n;?;class B:public Apublic:B(int i)coutB:B() called.n;buf=new charfi;virtual B()delete buf;coutB:B() called.n;private:char *buf;;void fun (A *a)delete a;void main()A *a=new B(15);fun(a);A: :A() called.called.called.A:A() called.下面程序的運(yùn)行結(jié)果是 o#include inta = 1Z3,5,7Z9;int *p =aza+lza+2za+3za+4;voi
7、d main()printf(%dt%dt%dn,a4,*(a+2)z*pl);pnntf(%dt%dt%dnz*(p+l)+a2z*(p+4)-*(p+0)z*(a+3)%a4);5 34 7二、問答題(每小題5分,共20分).若程序員沒有定義拷貝構(gòu)造函數(shù),則編譯器自動生成一個(gè)缺省的拷貝構(gòu)造函數(shù),它可 能會產(chǎn)生什么問題?解答要點(diǎn):當(dāng)對象含有指針數(shù)據(jù)成員,并用它初始化同類型的另一個(gè)對象時(shí),缺省的拷貝構(gòu) 造函數(shù)只能將該對象的數(shù)據(jù)成員復(fù)制給另一個(gè)對象,而不能將該對象中指針?biāo)赶虻膬?nèi)存單 元也復(fù)制過去。這樣,就可能出現(xiàn)同一內(nèi)存單元釋放兩次,導(dǎo)致程序運(yùn)行出錯(cuò)。.簡述成員函數(shù)、全局函數(shù)和友元函數(shù)的差別。
8、解答要點(diǎn):以下幾點(diǎn)必須說清楚:成員函數(shù)是在類內(nèi)部定義的,作用域在類的內(nèi)部,成員函數(shù)可以訪問類的數(shù)據(jù)成員(公 有、保護(hù)和私有數(shù)據(jù)成員),可以調(diào)用該類的其它成員函數(shù)(公有、保護(hù)和私有成員函數(shù)), 可以調(diào)用全局函數(shù)。如果友元函數(shù)是另一個(gè)類的公有成員函數(shù),則該類的成員函數(shù)也只能通 過那個(gè)類的對象調(diào)用,不能調(diào)用那個(gè)類的保護(hù)和私有成員函數(shù)。非本類成員函數(shù)(其它類成 員函數(shù)或全局函數(shù))可以通過該類的對象訪問該類的公有數(shù)據(jù)成員和調(diào)用該類的的公有成員 函數(shù)。不是在類中定義的成員函數(shù)都是全局函數(shù)。如果某一個(gè)函數(shù)(全局函數(shù)或類的成員函數(shù))定義為另一個(gè)類的友元函數(shù),需要在那個(gè) 類中用friend關(guān)鍵字聲明,友元函數(shù)并
9、不是類的成員,它的定義自然是在那個(gè)類的外面。.簡述結(jié)構(gòu)化的程序設(shè)計(jì)、面向?qū)ο蟮某绦蛟O(shè)計(jì)的基本思想。解答要點(diǎn):結(jié)構(gòu)化的程序設(shè)計(jì)將數(shù)據(jù)和對數(shù)據(jù)的操作分離,程序是由一個(gè)個(gè)的函數(shù)組成 的,面向?qū)ο蟮某绦蛟O(shè)計(jì)將數(shù)據(jù)和操作封裝在一起,程序是由一個(gè)個(gè)對象組成的,對象之間 通過接口進(jìn)行通信,它能夠較好地支持程序代碼的復(fù)用。.結(jié)構(gòu)struct和類class有什么異同?解答要點(diǎn):struct和class都可以定義類,但是缺省訪問權(quán)限說明時(shí): struct的成員是 公有的,而class的成員是私有的。在C+中,struct可被class代替。三、找出下面程序(或程序段)中的語法錯(cuò)誤,并予以糾正(每小題4分,共8分)
10、(1)程序功能是倒序輸出各給定的字符串。#include void main()cha r str 5 = Fi rst Seco nd z Th i rd z Fo rt h, Fifth;char *cp=str4zstr3,str2,strlzstr0;int i;while(i = 5)printf(%c ,*(cp+i);i+;char str5 -First”,“Second”,“Third,“ForthTFifth”);”應(yīng)為 char str510 = ”First”,“Second”,“Third”,“Forth”,“Fifth;” while(i = 5)應(yīng)為while(i
11、jprintf(%sz*(cp+i);int i;”應(yīng)為“int i=0;(2)程序功能是將各個(gè)平方根值放入數(shù)組中。#include void main()int max,a,i;scanf(%d%d,max,a);double xmax;for (i=O;imax;i+)xi=sqrt(a*i); 增加#include scanf(%d%dzmaxza);,scanf(,%d%d/&max,&a);double xmax;“改為:double *x=new doublemax; delete x;四、(8分)下列shape類是一個(gè)表示形狀的抽象類,area()為求圖形面積的函數(shù),total(
12、) 則是一個(gè)通用的用以求不同形狀的圖形面積總和的函數(shù)。請從shape類派生三角形類 (triangle)、矩形類(rectangle),并給出具體的求面積函數(shù)class shapepublic:virtual float area( )=0;);float total(shape *s ,int n) float sum=0.0;for(int i=0;iarea();return sum;class Triangle:public Shapepublic:Triangle(double hzdouble w)H = h;W=w;double Area() constreturn H*W*0.
13、5;private:double H,W;?;class Rectangle:public Shapepublic:Rectangle(double h,double w)H = h;W=w;double Area()constreturn H*W;private:double H,W;?;五、(6分)完成順序查找函數(shù)f_seq()。其過程是:從表頭開始,根據(jù)給定的模式,逐項(xiàng) 與表中元素比較。如果找到所需元素,則查找成功,并打印出它在表中的順序號。如果查找 整個(gè)表仍未找到所需對象,則查找失敗#include void f_seq(char *list,char *object,int len)/list指針數(shù)組,指向字符串/object模式串/len表的長度char *p;int strcmp(char *s,char *t);p=list;while () /
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公用工程設(shè)備管理制度
- 數(shù)據(jù)庫遠(yuǎn)程管理技巧試題及答案
- 計(jì)算機(jī)三級嵌入式設(shè)計(jì)中的注意事項(xiàng)試題及答案
- 云計(jì)算與大數(shù)據(jù)的網(wǎng)絡(luò)架構(gòu)考題及答案
- 行政組織理論的挑戰(zhàn)與機(jī)遇評估試題及答案
- 嵌入式系統(tǒng)中的大數(shù)據(jù)處理技術(shù)試題及答案
- 切實(shí)可行的2025年信息系統(tǒng)監(jiān)理師考試試題及答案
- 數(shù)據(jù)處理算法試題及答案分析
- 2025機(jī)電工程總承包合同
- 農(nóng)村民居建設(shè)水泥磚采購合同范本
- 2024年危險(xiǎn)品二手車收購協(xié)議書范文
- 高考英語高頻詞600
- 2022年江蘇省江陰市四校高一物理第二學(xué)期期末經(jīng)典試題含解析
- 2023年江蘇省南京市中考化學(xué)真題(原卷版)
- DB15-T 3619-2024 旅游風(fēng)景道驛站等級劃分與評定
- (高清版)DB15∕T 3585-2024 高標(biāo)準(zhǔn)農(nóng)田施工質(zhì)量評定規(guī)程
- 中考物理實(shí)驗(yàn)19 (考點(diǎn)精講)測量滑輪組的機(jī)械效率
- 武進(jìn)經(jīng)濟(jì)發(fā)展集團(tuán)筆試
- ISO56002-2019創(chuàng)新管理體系管理手冊及程序文件
- 全員消防安全責(zé)任制
- 小學(xué)六年級數(shù)學(xué)奧數(shù)題100題附答案(完整版)
評論
0/150
提交評論