C期末考試復習題理工_第1頁
C期末考試復習題理工_第2頁
C期末考試復習題理工_第3頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、c期末考試復習題理工一、單項選擇題(本大題共 小題,每小題 分,共0 分)1.在c+中,函數(shù)原型不能標識(d ).函數(shù)的返回類型b.函數(shù)參數(shù)的個數(shù)c函數(shù)參數(shù)類型d函數(shù)的功能.在c+程序中,對象之間的相互通信通過( )a繼承實現(xiàn)b調(diào)用成員函數(shù)實現(xiàn).封裝實現(xiàn)d.函數(shù)重載實現(xiàn)對于任意一個類,析構函數(shù)的個數(shù)最多為(b) .0 b c.d. .友元關系不能(a)a.繼承b.是類與類的關系c是一個類的成員函數(shù)與另一個類的關系d.提高程序的運行效率.語句stem (ala.dt,i:ap|i:binar)的功能是建立流對象f,試圖打開文件ay.dt 并與之連接,并且(a )a.若文件存在,將文件寫指針定位于

2、文件尾;若文件不存在,建立一個新文件b.若文件存在,將其置為空文件;若文件不存在,打開失敗c.若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件d.若文件存在,打開失敗;若文件不存在,建立一個新文件.下面說法正確的是(b )a.內(nèi)聯(lián)函數(shù)在運行時是將該函數(shù)的目標代碼插入每個調(diào)用該函數(shù)的地方b.內(nèi)聯(lián)函數(shù)在編譯時是將該函數(shù)的目標代碼插入每個調(diào)用該函數(shù)的地方c.類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義 d.類的內(nèi)聯(lián)函數(shù)必須在類體外通過加關鍵字inin 定義/當程序使用內(nèi)斂函數(shù)時,編譯器將每個函數(shù)調(diào)用都用函數(shù)內(nèi)的語句代替,這樣就省去了函數(shù)調(diào)用地開銷8.可以用pa 的形式訪問派生類對象p的基類成員a,

3、其中a 是(d)a.私有繼承的公有成員b.公有繼承的私有成員.公有繼承的保護成員d.公有繼承的公有成員/函數(shù)可以調(diào)用成員,對象不可以調(diào)用9.在公有派生情況下,有關派生類對象和基類對象的關系,不正確的敘述是( c)a.派生類的對象可以賦給基類的對象 b.派生類的對象可以初始化基類的引用.派生類的對象可以直接訪問基類中的成員 派生類的對象的地址可以賦給指向基類的指針/派生類的對象是不能訪問基類的任何成員10.對于類定義laapubic:vitual o func1() oi func2( )cas b:lic apubc:idun()coucass fnc 11vitua void fnc2()c

4、ocsb func 2en下面正確的敘述是(). a:func2( )和b:un1( )都是虛函數(shù) b. a::fuc( )和b:nc1( )都不是虛函數(shù)c. b::func( )是虛函數(shù),而a:func2( )不是虛函數(shù) d. b:fnc1( )不是虛函數(shù),而a:fnc2()是虛函數(shù)第二部分非選擇題(共 分)二、填空題(本大題共10 小題,每小題2 分,共20 分)11定義類的動態(tài)對象數(shù)組時,系統(tǒng)只能夠自動調(diào)用該類的_無參_構造函數(shù)對其進行初始化。1.在+程序設計中,建立繼承關系倒掛的樹應使用_單_一_繼承。13表達式coutend還可表示為_cout_。0.派生類從一個或多個以前定義的該類

5、的_基類_一、單項選擇題(每題2分,共20分)1 派生類對象可訪問基類中的什么成員( a)a.公有繼承的公有成員.公有繼承的私有成員 .公有繼承的保護成員d.私有繼承的公有成員2. 定義析構函數(shù)時,應該注意().其名與類名完全相同b返回類型是oid類型 c無形參,也不可重載.函數(shù)體中必須有dete語句3. 如果類a被說明成類的友元,則( d )。a類a的成員即類b的成員 .類b的成員即類a的成員 c類的成員函數(shù)不得訪問類b的成員d.類b不一定是類的友元 . 應在下列程序劃線處填入的正確語句是( c ) #ncude clasae publi: voidfun()cubase:unndl; la

