《c++》復(fù)習(xí)題集及答案_第1頁
《c++》復(fù)習(xí)題集及答案_第2頁
《c++》復(fù)習(xí)題集及答案_第3頁
《c++》復(fù)習(xí)題集及答案_第4頁
《c++》復(fù)習(xí)題集及答案_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄一、單選題 1二、判斷題 12三、填空題 13四、程序填充 18五、讀程序?qū)懗鲞\行結(jié)果 31六、指出以下程序或函數(shù)的功能 43七、程序改錯 45八、程序設(shè)計 51面向?qū)ο蟪绦蛟O(shè)計答案 60-、單選題1. C+源程序文件的缺省擴展名為(A )。A. cpp B. exe C. obj D. lik2. 由C+翎程序文件編譯而成的目標文件的缺省擴展名為(C )A. cpp B. exeC. obj D. lik3. 由C+目標文件連接而成的可執(zhí)行文件的缺省擴展名為(B )A. cppB. exe C. obj D. lik4. 編寫C+程序一般需經(jīng)過的幾個步驟依次是(B )。A.編譯、編輯、連

2、接、調(diào)試B.編輯、編譯、連接、調(diào)試C. 編譯、調(diào)試、編輯、連接D. 編輯、調(diào)試、編輯、連接6.能作為C+理序的基本單位是(C)。A. 字符 B. 語句 C.函數(shù) D. 源程序文件8. C+程序的基本模塊為(D)。A. 表達式 B. 標識符 C. 語句 D.函數(shù)10. 存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是( D )。A. 0 B.0' C."0"D. 0.038. 以下說法中正確的是(B )。A. C+程序總是從第一個定義的函數(shù)開始執(zhí)行B. C+程序總是從 main函數(shù)開始執(zhí)行C. C+函數(shù)必須有返回值,否則不能使用函數(shù)D. C+程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個

3、程序文件中40. 函數(shù)重載是指(A )。A.兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不同B. 兩個以上的函數(shù)取相同的名字和具有相同的參數(shù)個數(shù),但形參的類型可以不同C. 兩個以上的函數(shù)名字不同,但形參的個數(shù)或類型相同D. 兩個以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同41. 以下關(guān)于函數(shù)模板敘述正確的是( C )。A. 函數(shù)模板也是一個具體類型的函數(shù)B. 函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念C.通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)D. 用函數(shù)模板定義的函數(shù)沒有類型42. 下列(C )的調(diào)用方式是引用調(diào)用。A.形參和實參都是變量 B.形參是指針,實參是地

4、址值C.形參是引用,實參是變量D. 形參是變量,實參是地址值43. 為了提高程序的運行速度,可將不太復(fù)雜的功能用函數(shù)實現(xiàn),此函數(shù)應(yīng)選擇(A )。A.聯(lián)函數(shù)B.重載函數(shù)C.遞歸函數(shù)D.函數(shù)模板55. 以下正確的描述是(C )。A. 不允許設(shè)置參數(shù)的默認值B. 設(shè)置參數(shù)的默認值只能在定義函數(shù)時設(shè)置C.設(shè)置參數(shù)的默認值時,應(yīng)該設(shè)置右邊的參數(shù)D. 設(shè)置參數(shù)的默認值時,應(yīng)該全部參數(shù)都設(shè)置56. 采用重載函數(shù)的目的是( D )。A. 實現(xiàn)共享 B.減少空間C. 提高速度D.使用方便,提高可讀性59. 下面的標識符中,(C ) 是文件級作用域。A.函數(shù)形參B.語句標號C.外部靜態(tài)類標識符D.自動類標識符60

5、. 以下敘述不正確的是(D )。A.宏替換不占用運行時間B.宏名無類型C.宏替換只是字符替換D.宏名必須用大寫字母表示61. C+語言的編譯系統(tǒng)對宏命令的處理是(D )。A. 在程序運行時進行B. 在程序連接時進行C. 和C+理序的其它語句同時進行編譯D.在對源程序中其它成分正式編譯之前進行62. 當#include后面的文件名用雙引號括起來時,尋找被包含文件的方式是(B )A. 直接按系統(tǒng)設(shè)定的標準方式搜索目錄B.先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標準方式搜索目錄C. 僅僅搜索源程序所在目錄D. 搜索當前邏輯盤上的所有目錄63. 當#include后面的文件名用尖括號括起來時,尋找被包含

6、文件的方式是(A )A.直接按系統(tǒng)設(shè)定的標準方式搜索目錄B. 先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標準方式搜索目錄C. 僅僅搜索源程序所在目錄D. 搜索當前邏輯盤上的所有目錄67. 文件包含命令中被包含的文件的擴展名( C )。A. 必須是.h B.不能是.h C.可以是.h或.cpp D. 必須是.cpp70. 用new運算符創(chuàng)建一個含 10個元素的一維整型數(shù)組的正確語句是(C )C. int *p=new int10;80. 假定p指向的字符串為A. string B. ring81. 假定p指向的字符串為A. int *p=new a10; B. int *p=new float10;

