級C綜合習(xí)題含答案_第1頁
級C綜合習(xí)題含答案_第2頁
級C綜合習(xí)題含答案_第3頁
級C綜合習(xí)題含答案_第4頁
級C綜合習(xí)題含答案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、  單項選擇題1. 函數(shù)重載是指(  A  )。A. 兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不同B. 兩個以上的函數(shù)取相同的名字和具有相同的參數(shù)個數(shù),但形參的類型可以不同C. 兩個以上的函數(shù)名字不同,但形參的個數(shù)或類型相同D. 兩個以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同2. 下列對引用的陳述中不正確的是(  C )。 A. 每一個引用都是其所引用對象的別名,因此必須初始化  B. 形式上針對引用的操作實際上作用于它所引用的對象  C. 一旦定義了引用,一切針對其所引

2、用對象的操作只能通過該引用間接進(jìn)行   D. 不需要單獨為引用分配存儲空間3. 關(guān)于封裝,下列說法中不正確的是(  A )。    A. 通過封裝,對象的全部屬性和操作結(jié)合在一起,形成一個整體    B. 通過封裝,一個對象的實現(xiàn)細(xì)節(jié)被盡可能地隱藏起來(不可見)   C. 通過封裝,每個對象都成為相對獨立的實體    D. 通過封裝,對象的屬性都是不可見的4. 假定AA為一個類,a為該類公有的數(shù)據(jù)

3、成員,px為指向該類對象的一個指針,則訪問px所指對象中數(shù)據(jù)成員a的格式為(  C )。        A. px(a)      B. pxa      C. px->a      D. px.a5. 假定AA為一個類,int a()為該類的一個成員函數(shù),若該成員函數(shù)在類定義體外定義,則函數(shù)頭為(  A )。  

4、;      A. int AA:a()      B. int AA:a()         C. AA:a()          D. AA:int a()6. 類的構(gòu)造函數(shù)是在定義該類的一個(  C  )時被自動調(diào)用執(zhí)行的。      

5、0; A. 成員函數(shù)      B. 數(shù)據(jù)成員      C. 對象      D. 友元函數(shù)7.在公有派生情況下,有關(guān)派生類對象和基類對象的關(guān)系,不正確的敘述是( C ) A.派生類的對象可以賦給基類的對象 B.派生類的對象可以初始化基類的引用 C.派生類的對象可以直接訪問基類中的成員 D.派生類的對象的地址可以賦給指向基類的指針8.對于類定義 class A public: virtual void func1( ) void func2(

6、) ; class B:public A public: void func1( )cout<<class B func 1<<end1; virtual void func2( )cout<<class B func 2<<end1; ;下面正確的敘述是( C ) A、 A:func2( )和B:func1( )都是虛函數(shù) 、A:func2( )和B:func1( )都不是虛函數(shù)、 B:func1( )是虛函數(shù),而A:func2( )不是虛函數(shù) 、B:func1( )不是虛函數(shù),而A:func2( )是虛函數(shù) 9. 對于int *pa5;的描述

7、,( D )是正確的。A、      pa是一個指向數(shù)組的指針,所指向的數(shù)組是5個int型元素;B、       pa是一個指向某個數(shù)組中第5個元素的指針,該元素是int型變量;C、    pa5表示某個數(shù)組的第5個元素的值;D、      pa是一個具有5個元素的指針數(shù)組,每個元素是一個int型指針;10. 下述靜態(tài)數(shù)據(jù)成員的特征中,( D )是錯誤的。A、   &

8、#160; 說明靜態(tài)數(shù)據(jù)成員時前邊要加修飾符static;B、        靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化;C、       引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加<類名>和作用域運算符;D、       靜態(tài)數(shù)據(jù)成員不是所有對象所共用的。11. 以下關(guān)于函數(shù)模板敘述正確的是(  C  )。     

9、0;  A. 函數(shù)模板也是一個具體類型的函數(shù)        B. 函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念        C. 通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)        D. 用函數(shù)模板定義的函數(shù)沒有類型12. 下列(  B  )的調(diào)用方式是引用調(diào)用。     