6、deive:pucba voidfn() _/ 顯示調(diào)用基類的函數(shù)f() cutrived::unfun();5.面向對象程序設計將數(shù)據(jù)與( a )放在一起,做為一個相互依存、不可分割的整體來處理。 a.對數(shù)據(jù)的操作 b. 信息 . 數(shù)據(jù)隱藏 數(shù)據(jù)抽象6 在類中聲明轉換函數(shù)時不能指定(a )。a. 參數(shù)b. 訪問權限 c.操作d. 標識符7.在派生類中重新定義虛函數(shù)時必須在( a )方面與基類保持一致。 a. 參數(shù)類型b.參數(shù)名字 .操作內(nèi)容d. 賦值8. 下面關于+中類的繼承與派生的說法錯誤的是( c )。a基類的protee成員在公有派生類的成員函數(shù)中可以直接使用b.基類的roteed成員

7、在私有派生類的成員函數(shù)中可以直接使用公有派生時,基類的所有成員訪問權限在派生類中保持不變d.基類的potcted成員在保護派生類的成員函數(shù)中可以直接使用. 重載賦值操作符時,應聲明為( )函數(shù)。 a.友元b. 虛 c.成員d. 多態(tài) 語句ofstreamf(alay.dat,s:app|ios::binary);的功能是建立流對象,試圖打開文件alrat并與之連接,并且( a ) .若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件 b.若文件存在,將其置為空文件;若文件不存在,打開失敗 c.若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件 若文件存在,打開失

8、敗;若文件不存在,建立一個新文件二、填空題(每空分,共30分)1.假定ab為一個類,則語句ab(ab&x);為該類_復制 構造函數(shù)的原型說明。2 c+支持的兩種多態(tài)性分別是_編譯時的_多態(tài)性和運行時的_多態(tài)性。3. 定義類的動態(tài)對象數(shù)組時,系統(tǒng)只能夠自動調(diào)用該類的無參的_構造函數(shù)對其進行初始化。4. 運算符重載時,其函數(shù)名由 _pator運算符_ 構成。成員函數(shù)重載雙目運算符時,左操作數(shù)是_當前對象_,右操作數(shù)是_函數(shù)形參_。c+標準庫中的異常層次的根類為ecepion _類;mfc類庫中絕大多數(shù)類都源自根類_cobj _類。在下面橫線處填上適當字句,完成類中成員函數(shù)的定義。 classain

9、a; pubi: a(inaa=0)=_new in(a)_; /用aa初始化a所指向的動態(tài)對象 ()_delet_;/釋放動態(tài)存儲空間 ;7.+支持面向對象程序設計的四個要素是:封裝性、繼承性、 抽象性 和 多態(tài)性 。8模板分為 類 模板和 函數(shù) 模板。一、單項選擇題(每題2分,共20分).在下面選項中,對類的拷貝構造函數(shù)的聲明形式是(b)a. ::a(&) b :a(consa) c a::a(a) .void a::a(&)2. 下面關于成員函數(shù)特征的描述中,錯誤的是(a ).成員函數(shù)不可以設置參數(shù)的默認值 b.成員函數(shù)可以重載c成員函數(shù)可以是內(nèi)聯(lián)函數(shù) d.成員函數(shù)可以是靜態(tài)的3 下面關

10、于類模板敘述不正確的是(b ) a.可以有多個構造函數(shù) . 類模板是模板類的實例. 一個類模板可以用來實例化多個模板類 d. 類模板可以有多個參數(shù)4. 要使一個類成為抽象類,這個類應具有的條件是(a )a至少有一個純虛函數(shù) b. 至少有一個虛函數(shù)c.只含有一個純虛函數(shù) d.只含有一個虛函數(shù).有關運算符重載正確的描述是( )a. +語言允許在重載運算符時改變運算符的操作個數(shù) bc+語言允許在重載運算符時改變運算符的優(yōu)先級.c+語言允許在重載運算符時改變運算符的結合性 d. c+語言允許在重載運算符時改變運算符的原來的功能6 下列說法正確的是( d)。a. 一個類的對象可以是另一個類的成員 b.一

11、個類可以作為另一個類的派生類c 一個類可以在另一個類定義體進行定義 以上說法均正確.有如下程序: inlue cass bsechr; public:bae(car n):c(n) virtulbas()cout; ; clasdrived:ulic base car c; pul: deivd(ca ):bas(n+),()deied()ou;; intain() drved(x); rtn0;執(zhí)行上面的程序將輸出( c )。a)x b)yx c)y d)y8. 類class的定義如下:clas mylsspubc:mycass()alue=0;setvale(nt i)vlu=i; pri