7、D. int *p=new int10=1,2,3,4,5C. ingD. istring ”,貝U cout<<p+3的輸出結(jié)果為( Cstring : 若要輸出這個字符串的地址值,則使用(D )。A. cout<<*s; B. cout<<s; C. cout<<&s;D. cout<<(void *)s;82. 定義p并使p指向動態(tài)空間中的包含30個整數(shù)的數(shù)組所使用的定義語句為(A )。A. int *p=new int30;B. int *p=new int(30);C. int *p=new 30; D. *p=ne

8、w int30;83. 假定p是具有int*類型的指針變量,則給p賦值的正確語句為(B )。A. p=new int;B. p=new int*; C. p=new int*; D. p=new int10;84. 要使語句"p=new int1020;”能夠正常執(zhí)行,p應(yīng)被事先定義為(D )。A. int *p; B. int *p; C. int *p20;D. int(*p)20;85. 假定有"struct BOOKchar title40; float price;BOOKbook=new BOOK;',則正確的語句為(A )。A. strcpy(book

9、->title, " WangTao" ); B. strcpy(book.title, " WangTao");C. strcpy(*book.title," Wang Tao' ); D. strcpy(*book)->title," WangTao”);86. 假定有"struct BOOKchar title40; float price; BOOK *book;",則不正確的語句為(A )。A. BOOK *x=new book; B. BOOK x="C+ Programm

10、ing”,27.0;C. BOOK *x=new BOOK; D. BOOK *x=book;87. 假定有"struct BOOKchar title40; float price;book;”,則正確的語句為(B )。A. BOOK &x= &book;B. BOOK &x=book;C. BOOK &x=new BOOK; D. BOOK &x=BOOK;88. 下列對引用的述中不正確的是( C )。A. 每一個引用都是其所引用對象的別名,因此必須初始化B. 形式上針對引用的操作實際上作用于它所引用的對象C. 一旦定義了引用,一切針對其所

11、引用對象的操作只能通過該引用間接進行D. 不需要單獨為引用分配存儲空間91. 假定指針變量p定義為"int *p=new int(100);”,要釋放p所指向的動態(tài)存,應(yīng)使用語句(A )。A. delete p; B. delete *p; C. delete &p; D. delete p;92. 假定指針變量p定義為"int *p=new int30;",要釋放p所指向的動態(tài)存,應(yīng)使用語句(D )。A. delete p; B. delete *p; C. delete &p;D. delete p;93. 假定變量x定義為“int x=5;

12、",要使rx成為x的引用(別名),rx應(yīng)定義為(D )。A. int rx=x; B. int rx=&x; C. int *rx=&x;D. int &rx=x;94. 關(guān)于消息,下列說法中不正確的是( B )。A. 發(fā)送消息的對象請求服務(wù),接受消息的對象提供服務(wù)B.消息的發(fā)送者必須了解消息的接收者如何相應(yīng)消息C. 在C+珅,消息的發(fā)送具體體現(xiàn)為對接收消息的對象的某個函數(shù)的調(diào)用D. 每個對象只能接收某些特定格式的消息95. 關(guān)于封裝,下列說法中不正確的是( D )。A. 通過封裝,對象的全部屬性和操作結(jié)合在一起,形成一個整體B. 通過封裝,一個對象的實現(xiàn)細節(jié)

13、被盡可能地隱藏起來(不可見)C. 通過封裝,每個對象都成為相對獨立的實體D.通過封裝,對象的屬性都是不可見的96. 面向?qū)ο蠓椒ǖ亩鄳B(tài)性是指( C )。A. 一個類可以派生出多個特殊類B. 一個對象在不同的運行環(huán)境中可以有不同的變體C.針對一消息,不同的對象可以以適合自身的方式加以響應(yīng)D. 一個對象可以是由多個其他對象組合而成的97. 軟件產(chǎn)品在需求發(fā)生變化、運行環(huán)境發(fā)生變化或發(fā)現(xiàn)軟件產(chǎn)品本身的錯誤或不足時進行相應(yīng)的軟件更新的難易程度叫做軟件的(A )。A.可維護性B.可復(fù)用性C.兼容性D.正確性98. 軟件產(chǎn)品可被全部或部分地再用于新的應(yīng)用的能力叫做軟件的( B )。A. 可維護TB.可復(fù)用

14、性C.兼容性D.正確性99. 軟件產(chǎn)品與其他軟件產(chǎn)品組合成一個整體的難易程度叫做軟件的( C )。A.可維護性B.可復(fù)用性C.兼容性 D. 正確性100. 軟件產(chǎn)品準確執(zhí)行軟件需求規(guī)格說明書中所規(guī)定的任務(wù)的能力叫做軟件的(D )。A.可維護性B.可復(fù)用性C. 兼容性D.正確性101. 面向?qū)ο筌浖_發(fā)中使用的OOAa示(A )。A.面向?qū)ο蠓治鯞.面向?qū)ο笤O(shè)計C.面向?qū)ο笳Z言D.面向?qū)ο蠓椒?02. 面向?qū)ο筌浖_發(fā)中使用的00酸示(B )。A.面向?qū)ο蠓治?B.面向?qū)ο笤O(shè)計C.面向?qū)ο笳Z言D.面向?qū)ο蠓椒?03. 關(guān)于面向?qū)ο笙到y(tǒng)分析,下列說法中不正確的是( B )。A. 術(shù)語“面向?qū)ο蠓治?/p>

15、”可以用縮寫00胰示B.面向?qū)ο蠓治鲭A段對問題域的描述比實現(xiàn)階段更詳細C. 面向?qū)ο蠓治霭▎栴}域分析和應(yīng)用分析兩個步驟D. 面向?qū)ο蠓治鲂枰R別對象的部和外部特征104. 在一個類的定義中,包含有( C )成員的定義。A. 數(shù)據(jù) B. 函數(shù) C.數(shù)據(jù)和函數(shù) D.數(shù)據(jù)或函數(shù)105. 在類作用域中能夠通過直接使用該類的( D )成員名進行訪問。A. 私有 B. 公用 C. 保護 D.任何106. 在關(guān)鍵字public后面定義的成員為類的( B )成員。A. 私有 B.公用 C. 保護 D. 任何107. 在關(guān)鍵字private 后面定義的成員為類的( A )成員。A.私有 B. 公用 C. 保護