10、0;  A. 形參和實參都是變量          B.形參是指針,實參是地址值        C. 形參是引用,實參是變量      D.形參是變量,實參是地址值13. 為了提高程序的運行速度,可將不太復(fù)雜的功能用函數(shù)實現(xiàn),此函數(shù)應(yīng)選擇(  A  )。        A. 內(nèi)聯(lián)

11、函數(shù)  B.重載函數(shù)  C.遞歸函數(shù)  D.函數(shù)模板14. 面向?qū)ο蠓椒ǖ亩鄳B(tài)性是指(  C )。        A. 一個類可以派生出多個特殊類        B. 一個對象在不同的運行環(huán)境中可以有不同的變體        C. 針對一消息,不同的對象可以以適合自身的方式加以響應(yīng)     

12、;   D. 一個對象可以是由多個其他對象組合而成的15. 在類作用域中能夠直接使用該類的(  D )成員名進(jìn)行訪問。        A. 私有      B. 公用      C. 保護(hù)      D. 任何    16. 假定一個類AB只含有一個整型數(shù)據(jù)成員a,用戶為該類定義的帶參構(gòu)造函數(shù)可以為(

13、0; D  )。        A. AB()                    B. AB(): a(0)        C. AB(int aa=0) a=aa;      D. AB(int aa)

14、17. 對于任一個類,用戶所能定義的構(gòu)造函數(shù)的個數(shù)至多為(  D  )。        A. 0      B. 1      C. 2      D. 任意個18. 對類對象成員的初始化是通過構(gòu)造函數(shù)中給出的(  D  )實現(xiàn)的。        A

15、. 函數(shù)體      B. 初始化表      C. 參數(shù)表      D. 初始化表或函數(shù)體19. 被非靜態(tài)成員函數(shù)訪問的類的數(shù)據(jù)成員( A )。        A. 可以是非靜態(tài)數(shù)據(jù)成員或靜態(tài)數(shù)據(jù)成員    B. 不可能是類的靜態(tài)數(shù)據(jù)成員        C. 只能是

16、類的非靜態(tài)數(shù)據(jù)成員              D. 只能是類的靜態(tài)數(shù)據(jù)成員20. 引入友元的主要目的是為了(  C  )。        A. 增強數(shù)據(jù)安全性             B. 提高程序的可靠性   

17、0;    C. 提高程序的效率和靈活性     D. 保證類的封裝性21下面有關(guān)重載函數(shù)的描述中,正確的是( C )。A)重載函數(shù)必須具有不同的返回值類型 B)重載函數(shù)形參個數(shù)必須不同C)重載函數(shù)必須具有不同的形參表D)重載函數(shù)名可以不同22假定MyCIass為一個類,那么下列的函數(shù)說明中,( D )為該類的析構(gòu)函數(shù)。A)voidMyClass();B)MyClass(int n);C)MyClass( );D)MyClass( );23( A )是以一種完全通用的方法來設(shè)計函數(shù)或類而不必預(yù)先說明將被使用的每個對象的類型。

18、 A)模板B)類C)對象D)函數(shù)24下面關(guān)于靜態(tài)成員函數(shù)的途術(shù)中錯語的是( B )。A) 靜態(tài)成員函數(shù)可以有返回值 B) this指針可以指向靜態(tài)成員函數(shù)C) 靜態(tài)成員函數(shù)可以具有指針參數(shù) D) 靜態(tài)成員函數(shù)可有具有返回值類型25定義類模板時要使用關(guān)鍵字( D )。A)private B) public C)delete D)template26下列是重載乘法運算符的函數(shù)原型聲明,其中錯誤的是( A )。A)MyClass operator*(double,double);B)MyClass operator*(double,MyClass);C)MyClass operator*(MyCla

19、ss,double);D)MyClass operator*(MyClass,MyClass);27以下( C )成員函數(shù)表示純虛函數(shù)。A)virtual int fun(int)B)void fun(int)=0C)virtual void fun()=0D)virtual void fun(int) 28關(guān)于純虛函數(shù),下列表述中正確的是( A )。A)純虛函數(shù)的聲明總是以"=0"結(jié)束B)含有純虛函數(shù)的類可以定義對象C)含有純虛函數(shù)的類是抽象類 D)上面都是錯誤的 29( C )解決二義性問題。A)能使用作用域分辨操作符B) 只能使用虛基類C) 使用作用域分辨操作符或虛基