12、ate: intvale;;則對語句:myclass *,y;=&my;正確的描述是( d )。. 語句pmy;是把對象y賦值給指針變量p;b. 語句ylass *p,y;會調(diào)用兩次類mycla的構造函數(shù)c. 對語句p.etaue(5)的調(diào)用是正確的 d. 語句-etale(5)與my.setvlue(5)等價9. 下列各類函數(shù)中, c不是類的成員函數(shù)。a. 構造函數(shù) b. 析構函數(shù) c.友元函數(shù) d. 拷貝構造函數(shù)10.派生類的對象對它的基類成員中 a 是可以訪問的。a. 公有繼承的公有成員 . 公有繼承的私有成員 c. 公有繼承的保護成員 d. 私有繼承的公有成員二、填空題(每空分,共0分

13、)1. 定義內(nèi)聯(lián)函數(shù)所用的關鍵字 inline ,定義友元所用的關鍵字為 fied 。2當一個派生類具有多個基類時,這種繼承方式稱為_ 多重繼承 _。3. 通過一個構造函數(shù)調(diào)用虛函數(shù)時,+系統(tǒng)對該調(diào)用采用 靜態(tài) 聯(lián)編。4 任何類中允許有_pvatd_、pic_、_proeted_三種訪問控制類型的成員,數(shù)據(jù)成員和成員函數(shù)的默認類型為_rivated _。. 只有在 公有 繼承的情況下,基類和派生類之間才有賦值兼容性規(guī)則。6.c+標準庫中的異常層次的根類定義在庫的頭文件_ excepi.h_中。. 運算符重載使用的兩種方式是_成員函數(shù)_和友元函數(shù)_。8. c+支持面向對象程序設計的四個要素是:抽

14、象性、多態(tài)性_、封裝性_和_繼承性_。一、單項選擇題(每題2分,共20分)1. 下面有關構造函數(shù)和new運算符關系正確的說法是(d )nw運算符不調(diào)用構造函數(shù) b. 構造函數(shù)一定調(diào)用w運算符c當生成新類的實例時,先調(diào)用new運算符,然后調(diào)用構造函數(shù)進行初始化d 當ne運算符動態(tài)產(chǎn)生類的對象時,new運算符也自動調(diào)用構造函數(shù)2下面有關類性質的說法錯誤的是( ) .一個類可以有多個構造函數(shù),但只有一個析構函數(shù) b.析構函數(shù)和構造函數(shù)都不能有返回類型.不能給析構函數(shù)指定參數(shù) .一個類中不可以聲明具有類類型的數(shù)據(jù)成員. 下面關于友元函數(shù)描述正確的是( c)a友元函數(shù)是類的成員b友元函數(shù)在類的外部聲明c

15、.友元函數(shù)在類中聲明d. 友元函數(shù)能夠派生4. 下面敘述正確的是( d) .派生類不可以使用私用派生 b. 保護派生時,基類的保護成員在派生類中是公有的. 對基類成員的訪問允許二義性 . 賦值兼容規(guī)則也適用于多重繼承的組合5.有關運算符重載正確的描述是( d). c+語言允許在重載運算符時改變運算符的操作個數(shù) .+語言允許在重載運算符時改變運算符的優(yōu)先級c. c+語言允許在重載運算符時改變運算符的結合性 d. c+語言允許在重載運算符時改變運算符的原來的功能6.下面描述中,表達錯誤的是( b ) ???a. 公有繼承時基類中的pblic成員在派生類中仍是publc的b. 公有繼承是基類中的pr

16、ivate成員在派生類中仍是priate的 c. 公有繼承時基類中的oece成員在派生類中仍是preced的. 私有繼承時基類中的pblic成員在派生類中是privte的7 拷貝構造函數(shù)的參數(shù)是( c)a. 某個對象名 b. 某個對象的成員名. 某個對象的引用名 某個對象的指針名8.下列關于構造函數(shù)的描述中,錯誤的是( )a構造函數(shù)可以設置默認參數(shù) 構造函數(shù)在定義類對象時自動執(zhí)行c.構造函數(shù)可以是內(nèi)聯(lián)函數(shù)d構造函數(shù)不可以重載9. 數(shù)組作為函數(shù)的形參時,把數(shù)組名作為實參,傳遞給函數(shù)的是( a)a.該數(shù)組的首地址 該數(shù)組的元素個數(shù)c該數(shù)組中的各元素值 d該數(shù)組的大小10.通過一個析構函數(shù)調(diào)用虛函數(shù)