16、 D. 任何108 .假定AA為一個類,a為該類公有的數(shù)據(jù)成員,x為該類的一個對象,則訪問 x對 象中數(shù)據(jù)成員a的格式為(D )。A. x(a) B. xa C. x->aD. x.a109 .假定AA為一個類,a()為該類公有的函數(shù)成員,x為該類的一個對象,則訪問 x對象中函數(shù)成員a()的格式為(B )。A. x.aB. x.a() C. x->a D. x->a()110 .假定AA為一個類,a為該類公有的數(shù)據(jù)成員,px為指向該類對象的一個指針,則訪問px所指對象中數(shù)據(jù)成員a的格式為(C )。A. px(a) B. pxaC. px->a D. px.a111 .假

17、定AA為一個類,a為該類私有的數(shù)據(jù)成員,GetValue()為該類公有函數(shù)成員,它返回a的值,x為該類的一個對象,則訪問x對象中數(shù)據(jù)成員a的格式為(D )。A. x.a B. x.a() C. x->GetValue()D. x.GetValue()112. 假定AA為一個類,int a()為該類的一個成員函數(shù),若該成員函數(shù)在類定義體外定義,則函數(shù)頭為(A )。A. int AA:a() B. int AA:a()C. AA:a() D. AA:int a()113. 假定AA為一個類,a為該類公有的數(shù)據(jù)成員,若要在該類的一個成員函數(shù)中訪問它,則書寫格式為(A )。A. a B. AA:

18、a C. a() D. AA:a()114. 若需要把一個類外定義的成員函數(shù)指明為聯(lián)函數(shù),則必須把關(guān)鍵字( B )放在函數(shù)原型或函數(shù)頭的前面。A. inB. inline C. inLine D. InLiner115. 在多文件結(jié)構(gòu)的程序中,通常把類的定義單獨存放于( D )中。A. 主文件 B. 實現(xiàn)文件 C. 庫文件 D.頭文件116. 在多文件結(jié)構(gòu)的程序中,通常把類中所有非聯(lián)函數(shù)的定義單獨存放于(B )中。A. 主文件 B.實現(xiàn)文件 C. 庫文件 D. 頭文件117. 在多文件結(jié)構(gòu)的程序中,通常把含有 main()函數(shù)的文件稱為(A )。A.主文件 B. 實現(xiàn)文件 C.程序文件D. 頭

19、文件118. 一個C+理序文件的擴展名為( C )。A. .h B. .cC. .cpp D. .cp119. 在C+程序中使用的cin標識符是系統(tǒng)類庫中定義的( A )類中的一個對象。A. istream B. ostream C. iostream D. fstream120. 在C+程序中使用的cout標識符是系統(tǒng)類庫中定義的( B )類中的一個對象。A. istreamB. ostream C. iostream D. fstream121. 假定AA是一個類,abc是該類的一個成員函數(shù),則參數(shù)表中隱含的第一個參數(shù)的類型為(D )。A. int B. char C. AAD. AA*1

20、22. 假定AA是一個類,abc是該類的一個成員函數(shù),則參數(shù)表中隱含的第一個參數(shù)為(C )。A. abc B. *thisC. this D. this&123. 假定AA是一個類,“ AA&abc(); ”是該類中一個成員函數(shù)的原型,若該函數(shù)存在又*this 賦值的語句,當用 x.abc()調(diào)用該成員函數(shù)后,x的值(A )。A.已經(jīng)被改變B.可能被改變C. 不變 D.不受函數(shù)調(diào)用的影響124. 假定AA是一個類,“ AA* abc()const; ”是該類中一個成員函數(shù)的原型,若該函數(shù)返回this值,當用x.abc()調(diào)用該成員函數(shù)后,x的值(C )。A.已經(jīng)被改變B.可能被

21、改變C.不變 D.受到函數(shù)調(diào)用的影響125. 類中定義的成員默認為( B )訪問屬性。A. publicB. private C. protected D. friend126. 結(jié)構(gòu)中定義的成員默認為( A )訪問屬性。A. public B. private C. protected D. friend127. 當類中一個字符指針成員指向具有n個字節(jié)的存儲空間時,它所能存儲字符串的最大長度為(C )。A. n B. n+1C. n-1 D. n-2128. 在一個用數(shù)組實現(xiàn)的隊列類中,假定數(shù)組長度為MS隊首元素位置為first ,隊列長度為length ,則隊尾(即最后一個)元素的位置為

22、(C )。A. length+1B. first+lengthC. (first+length-1)%MSD. (first+length)%MS129. 在一個用數(shù)組實現(xiàn)的隊列類中,假定數(shù)組長度為MS隊首元素位置為first ,隊列長度為length ,則隊尾的后一個位置為(D )。A. length+1B. first+lengthC. (first+length-1)%MSD. (first+length)%MS130. 在一個用數(shù)組實現(xiàn)的隊列類中,假定數(shù)組長度為MS隊首元素位置為first ,隊列長度為length ,則隊首的后一個位置為(B )。A. first+1B. (first

23、+1)%MSC. (first-1)%MS D. (first+length)%MS131. 在一個用鏈表實現(xiàn)的隊列類中,假定每個結(jié)點包含的值域用 elem表示,包含的指針域用next表示,鏈隊的隊首指針用 elemHead表示,隊尾指針用 elemTail表示,若鏈隊 非空,則進行插入時必須把新結(jié)點的地址賦給(D)。A. elemHeadB. elemTailC. elemHead->next 和 elemHead D. elemTail->next 和 elemTail132. 在一個用鏈表實現(xiàn)的隊列類中,假定每個結(jié)點包含的值域用 elem表示,包含的指針域用next表示,鏈隊