20、類D) 上面都不能30實現(xiàn)編譯時的多態(tài)性要使用( A )。A)重載函數(shù)B)析構(gòu)函數(shù)C)構(gòu)造函數(shù)D)虛函數(shù)31、C+語言是從早期的C語言逐漸發(fā)展演變而來的.與C語言相比,它在求解問題方法上進(jìn)行的最大改進(jìn)是(B)   A、面向過程B、面向?qū)ο驝、安全性D、復(fù)用性   32、考慮函數(shù)原型void test(int a,int  b=7,char="*"),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是(C)   A、test(5); B、test(5,8); C、test(6,"#") D、

21、test(0,0."*");33、下面有關(guān)重載函數(shù)的說法中正確的是(C)   A、重載函數(shù)必須具有不同的返回值類型;B、重載函數(shù)形參個數(shù)必須不同; C、重載函數(shù)必須有不同的形參列表 D、重載函數(shù)名可以不同;34、下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是(D)   A、構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù);B、構(gòu)造函數(shù)在定義類對象時自動執(zhí)行   C、構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù);D、構(gòu)造函數(shù)不可以重載35. 關(guān)于對象概念的描述中,(A )是錯誤的。A、 對象就是C語言中的結(jié)構(gòu)變量;    B、 對象代表著正在創(chuàng)

22、建的系統(tǒng)中的一個實體;      C、 對象是一個狀態(tài)和操作(或方法)的封裝體;    D、 對象之間的信息傳遞是通過消息進(jìn)行的;36. 對于int *pa5;的描述,(D)是正確的。A、      pa是一個指向數(shù)組的指針,所指向的數(shù)組是5個int型元素;B、       pa是一個指向某個數(shù)組中第5個元素的指針,該元素是int型變量;C、    pa5表示某個數(shù)組的第5個元

23、素的值;D、      pa是一個具有5個元素的指針數(shù)組,每個元素是一個int型指針;37. 下述靜態(tài)數(shù)據(jù)成員的特征中,( D )是錯誤的。A、     說明靜態(tài)數(shù)據(jù)成員時前邊要加修飾符static;B、        靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化;C、       引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加<類名>和作用域運算符;D、 &#

24、160;     靜態(tài)數(shù)據(jù)成員不是所有對象所共用的。38. ( A )是析構(gòu)函數(shù)的特征。A、 一個類中只能定義一個析構(gòu)函數(shù);    B、 析構(gòu)函數(shù)與類名不同;C、 析構(gòu)函數(shù)的定義只能在類體內(nèi);      D、 析構(gòu)函數(shù)可以有一個或多個參數(shù)。39.    已知:p是一個指向類A數(shù)據(jù)成員m的指針,A1是類A的一個對象。如果要給m賦值為5,( C )是正確的。A、 A1.p=5;    

25、60;               B、  A1->p=5;C、  A1.*p=5;                  D、  *A1.p=5;40.   派生類的對象對它的基類成員中( C )是可以訪問的。A、 

26、     公有繼承的公有成員;   B、        公有繼承的私有成員;C、       公有繼承的保護(hù)成員;D、      私有繼承的公有成員。41.下列表示引用的方法中,正確的是(A)。(A)  int m=10; int &x=m; (B) int m=10; int &y=10; (C) int m=10; int &a

27、mp;z; (D) int m=10; ifloat &t=&m;42.下列標(biāo)識符中,( C )是文件作用域。(A)    函數(shù)形參 (B)   語句標(biāo)號(C)    外部靜態(tài)標(biāo)識符 (D)  自動類標(biāo)識符43.在程序中,函數(shù)聲明語句正確位置是(D )(A)    隨便任何位置(B)    不包含在另一函數(shù)中的任何位置。(C)    該函數(shù)使用前的任何位置(D) 該函數(shù)使用前的任何