17、時,c+系統(tǒng)對該調(diào)用采用( b)。a. 動態(tài)聯(lián)編 b. 靜態(tài)聯(lián)編 c 不確定是哪種聯(lián)編 d函數(shù)重載二、填空題(每空分,共0分)1.成員名限定的符號是 :: ,它可以在引用成員時避免 二義性 。2.只有在 公有 繼承的情況下,基類和派生類之間才有賦值兼容性規(guī)則。3.模板分為 類 模板和 函數(shù) 模板。在用cass定義一個類時,數(shù)據(jù)成員和成員函數(shù)的默認訪問權限是 rivt 。5. 已知it dbl(int n)eurnn+n;和ondb(og)retun +n;是一個函數(shù)模板的兩個實例,則該函數(shù)模板的定義是 eetpen tt (t )eun 。(要求寫出函數(shù)模板的完整定義)6 靜態(tài)數(shù)據(jù)成員必須在

18、類外 進行初始化。7 含有純虛函數(shù)的類稱為 抽象類 。8 若quue是一個類,queue是它的一個對象,而且該類中定義了一個靜態(tài)成員函數(shù)sho()則在類外對該成員的函數(shù)進行調(diào)用的方式可以為 ueu.show() 和 ueu::how() 。9 定義內(nèi)聯(lián)函數(shù)所用的關鍵字為 nlin ,定義友元所用的關鍵字為 ied 。0. 使用成員函數(shù)重載運算符時,若運算符是二元的,則參數(shù)表中有 個操作數(shù),此時 當前對象 作為此運算符的左操作數(shù)。一、單項選擇題(每題分,共2分). 下面有關重載函數(shù)的說法中正確的是(c ) a重載函數(shù)必須具有不同的返回值類型; b.重載函數(shù)形參個數(shù)必須/先匹配個數(shù)在匹配類型 c重

19、載函數(shù)必須有不同的形參列表 d重載函數(shù)名可以不同;不同; 使用strng類建立對象的不正確方式是(d)。a.strgstr(“ok”); b.tin t=”o”; c. strg tr; d.str stk;3. 面關于c+中類的繼承與派生的說法錯誤的是( c)a基類的prtecte成員在公有派生類的成員函數(shù)中可以直接使用b.基類的proteted成員在私有派生類的成員函數(shù)中可以直接使用c.私有派生時,基類的所有成員訪問權限在派生類中保持不變d.繼承可以分為單一繼承與多重繼承4.面向對象程序設計將數(shù)據(jù)與(a )放在一起,作為一個相互依存、不可分割的整體來處理。a. 對數(shù)據(jù)的操作b. 信息. 數(shù)

20、據(jù)隱藏數(shù)據(jù)抽象5.一個類的析構函數(shù) a 。a.唯一的 .允許重載 c.至多可有兩個 .只能是缺省的. 下列各類函數(shù)中,( c )不是類的成員函數(shù)。a 構造函數(shù) . 析構函數(shù) 友元函數(shù) d. 拷貝構造函數(shù)7. 在下面選項中,對類的拷貝構造函數(shù)的聲明形式是( b )aa::() .:(csta&) c. a::a() .void ::a(a&a)下面關于靜態(tài)成員描述正確的是( ). 靜態(tài)成員是對象的數(shù)據(jù)成員b. 靜態(tài)成員是對象的成員c靜態(tài)成員是對象的成員函數(shù)d 靜態(tài)成員不是對象的成員. 下面關于成員函數(shù)特征的描述中,錯誤的是( a )成員函數(shù)不可以設置參數(shù)的默認值 b成員函數(shù)可以重載.成員函數(shù)可以

21、是內(nèi)聯(lián)函數(shù)d.成員函數(shù)可以是靜態(tài)的0. 下面敘述正確的是( d).基類的保護成員在派生類中仍然是保護的 b.基類的公有成員在派生類中仍然是公有的c基類的私有成員在派生類中是私有的 d.從基類派生時,可以有3種派生方法1. class base nt ;plic:nt b;nt f(int ,i j);classerive:bseint c;blic:int ase::b; bse:f(int ,intj); ;1 2 2. #ind iostream.class ublic:vod (i i=)mi;voidshow()coutsingamese std;cass sint a;sicintb