24、的隊首指針用 elemHead表示,隊尾指針用 elemTail表示,若鏈隊 為空,則進行插入時必須把新結(jié)點的地址賦給(C)。A. elemHeadB. elemTailC. elemHead 和 elemTail D. elemHead 或 elemTail133. 隊列具有(A )的操作特性。A.先進先出B.先進后出C.進出無序D. 進出任意134. 棧具有(B )的操作特性。A.先進先出B.先進后出C.進出無序D. 進出任意135. 對于一個類的構(gòu)造函數(shù),其函數(shù)名與類名(A )。A.完全相同B.基本相同C. 不相同 D. 無關(guān)系136. 對于一個類的析構(gòu)函數(shù),其函數(shù)名與類名(C )。A.

25、完全相同B.完全不同C.只相差一個字符D. 無關(guān)系137. 類的構(gòu)造函數(shù)是在定義該類的一個(C )時被自動調(diào)用執(zhí)行的。A.成員函數(shù)B.數(shù)據(jù)成員C.對象 D.友元函數(shù)138. 類的析構(gòu)函數(shù)是一個對象被(B ) 時自動調(diào)用的。A. 建立 B.撤消 C. 賦值 D. 引用139. 一個類的構(gòu)造函數(shù)通常被定義為該類的(A )成員。A.公用 B. 保護 C. 私有 D. 友元140. 一個類的析構(gòu)函數(shù)通常被定義為該類的(C )成員。A. 私有 B. 保護 C.公用 D. 友元141. 假定AB為一個類,則執(zhí)行 “AB x; ”語句時將自動調(diào)用該類的(B )。A.帶參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù) C.拷貝構(gòu)造

26、函數(shù)D.賦值重載函數(shù)142. 假定AB為一個類,則執(zhí)行 “AB x(a,5); ”語句時將自動調(diào)用該類的(A )。A.帶參構(gòu)造函數(shù) B.無參構(gòu)造函數(shù) C.拷貝構(gòu)造函數(shù)D.賦值重載函數(shù)143. 假定AB為一個類,則執(zhí)行 "AB *s=new AB(a,5);”語句時得到的一個動態(tài)對象為(D )A. sB. s->aC. s.aD. *s144. 假定AB為一個類,則執(zhí)行 "AB門=2; ”語句時將自動調(diào)用該類的(D )。A. 無參構(gòu)造函數(shù) B.帶參構(gòu)造函數(shù) C.賦值重載函數(shù)D.拷貝構(gòu)造函數(shù)145. 若需要使類中的一個指針成員指向一塊動態(tài)存儲空間,則通常在(B )函數(shù)中完

27、成。A. 析構(gòu) B.構(gòu)造 C. 任一成員 D. 友元146. 當類中的一個整型指針成員指向一塊具有n*sizeof(int) 大小的存儲空間時,它最多能夠存儲(A )個整數(shù)。A. n B. n+1 C. n-1 D. 1147. 假定一個類的構(gòu)造函數(shù)為"A(int aa, int bb) a=aa; b=aa*bb; : 則執(zhí)行 "Ax(4,5);”語句后,x.a和x.b的值分別為(C )。A. 4 和 5 B. 5 和 4 C. 4 和 20 D. 20 和 5148. 假定一個類的構(gòu)造函數(shù)為"A(int aa=1, int bb=0) a=aa; b=bb;:

28、 則執(zhí)行“A x(4);“語句后,x.a和x.b的值分別為(D )。A. 1 和 0 B. 1 和 4 C. 4 和 1 D. 4 和 0149. 假定AB為一個類,則(B )為該類的拷貝構(gòu)造函數(shù)的原型說明。A. AB(AB x);B. AB(AB& x); C. void AB(AB& x); D. AB(int x);150. 假定一個類的構(gòu)造函數(shù)為"B(int ax, int bx): a(ax), b(bx) :執(zhí)行 "Bx(1,2),y(3,4);x=y;” 語句序列后 x.a 的值為(C )。A. 1 B. 2C. 3 D. 4151. 假定一個

29、類AB只含有一個整型數(shù)據(jù)成員a,當用戶不定義任何構(gòu)造函數(shù)時,系統(tǒng)為該類定義的無參構(gòu)造函數(shù)為(D )。A. AB() a=0; B. AB(int aa=0): a(aa) C. AB(int aa): a(aa) D. AB() 152. 假定一個類AB只含有一個整型數(shù)據(jù)成員a,用戶為該類定義的帶參構(gòu)造函數(shù)可以為(C )。A. AB() B. AB(): a(0)C. AB(int aa=0) a=aa;D. AB(int aa) 153. 對于任一個類,用戶所能定義白構(gòu)造函數(shù)的個數(shù)至多為(D )。A. 0 B. 1 C. 2D.任意個154. 對于任一個類,用戶所能定義白析構(gòu)函數(shù)的個數(shù)至多為