28、位置,但不包含在另一函數(shù)中44.下面有關(guān)函數(shù)重載的程序段正確的是(A ) 。(A) int fun(int x, int y); int fun(float x, float y);(B) int fun(int x, int y); int fun(int a, int b);(C) float fun(int x, int y); int fun(int x, int y);( D) int main(); void main();45.返回類型就是函數(shù)返回結(jié)果值的數(shù)據(jù)類型。返回類型可以是(C )(A) 除數(shù)組和類以外的任意數(shù)據(jù)類型(B) 除數(shù)組和結(jié)構(gòu)類型以外的任意數(shù)據(jù)類型(C) 除數(shù)組類

29、型以外的任意數(shù)據(jù)類型(D)     除指針和引用類型以外的任意數(shù)據(jù)類型46.下面關(guān)于帶默認(rèn)形式參數(shù)值的函數(shù)聲明正確的是(C )。(A) int fun(int a=1, int b, int c); (B) int fun(int a=1, int b=2, int c);(C) int fun(int a, int b=2, int c=3); (D) int fun(int a=1, int b, int c=3);47.引入內(nèi)聯(lián)函數(shù)的主要目的是(B )(A)   縮短程序代碼,少占用內(nèi)存空間(B)   既可以

30、保證程序的可讀性,又能提高程序的運行效率(C)   占用內(nèi)存空間少,執(zhí)行速度快(D)  使程序的結(jié)構(gòu)比較清晰48.有關(guān)構(gòu)造函數(shù)的說法不正確的是(D )(A) 構(gòu)造函數(shù)名字和類的名字一樣(B) 構(gòu)造函數(shù)說明類變量時自動執(zhí)行(C) 構(gòu)造函數(shù)無任何函數(shù)類型(D)    構(gòu)造函數(shù)有且僅有一個49.通常拷貝初始化構(gòu)造函數(shù)的參數(shù)是(C )。(A) 某個對象名 (B) 某個對象的成員名(C) 某個對象的引用名 (D) 某個對象的指針名50.當(dāng)保護(hù)繼承時,基類的(B )在派生類中成為保護(hù)成員,不能通過派生類的對象來直接訪問該成員。(A) 任

31、何成員 (B)公有成員和保護(hù)成員(C) 保護(hù)成員和私有成員 (D)私有成員51. 當(dāng)將一個類S定義為另一個類A的友元類時,類S的所有成員函數(shù)(A )。(A) 可以直接訪問類A的所有成員 (B)只能訪問類A的公有成員(C) 不能訪問類A的私有成員 (D)具有類S中非繼承的成員函數(shù)相同的訪問權(quán)限52.設(shè)置虛基類的目的是(B)(A) 簡化程序(B) 消除二義性。(C) 提高運行效率(D)    減少目標(biāo)代碼53.派生類的對象對它的基類成員中(A )是可以訪問的。(A)公有繼承的公有成員 (B)公有繼承的私有成員(C)公有繼承的保護(hù)成員 (D)私有繼承

32、的公有成員54.關(guān)于純虛函數(shù)和抽象類的描述中,下面描述錯誤的是(C )。(A) 純虛函數(shù)是一種特殊的函數(shù),它沒有具體的實現(xiàn)(B) 抽象類是指具有純虛函數(shù)的類(C) 一個基類中說明有純虛函數(shù),該基類的派生類一定不再是抽象類(D) 抽象類只能作為基類使用,其純虛函數(shù)的實現(xiàn)由派生類給出55. ( C)是一個在基類中說明的虛函數(shù),它在該類中沒有定義,但要求任何派生類都必須定義自己的版本。(A)虛析構(gòu)函數(shù) (B)虛構(gòu)造函數(shù)(C)純虛函數(shù) (D)靜態(tài)成員函數(shù)二、填空題1 當(dāng)一個成員函數(shù)被調(diào)用時,該成員函數(shù)的( 函數(shù)指針 ) 指向調(diào)用它的對象。2 在公有繼承的情況下,基類數(shù)據(jù)成員在派生類中的訪問權(quán)限 ( 不

33、變 ) 。3 靜態(tài)數(shù)據(jù)成員在類外進(jìn)行初始化,且靜態(tài)數(shù)據(jù)成員的一個拷貝被類的所有對象 ( 共享 ) 。4 構(gòu)造函數(shù)與析構(gòu)函數(shù)除功能不同外,在定義形式上,它們的區(qū)別還包括構(gòu)造函數(shù)名與類名相同,而析構(gòu)函數(shù)名是在類名前加一個、 ( 析構(gòu)函數(shù)沒有參數(shù) ) 、 析構(gòu)函數(shù)可以定義為虛函數(shù) 。5 C+中沒有輸入輸出語句,輸入輸出是通過輸入輸出庫實現(xiàn)的, 寫出一條打印整型變量n的輸出語句:( cout<<n);6 面向?qū)ο蟮某绦蛟O(shè)計有四大特征,它們是抽象、封裝、( 繼承 )、( 多態(tài) )。7動態(tài)聯(lián)編要滿足兩個條件,它們是 ( 被調(diào)用的成員函數(shù)是虛函數(shù) )、 ( 用指針或引用調(diào)用虛函數(shù) ) 。8 在C