22、;pulc:base(t m,in n):a(m),b(n)ttic int geta()return a;tatc nget()reurn b;void how()ouget()”,”get()enl;;base:int b45;void main()6 8 intba:b; 2se:(in i,int j);1 base:b; (或訪問聲明僅僅調(diào)整名字的訪問,不可為它說明任何類型) 2 ase::; (或訪問聲明不應說明函數(shù)參數(shù))3 void(n i=0)=i;4 vida()5a+10;3 構造函數(shù)去掉id(或構造函數(shù)不能指定返回值類型)4 析構函數(shù)去掉void(或析構函數(shù)不能指定返回值

23、類型)5 對象不能訪問私有成員 base(int m,it ):(),b()7 satc n g()etu ; base::nt =45; 不能通過構造函數(shù)初始化靜態(tài)數(shù)據(jù)成員(只要把b(n)去掉即可) 7 靜態(tài)成員函數(shù)中不能引用非靜態(tài)成員數(shù)據(jù)成員(或去掉tatic) 8 in bas:b = 45; 1 templatasst fn( x)t y;y=t-2*x;rru y;1 2 2 clssbaepuic: f(); f(nt a); f(char *p);cass drie:baseublc: voi f(nts); base:f; . #nclde2 yt-2*x;1 改為temlac

24、asst 2 t不能用作的操作數(shù) 3 bas::f; 派生類中具有與基類同名的函數(shù),則基類中的此函數(shù)不能在派生類中進行訪問聲明4 =x;5 =y; oj.seb(6);7 obj.howb();8 retur 0; 派生類不能訪問基類a類的私有成員 派生類不能訪問基類b類的私有成員6 不能訪問類的公有成員setb 不能訪問b類的公有成員show 8 去掉此語句,或主函數(shù)的返回值voi去掉或改為it 一、 填空(每題2分,共20分)1、 c+程序中,對象的初始化和清理工作,分別由兩個特殊的成員函數(shù)()和()來完成。2、 在+中,分別用(變量)與(函數(shù))來表現(xiàn)某種事物的所具有的屬性和行為,并且將它

25、們封裝在一起,形成一種抽象數(shù)據(jù)類型類。3、 當用一個對象初始化另一個新的同類對象,將調(diào)用(),其特殊之處在于:形參是()。4、 模板是c+支持參數(shù)化的工具,我們通常用類模板和函數(shù)模板,這些只是面向對象的()性的一個方面。5、 如果在某個類定義中用關鍵字()聲明了一個外部函數(shù)(也許是其他類的一個成員)后,這個外部函數(shù)就可以例外的訪問該類的任何成員,這個外部函數(shù)稱為類的()函數(shù)。6、 可以將類的成員聲明為static,使其成為()。這樣的成員在編譯時被創(chuàng)建,其實例只有一個,為所有該類的對象()。7、 ()是動態(tài)動態(tài)聯(lián)編的基礎。它是非靜態(tài)的成員函數(shù),經(jīng)過()之后,在類族中可以實現(xiàn)運行過程中的多態(tài)。8

26、、 程序中有如下語句:it a=30;it b=a+;it c=+a; 則b=( ),c()9、 數(shù)組2020中,第一個元素是(),最后一個元素是()10、聲明一個it型指針,請為其動態(tài)分配含1個元素的地址空間:( )。二、 程序分析(30分)1、分析程序,寫出程序的輸出結果(7分)。#incluestram.hclss clock privae: thur,mute,secon;pulic:void setti(int new24,intnew=24,i news)hour=newh;miue=new;second=ews;idhtime()othur”:”inte”:”secondend;

27、;oid main()cot”time set andotut: ”end;lock mycloc;mclck.sme();myclock.howtime();myclock.settime(8,30,30);myclockshowtie();2、分析程序,寫出程序的輸出結果(7分)。#inclue cas pointprive:it ,y;publc:int(ntxx=0,intyy=0)x=;=yy;cou”構造函數(shù)被調(diào)用”nd;point(pont&p);int t()rtur ;in gety()ren;poit:pt(pot&p)x=p.x;yp.y;out”拷貝構造函數(shù)被調(diào)用”end;oid main()po

溫馨提示

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

評論

0/150

提交評論