30、(B )。A. 0B. 1 C. 2 D. 任意個155. 假定AB為一個類,則執(zhí)行 “AB *px=new ABn; ”語句時將(A )。A.動態(tài)分配一個數(shù)組B.動態(tài)分配一個對象C.靜態(tài)分配一個數(shù)組D.靜態(tài)分配一個對象156. 設(shè)px是指向一個類對象的指針變量,則執(zhí)行 “delete px; ”語句時,將自動調(diào) 用該類的(C )。A. 無參構(gòu)造函數(shù) B.帶參構(gòu)造函數(shù)C.析構(gòu)函數(shù)D.拷貝構(gòu)造函數(shù)157. 當一個類對象離開它的作用域時,系統(tǒng)自動調(diào)用該類的 (D )。A. 無參構(gòu)造函數(shù) B.帶參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D.析構(gòu)函數(shù)158. 假定一個類對象數(shù)組為An,當離開它定義的作用域時,系統(tǒng)自動

31、調(diào)用該類析構(gòu)函數(shù)的次數(shù)為(C )。A. 0 B. 1C. n D. n-1159. 假定AB為一個類,則執(zhí)行 “ABa10; ”語句時調(diào)用該類無參構(gòu)造函數(shù)的次數(shù)為(D )。A. 0 B. 1 C. 9D. 10160. 假定AB為一個類,則執(zhí)行AB *px=new ABn;”語句時調(diào)用該類無參構(gòu)造函數(shù)的次數(shù)為(A )。A. n B. n-1 C. 1 D. 0161. 假定AB為一個類,則執(zhí)行 “AB a, b(3), *p; ”語句時共調(diào)用該類構(gòu)造函數(shù)的次數(shù)為(A )。A. 2 B. 3 C. 4 D. 5162. 假定AB為一個類,則執(zhí)行 “AB a(2), b3, *p4; ”語句時共調(diào)

32、用該類構(gòu)造函數(shù)的次數(shù)為(B )。A. 3B. 4 C. 5 D. 9163. 假定AB為一個類,則執(zhí)行“ AB a, b(2), c3, *p=&a;"語句時共調(diào)用該類無參構(gòu)造函數(shù)的次數(shù)為(D)。A. 5 B. 6 C. 3D. 4164. 假定AB為一個類,則執(zhí)行" AB *p=new AB(1,2); ”語句時共調(diào)用該類構(gòu)造函數(shù)的次數(shù)為(B )。A. 0B. 1 C. 2 D. 3165. 假定AB為一個類,px為指向該類的一個含有 n個對象的動態(tài)數(shù)組的指針,則執(zhí)行“delete 口px;"語句時共調(diào)用該類析構(gòu)函數(shù)的次數(shù)為(C )。A. 0 B. 1C

33、. n D. n+1166. 對類對象成員的初始化是通過構(gòu)造函數(shù)中給出的(B )實現(xiàn)的。A. 函數(shù)體 B.初始化表C. 參數(shù)表 D. 初始化表或函數(shù)體167. 對類中常量成員的初始化是通過構(gòu)造函數(shù)中給出的(C )實現(xiàn)的。A.函數(shù)體B.參數(shù)表C.初始化表D.初始化表或函數(shù)體168. 對類中引用成員的初始化是通過構(gòu)造函數(shù)中給出的(C )實現(xiàn)的。A.函數(shù)體B.參數(shù)表C.初始化表D.初始化表或函數(shù)體169. 類的構(gòu)造函數(shù)可以帶有(D ) 個參數(shù)。A. 0 B. 1 C. 2D.任意170. 類的析構(gòu)函數(shù)可以帶有(A ) 個參數(shù)。A. 0 B. 1 C. 2 D.任意171. 一個類的靜態(tài)數(shù)據(jù)成員所表示

34、屬性(C )。A. 是類的或?qū)ο蟮膶傩?B.只是對象的屬性C.只是類的屬性D.類和友元的屬性172. 類的靜態(tài)成員的訪問控制( D )。A. 只允許被定義為privateB. 只允許被定義為private或protectedC. 只允許被定義為publicD.可允許被定義為 private 、protected 或 public173. 靜態(tài)成員函數(shù)對類的數(shù)據(jù)成員訪問( B )。A. 是不允許的B.只允許是靜態(tài)數(shù)據(jù)成員C.只允許是非靜態(tài)數(shù)據(jù)成員D.可允許是靜態(tài)數(shù)據(jù)成員或非靜態(tài)數(shù)據(jù)成員174. 被非靜態(tài)成員函數(shù)訪問的類的數(shù)據(jù)成員(A )。A.可以是非靜態(tài)數(shù)據(jù)成員或靜態(tài)數(shù)據(jù)成員B.不可能是類的靜態(tài)

35、數(shù)據(jù)成員C. 只能是類的非靜態(tài)數(shù)據(jù)成員D.只能是類的靜態(tài)數(shù)據(jù)成員175. 靜態(tài)數(shù)據(jù)成員的初始化是在( D )中進行的。A. 構(gòu)造函數(shù)B.任何成員函數(shù)C. 所屬類D.全局區(qū)176. 當將一個類A或函數(shù)f()說明為另一個類 B的友元后,類A或函數(shù)f()能夠直接訪問類8的(D )。A.只能是公有成員B.只能是保護成員C.只能是除私有成員之外的任何成員D.具有任何權(quán)限的成員177. 引入友元的主要目的是為了( C )。A.增強數(shù)據(jù)安全性B.提高程序的可靠性C.提高程序的效率和靈活性D.保證類的封裝性178. 一個類的成員函數(shù)也可以成為另一個類的友元函數(shù),這時的友元說明(A )。A.需加上類域的限定B.