34、+類中,有一種不能定義對象的類,這樣的類只能被繼承,稱之為 ( 抽象類 ) ,定義該類至少具有一個( 純虛函數(shù) ) 。9 在C+類中,const關(guān)鍵字可以修飾對象和成員函數(shù),const對象不能( 賦值) ,const成員函數(shù)不能 (修改成員數(shù)據(jù) ) 。10 舉出C+中兩種代碼復(fù)用的方式: (繼承) 、 (復(fù)用 ) 。11對于派生類的構(gòu)造函數(shù),在定義對象時構(gòu)造函數(shù)的執(zhí)行順序為:先執(zhí)行調(diào)用 ( 基類)的構(gòu)造函數(shù),再執(zhí)行調(diào)用子對象類的構(gòu)造函數(shù),最后執(zhí)行派生類的構(gòu)造函數(shù)體中的內(nèi)容。12聲明類模板應(yīng)使用關(guān)鍵字( template )。13重載的關(guān)系運算符和邏輯運算符的返回類型應(yīng)當(dāng)是( bool型 )。1

35、4在面向?qū)ο蠓椒ㄖ校惖膶嵗Q為( 對象 )。15在類的對象被釋放時,( 析構(gòu)函數(shù) )函數(shù)會被自動調(diào)用。16 當(dāng)一個成員函數(shù)被調(diào)用時,該成員函數(shù)的( 函數(shù)指針) 指向調(diào)用它的對象。17 在公有繼承的情況下,基類數(shù)據(jù)成員在派生類中的訪問權(quán)限 ( 不變 ) 。18 靜態(tài)數(shù)據(jù)成員在類外進(jìn)行初始化,且靜態(tài)數(shù)據(jù)成員的一個拷貝被類的所有對象 ( 共享) 。19 構(gòu)造函數(shù)與析構(gòu)函數(shù)除功能不同外,在定義形式上,它們的區(qū)別還包括構(gòu)造函數(shù)名與類名相同,而析構(gòu)函數(shù)名是在類名前加一個、 ( 析構(gòu)函數(shù)沒有參數(shù) ) 、 析構(gòu)函數(shù)可以定義為虛函數(shù) 。20 C+中沒有輸入輸出語句,輸入輸出是通過輸入輸出庫實現(xiàn)的, 寫出一條打

36、印整型變量n的輸出語句:( cout<<n );三、綜合題1編程題:設(shè)計一個立方體類Box,它能計算并輸出立方體的體積和表面積。2 :()下面程序的打印結(jié)果是_1251121_ .  #incude   int f(int);   int main()   int i;   for(i=0;i<5;i+)   cout<<F(I)<<""   return0;    

37、;  int f(int i)   static int k=1;   for(;i>0;i- -)   k + = i;   return k;      (2)在用class定義一個類時,數(shù)據(jù)成員和成員函數(shù)的默認(rèn)訪問權(quán)限是 _private_.  (3)含有純虛函數(shù)的類稱為_抽象類_.   (4)已知intDBL(int n)return n + n;和longDBL(long n)return n +n;  是一個函數(shù)模板的兩個實例,則該函數(shù)模板的定義_ templateT DBL(T n)return n+n;_. 

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論