36、 不需加上類域的限定C.類域的限定可加可不加D.不需要任何限定179. 一個類的友元不是該類的成員,與該類的關(guān)系密切,所以它( D )。A. 有this指針,有默認操作的對象B. 沒有this指針,可以有默認操作的對象C. 有this指針,不能執(zhí)行默認操作D.沒有this指針,也就沒有默認操作的對象180. 在重載一個運算符時,其參數(shù)表中沒有任何參數(shù),這表明該運算符是(B )。A.作為友元函數(shù)重載的1元運算符B.作為成員函數(shù)重載的1元運算符C.作為友元函數(shù)重載的2元運算符D.作為成員函數(shù)重載的2元運算符181. 在成員函數(shù)中進行雙目運算符重載時,其參數(shù)表中應(yīng)帶有( B )個參數(shù)。A. 0B.

37、1 C. 2 D. 3182. 雙目運算符重載為普通函數(shù)時,其參數(shù)表中應(yīng)帶有( C )個參數(shù)。A. 0 B. 1C. 2 D. 3183. 如果表達式a+b中的“+”是作為成員函數(shù)重載的運算符,若采用運算符函數(shù)調(diào)用格式,則可表示為(A )。A. a.operator+(b) B. b.operator+(a)C. operator+(a,b) D. operator(a+b)184. 如果表達式a=b中的“=”是作為普通函數(shù)重載的運算符,若采用運算符函數(shù)調(diào)用格式,則可表示為(C )。A. a.operator=(b) B. b.operator=(a)C. operator=(a,b) D.

38、operator=(b,a)185. 如果表達式a+中的“ +”是作為普通函數(shù)重載的運算符,若采用運算符函數(shù)調(diào)用格式,則可表示為(C )。A. a.operator+() B. operator+(a)C. operator+(a,1) D. operator+(1,a)186. 如果表達式+a中的“ +”是作為成員函數(shù)重載的運算符,若采用運算符函數(shù)調(diào)用格式,則可表示為(D )。A. a.operator+(1) B. operator+(a)C. operator+(a,1)D. a.operator+()187. 關(guān)于運算符重載,下列說確的是( C )。A. 重載時,運算符的優(yōu)先級可以改變

39、。B. 重載時,運算符的結(jié)合性可以改變。C.重載時,運算符的功能可以改變。D. 重載時,運算符的操作數(shù)個數(shù)可以改變。188. 關(guān)于運算符重載,下列說確的是( B )。A. 所有的運算符都可以重載。B.通過重載,可以使運算符應(yīng)用于自定義的數(shù)據(jù)類型。C. 通過重載,可以創(chuàng)造原來沒有的運算符。D. 通過重載,可以改變運算符的優(yōu)先級。189. 一個程序中數(shù)組a和變量k定義為“ int a510,k;",且程序中包含有語句“a(2,5)=+k*3; : 則此語句中肯定屬于重載操作符的是( A )。A. ( ) B. = C. + D. *190. 假定K是一個類名,并有定義“ K k; int

40、 j; : 已知K中重載了操作符(),且語句“j=k(3); ”和“k(5)=99; ”都能順利執(zhí)行,說明該操作符函數(shù)的原形只可能是(C )。A. K operator ( ) (int); B. int operator ( )(int&);C. int & operator ( )(int);D. K &operator( )(int);191. 假定M是一個類名,且 M中重載了操作符=,可以實現(xiàn)M對象間的連續(xù)賦值,如“m1=m2=m3;。重載操作符=的函數(shù)原型最好是(D )。A. int operaotor=(M); B. int operator=(M&

41、);C. M operator=(M&);D. M& operator=(M);192. 下面是重載雙目運算符+的普通函數(shù)原形,其中最符合+原來含義的是(A )。A. Value operator+(Value, Value);B. Value operator+(Value,int);C. Value &operator+(Value, Value); D. Value &operator+(Value&, Value&);193. 下面是重載雙目運算符-的成員函數(shù)原形,其中最符合-原來含義的是(A )。A. Value Value:opera

42、tor-(Value);B. Value Value:operator-(int);C. Value& Value:operator-(Value);D. Value& Value:operator-(Value&);194. 在重載一運算符時,若運算符函數(shù)的形參表中沒有參數(shù),則不可能的情況是(D )。A. 該運算符是一個單目運算符。B. 該運算符函數(shù)有一個隱含的參數(shù)this 。C. 該運算符函數(shù)是類的成員函數(shù)。D.該運算符函數(shù)是類的友元函數(shù)。195. 關(guān)于插入運算符 <<的重載,下列說法不正確的是( B )。A. 運算符函數(shù)的返回值類型是ostream &

43、amp; 。B.重載的運算符必須定義為類的成員函數(shù)。C. 運算符函數(shù)的第一個參數(shù)的類型是ostream & 。D. 運算符函數(shù)有兩個參數(shù)。196. 從一個基類派生出的各個類的對象之間(C )。A. 共享所有數(shù)據(jù)成員,每個對象還包含基類的所有屬性B. 共享部分數(shù)據(jù)成員,每個對象還包含基類的所有屬性C.不共享任何數(shù)據(jù)成員,但每個對象還包含基類的所有屬性D. 共享部分數(shù)據(jù)成員和函數(shù)成員197. 如果是類B在類A的基礎(chǔ)上構(gòu)造,那么,就稱( B )。A. 類A為基類或父類,類 B為超類或子類B.類A為基類、父類或超類,類B為派生類或子類C. 類A為派生類,類B為基類D. 類A為派生類或子類,類B

44、為基類、父類或超類198. C+的繼承性允許派生類繼承基類的( C )。A. 部分特性,并允許增加新的特性或重定義基類的特性B. 部分特性,但不允許增加新的特性或重定義基類的特性C.所有特性,并允許增加新的特性或重定義基類的特性D. 所有特性,但不允許增加新的特性或重定義基類的特性199. 派生類的成員函數(shù)可以直接訪問基類的( B )成員。A. 所有B.公有和保護C.保護和私有D. 私有200. 對于公有繼承,基類的公有和保護成員在派生類中將(D )成員。A.全部變成公有B.全部變成保護C.全部變成私有D.仍然相應(yīng)保持為公有和保護201. 對于公有繼承,基類中的私有成員在派生類中將(C )。A

45、.能夠直接使用成員名訪問B.能夠通過成員運算符訪問C.仍然是基類的私有成員D.變?yōu)榕缮惖乃接谐蓡T202. 當保護繼承時,基類的( B )在派生類中成為保護成員,在類作用域外不能夠通過派生類的對象來直接訪問該成員。A. 任何成員B.公有成員和保護成員C. 保護成員和私有成員D.私有成員203. 在定義一個派生類時,若不使用保留字顯式地規(guī)定采用何種繼承方式,則默認為(A )方式。A.私有繼承B.非私有繼承C. 保護繼承D.公有繼承204. 建立包含有類對象成員的派生類對象時,自動調(diào)用構(gòu)造函數(shù)的執(zhí)行順序依次為(C )的構(gòu)造函數(shù)。A. 自己所屬類、對象成員所屬類、基類B. 對象成員所屬類、基類、自己

46、所屬類C. 基類、對象成員所屬類、自己所屬類D. 基類、自己所屬類、對象成員所屬類205. 當派生類中有和基類一樣名字的成員時,一般來說,( B )。A.將產(chǎn)生二義性B.派生類的同名成員將覆蓋基類的成員C.是不能允許的D.基類的同名成員將覆蓋派生類的成員206. C+中的虛基類機制可以保證:( D )。A. 限定基類只通過一條路徑派生出派生類B. 允許基類通過多條路徑派生出派生類,派生類也就能多次繼承該基類C. 當一個類多次間接從基類派生以后,派生類對象能保留多份間接基類的成員D. 當一個類多次間接從基類派生以后,其基類只被一次繼承207. 下列對派生類的描述中錯誤的說法是:( D )。A.

47、派生類至少有一個基類B. 派生類可作為另一個派生類的基類C. 派生類除了包含它直接定義的成員外,還包含其基類的成員D. 派生類所繼承的基類成員的訪問權(quán)限保持不變208. 派生類的對象對其基類中( A )可直接訪問。A. 公有繼承的公有成員B. 公有繼承的私有成員C. 公有繼承的保護成員D. 私有繼承的公有成員二、判斷題1 . C+中標識符的大小寫字母是沒有區(qū)別的。(F )2 . C+隹一種以編譯方式實現(xiàn)的高級語言。(T )3 .計算函數(shù)參數(shù)順序引起的二義性是由不同的編譯系統(tǒng)決定的。(T )4 .返回值類型、參數(shù)個數(shù)和類型都相同的函數(shù)也可以重載。(F )5 .使用關(guān)鍵字class定義的類中缺省的

48、訪問權(quán)限是私有( private )的。(T )6 .類的私有成員只能被類中的成員函數(shù)訪問,任何類以外的函數(shù)對它們的訪問都是非法的。(F )7 .多繼承情況下,派生類的構(gòu)造函數(shù)的執(zhí)行順序取決于成員初始化列表中的順序。(F )8 .在公有繼承中,基類中的公有成員和私有成員在派生類中都是可見的。(F )9 .在私有繼承中,基類中所有成員對派生類都是不可見的。(F )10 .在保護繼承中,對于垂直訪問等同于公有繼承,對于水平訪問等同于私有繼承。(T )11 .構(gòu)造函數(shù)可以聲明為虛函數(shù)。(F )12 .在析構(gòu)函數(shù)中調(diào)用虛函數(shù)時,采用動態(tài)束定。(F )13 .在一個成員函數(shù)調(diào)用一個虛函數(shù)時,對該虛函數(shù)的

49、調(diào)用進行動態(tài)束定。(T )14 .公有繼承可以實現(xiàn)子類型。(T )15 .構(gòu)造函數(shù)可以聲明為純虛函數(shù)。(F )16 .說明函數(shù)原型時不需要指明每個函數(shù)參數(shù)的名字,只需要說明每個參數(shù)的類型和返回值類型就可以了。 對17 .所有的表達式都有值。錯18 .程序的編譯是以文件為單位的,因此將程序分到多個文件中可以減少每次對程序修改所 帶來的編譯工作量。 對19 .類的靜態(tài)數(shù)據(jù)成員需要在定義每個類的對象時進行初始化。錯20 .基類中被說明為 protected 和private 的成員只能被其派生類的成員函數(shù)訪問,不能被 其它的函數(shù)訪問。錯21 .當將一個類S定義為另一個類 A的友元類時,類 S的所有成

50、員函數(shù)都可以直接訪問類A的所有成員。對22 .當函數(shù)的返回值是數(shù)組類型的,傳遞的是數(shù)組第一個元素的地址。錯23 .如果派生類的成員函數(shù)的原型與基類中被定義為虛函數(shù)的成員函數(shù)原型相同,那么,這個函數(shù)自動繼承基類中虛函數(shù)的特性。對24 .字符串hello,world ”在存中存放時,占用11個字節(jié)的空間。 錯25 .用new動態(tài)申請的存空間,必須用 delete來釋放。對26 .靜態(tài)數(shù)據(jù)成員必須在類外定義和初始化。(V )27 .保護繼承時,派生類中的成員函數(shù)可以直接訪問基類中的protected 成員。(,)28 .靜態(tài)成員函數(shù)可以引用屬于該類的任何函數(shù)成員。(X )29 .指針常量可以指向相應(yīng)

51、類型的常量。(V )30 .友元函數(shù)是在類聲明中由關(guān)鍵字friend 修飾說明的類的成員函數(shù)。(X)31 .如果程序中未聲明構(gòu)造函數(shù),則系統(tǒng)自動產(chǎn)生出一個默認形式的構(gòu)造函數(shù)。32 .友元函數(shù)訪問對象中的成員可以不通過對象名( X )33 .如果程序中未聲明析構(gòu)函數(shù),編譯器將自動產(chǎn)生一個默認的析構(gòu)函數(shù)。(,)34 .類中的成員數(shù)據(jù)可以是另一個類的對象。( V )35 .常引用做形參,在函數(shù)中不能更新所引用的對象。(,)36 .虛函數(shù)不能是類的靜態(tài)成員。對37 .重定義虛函數(shù)的派生類必須是公有繼承的。對38 .對于從基類繼承的虛函數(shù),派生類也可以不進行重定義。對39 .純虛函數(shù)與函數(shù)體為空的虛函數(shù)

52、等價。錯40 .多態(tài)類提供了一種動態(tài)多分支派送機制。對41 .作為虛函數(shù)隱含參數(shù)的this指針,決定了虛函數(shù)調(diào)用時執(zhí)行的代碼。對、填空題1. C+語百是在 語后的基礎(chǔ)上發(fā)展起來的。2. C+語言的編譯單位是擴展名為 的 文件。5 .用于輸出表達式值的標準輸出流對象是 。6 .用于從鍵盤上為變量輸入值的標準輸入流對象是 。8 . 一個函數(shù)的函數(shù)體就是一條 語句。9 .當執(zhí)行cin語句時,從鍵盤上輸入每個數(shù)據(jù)后必須接著輸入一個 符,然后 才能繼續(xù)輸入下一個數(shù)據(jù)。10 .在C+程序中包含一個頭文件或程序文件的預(yù)編譯命令為 。13 .在#include命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可

53、以是定義的頭文件。14 .使用#include命令可以包含一個頭文件,也可以包含一個 文件。17 . C+以文件和源程序文件的擴展名分別為 和。18 .程序文件的編譯錯誤分為 和 兩類。22 .當執(zhí)行cout語句輸出endl數(shù)據(jù)項時,將使C+顯示輸出屏幕上的光標從當前位置 移動到 的開始位置。38 .在C+中存儲字符串" abcdef”至少需要 個字節(jié)。39 .在C+中存儲字符串" a+b=c”至少需要 個字節(jié)。52 . 設(shè) enum Printstatusready,busy,error;貝U cout<<busy 的輸出 結(jié)果是 O則 cout<<

54、;busy 的輸出 結(jié)果是53 .設(shè) enum Printstatusready=2,busy,error;55 .枚舉類型中的每個枚舉值都是一個 ,它的值為一個 。87 .在C+語言中,一個函數(shù)由函數(shù)頭和 組成。88 .重載一個函數(shù)的條件是:該函數(shù)必須在參數(shù)白個數(shù)或參數(shù)的 上與其它同 名函數(shù)有所不同。89 .如果一個函數(shù)只允許同一程序中的函數(shù)調(diào)用,則應(yīng)在該函數(shù)定義前加上 C+保留字。90 .若“double x=100; ”是文件F1.CPP中的一個全局變量定義語句,若文件F2.CPP中的某個函數(shù)需要訪問此x ,則應(yīng)在文件F2.CPP中添加對x的聲明語句為91 .定義一個函數(shù)模板要用到的第一

55、個修飾符是 。92 .在函數(shù)模板的參數(shù)中,用 class修飾的參數(shù)稱為 參數(shù)。93 .如果一個函數(shù)直接或間接地調(diào)用自身,這樣的調(diào)用稱為 調(diào)用。94 .已 知 int cubin(int n)return n*n*n;和double cubin(double n)return n*n*n;是一個函數(shù)模板的兩個實例, 假定類型參數(shù)用 T表示,則該函數(shù)模板的定義是 。96 .如果一個函數(shù)定義中使用了 修飾,則該函數(shù)不允許被其它文件中的函數(shù) 調(diào)用。97 .如果一個函數(shù)中有多個默認參數(shù),則默認參數(shù)必須全部處在形參表的部分。98 .定義外部變量時,不用存儲類說明符 ,而聲明外部變量時用它。99 .調(diào)用系統(tǒng)函數(shù)時,要先使用 #include命令包含該系統(tǒng)函數(shù)的原型語句所在的100 .函數(shù)形參的作用域是該函數(shù)的 。101 . C+提供的預(yù)處理命令有宏定義命令,條件編譯命令和 。103 . C+程序運行時的存空間可以分成全局數(shù)據(jù)區(qū),堆區(qū),棧區(qū)和 。104 .全局變量和靜態(tài)局部變量具有靜態(tài)生存期,存放在存的 區(qū)中。105 .局部變量具有局部生存期,存放在存的 區(qū)中。

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論