




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+g序設(shè)計(jì)試題一、單項(xiàng)選擇題1.對(duì)C+吾言和C語(yǔ)言的兼容性,描述正確的是(A )A. C+t容C B . C+部分兼容CC. C+不兼容C D . C兼容C+2(AC ) free B create C 如沒(méi)有使用 privateA ) Private B public delete D release 關(guān)鍵字定義類的數(shù)據(jù)成員,則默認(rèn)為使用值傳遞方式將實(shí)參傳給形參,下列說(shuō)法正確的是 A )形參是實(shí)參的備份 B 實(shí)參是形參的備份 形參和實(shí)參是同一對(duì)象 D 形參和實(shí)參無(wú)聯(lián)系 在函數(shù)調(diào)用時(shí),如某一默認(rèn)參數(shù)要指明一個(gè)特定值,則有 A ) 其之前所有參數(shù)都必須賦值 B在C+中使用流進(jìn)行輸入輸出,其中用
2、于屏幕輸出的對(duì)象是C )cerr Bcin C cout D cfilecerr:標(biāo)準(zhǔn)錯(cuò)誤輸出; cin: 標(biāo)準(zhǔn)輸入3 .對(duì)使用關(guān)鍵字new所開(kāi)辟的動(dòng)態(tài)存儲(chǔ)空間,釋放時(shí)必須使用 (A4(C protected DfriendA5(AC6(其之后所有參數(shù)都必須賦A 值其前、后所有參數(shù)都必須賦值D 其前、后所有參數(shù)都不C必賦值返回兩參數(shù)中較大值,若求C7設(shè)存在函數(shù) int max(int , int)22, 59, 70 三者中最大值,下列表達(dá)式不正確的是( C ) Aint m = max(22 , max(59, 70) ; Bint m = max(max(22 , 59), 70) ;ma
3、x(22,Cint m = max(22 , 59, 70); Dint m = max(59 ,70) ;8下列哪個(gè)類型函數(shù)不適合聲明為內(nèi)聯(lián)函數(shù)(A. 函數(shù)體語(yǔ)句較多B .函數(shù)體語(yǔ)句較少C .函數(shù)執(zhí)行時(shí)間較短 D .函數(shù)執(zhí)行時(shí)間過(guò)長(zhǎng)9. int Func(int , int) ;不可與下列哪個(gè)函數(shù)構(gòu)成重載 (A. int Func(int , int , int) ; B . double Func(int , int) ;C. double Func(double , double) ;D. double Func(int , double) ; 說(shuō)明:不能以形參名來(lái)區(qū)分函數(shù); 不能以函數(shù)
4、返回值來(lái)區(qū)分函數(shù)。 必須是形參的個(gè)數(shù)或者類型不同才能構(gòu)成函數(shù)重載。10. 對(duì)類中聲明的變量,下列描述中正確的是(C )A屬于全局變量B .只屬于該類C .屬于該類,某些情況下也可被該類不同實(shí)例所共享D. 任何情況下都可被該類所有實(shí)例共享11. 類的私有成員可在何處訪問(wèn)(D )A通過(guò)子類的對(duì)象訪問(wèn) B .本類及子類的成員函數(shù)中D 本類的成員函數(shù)中C .通過(guò)該類對(duì)象訪問(wèn))編譯器總是自動(dòng)創(chuàng)建一個(gè)不帶參數(shù)的構(gòu)造函數(shù) 這個(gè)類沒(méi)有構(gòu)造函數(shù) 這個(gè)類不需要構(gòu)造函數(shù)該類不能通過(guò)編譯列描述正12. 如果沒(méi)有為一個(gè)類定義任何構(gòu)造函數(shù)的情況下, 確的是( AA.B.C.13. 一個(gè)類可包含析構(gòu)函數(shù)的個(gè)數(shù)是(BA. 0
5、 個(gè) B . 1 個(gè) C .至少一個(gè) 只有一個(gè), 多了編譯器都不知道調(diào)用哪個(gè)好。D.) D 0 個(gè)或多個(gè) 而構(gòu)造函數(shù)可以有 多個(gè),因?yàn)闃?gòu)造函數(shù)調(diào)用時(shí)編譯器可以根據(jù)變量的類型和數(shù)量來(lái) 確定調(diào)用哪個(gè)構(gòu)造函數(shù) ,而析構(gòu)函數(shù)是系統(tǒng)調(diào)用的,不能做到 這種效果。14 this 指針存在的目的是( B )A. 保證基類公有成員在子類中可以被訪問(wèn)B. 保證每個(gè)對(duì)象擁有自己的數(shù)據(jù)成員,但共享處理這些數(shù)據(jù)成 員的代碼C. 保證基類保護(hù)成員在子類中可以被訪問(wèn)A )類本身的成員函數(shù)只能訪問(wèn)自身的私有成員 類的對(duì)象只能訪問(wèn)該類的公有成員 普通函數(shù)不能直接訪問(wèn)類的公有成員,必須通過(guò)對(duì)象訪問(wèn) 一個(gè)類可以將另一個(gè)類的對(duì)象作為
6、成員D. 保證基類私有成員在子類中可以被訪問(wèn)15. 下列關(guān)于類的權(quán)限的描述錯(cuò)誤的是(A.B.C.D.16. 在編譯指令中,宏定義使用哪個(gè)指令(A#include B #define C #if D #else17. 設(shè)類A將其它類對(duì)象作為成員,則建立 A類對(duì)象時(shí),下列描 述正確的是( B)AA 類構(gòu)造函數(shù)先執(zhí)行 B 成員構(gòu)造函數(shù)先執(zhí)行 C 兩者并行執(zhí)行D不能確定)B 靜態(tài)成員是類的成員靜態(tài)成員函數(shù)不能直接訪類的組合,描述的是一個(gè)類內(nèi)嵌其他類的對(duì)象作為成員的情況, 它們之間的關(guān)系是一種包含與被包含的關(guān)系。 在聲明一個(gè)組合類的對(duì)象時(shí),不僅它自身的構(gòu)造函數(shù)將被調(diào)用, 而且還將調(diào)用其內(nèi)嵌對(duì)象的構(gòu)造函數(shù)
7、。 這時(shí)構(gòu)造函數(shù)的調(diào)用順序 是:(1) 按照內(nèi)嵌對(duì)象在組合類的聲明中出現(xiàn)的次序,依次調(diào)用 內(nèi)嵌對(duì)象的構(gòu)造函數(shù); (2) 執(zhí)行本類構(gòu)造函數(shù)的函數(shù)體,析構(gòu)函 數(shù)的調(diào)用執(zhí)行順序與構(gòu)造函數(shù)剛好相反。 18下列描述錯(cuò)誤的是(AA.在創(chuàng)建對(duì)象前,靜態(tài)成員不存在 C.靜態(tài)成員不能是虛函數(shù)D問(wèn)非靜態(tài)成員然后通說(shuō)明:靜態(tài)成員函數(shù)可以直接訪問(wèn)該類的靜態(tài)數(shù)據(jù)和函數(shù)成員, 而訪問(wèn)非靜態(tài)成員, 必須通過(guò)參數(shù)傳遞方式得到對(duì)象名, 過(guò)對(duì)象名來(lái)訪問(wèn)。19. 對(duì)于友元描述正確的是(B )A.友元是本類的成員函數(shù) B .友元不是本類的成員函數(shù) C.友元不是函數(shù)D .友元不能訪問(wèn)本類私有成員20. 在哪種派生方式中, 派生類可以訪
8、問(wèn)基類中的 protected 成 員( B )A. public 和 private B . public 和 protected C. protected 和 private D .僅 protected二、填空題 (本大題共 20小題,每小題 1 分,共 20 分) 請(qǐng)?jiān)诿啃☆}的空格中填上正確答案。錯(cuò)填、不填均無(wú)分。與文件 “ f: myText.txt語(yǔ) 句 是 :_”); 。ios 類 。運(yùn)算符來(lái)重載,不能用21. 設(shè)要把一個(gè)文件輸出流對(duì)象 myFile 相 關(guān) 聯(lián) , 所 用 的 C+ myFile.open( “ f:myText.txt22. C+-中 ostream類的直接基
9、類是23. 運(yùn)算符 只能用 成員virtual友元運(yùn)算符來(lái)重載。24. 定義虛函數(shù)所用的關(guān)鍵字是25 vector 類中用于返回向量中第 1 個(gè)對(duì)象的方法是 _ front( ) 。26.在C+中,利用向量類模板定義一個(gè)具有20個(gè)char的向量E, 其元素均被置為字符 t '實(shí)現(xiàn)此操作的語(yǔ)句是 _ vector<char>E(20, t') _ _。 27類的繼承是指子類繼承基類的 _數(shù)據(jù)成員 和成員函數(shù)。28不同對(duì)象可以調(diào)用相同名稱的函數(shù),但可導(dǎo)致完全不同的行為的現(xiàn)象稱為 多態(tài)性 或(類的多態(tài)性 )29 _ #include 指令指示編譯器將一個(gè)源文件嵌入到帶該指
10、令的源文件之中。30設(shè)類 A 有成員函數(shù) void Fun(void) ; 若要定義一個(gè)指向類成員函數(shù)的指針變量pafn來(lái)指向Fun,該指針變量的聲明語(yǔ)句是: void(A:*pafn)(void);31設(shè)在程序中使用如下語(yǔ)句申請(qǐng)了一個(gè)對(duì)象數(shù)組: Point * ptr = new Point2;則在需要釋放 ptr 指向的動(dòng)態(tài)數(shù)組對(duì)象時(shí),所使用的語(yǔ)句是 delete ptr; 。Private 的成員在派生類中32在保護(hù)派生中,基類權(quán)限為 不可訪問(wèn) 。33. 類A有如下成員函數(shù)2;int A:fun(double x)return (int) x int A:fun(int x)return
11、 x*2設(shè)a為類A的對(duì)象,在主函數(shù)中有int s=a. fun(6.0)+a.fun(2) 則執(zhí)行該語(yǔ)句后, s 的值為 7_。34. 對(duì)象傳送的消息一般由 3部分組成:接收對(duì)象名、調(diào)用操作名和 必要的參數(shù) 。35. 將指向?qū)ο蟮闹羔樧鳛楹瘮?shù)參數(shù),形參是對(duì)象指針,實(shí)參是對(duì)象的 地址值 。36. 在使用 string 類的 find 成員函數(shù)來(lái)檢索主串中是否含有指定的子串時(shí),若在主串中不含指定的子串, find 函數(shù)的返回值 是 -1 。37.在C+中,聲明布爾類型變量所用的關(guān)鍵字是boolo38執(zhí)行下列代碼 int a=29 , b=100;cout vvsetw (3) vv a vv b
12、vv endl ; 程序的輸出結(jié)果是: 29100_ 。(2 前面有個(gè)空格)39執(zhí)行下列代碼cout vv Hex: vv hex << 255 ; 程序的輸出結(jié)果為 _ Hex:ff 。40 C + +語(yǔ)言中可以實(shí)現(xiàn)輸出一個(gè)換行符并刷新流功能的操控符 是 endl 。三、改錯(cuò)題 (本大題共 5 小題,每小題 2分,共 10分) 下面的類定義中有一處錯(cuò)誤, 請(qǐng)用下橫線標(biāo)出錯(cuò)誤所在行并給出 修改意見(jiàn)。41#includeviostream h> void main( ) int x=5 , y=6; const int * p= x;*p=y;coutvv*pvvendl ;
13、*p=y;指針 p 所指向的為一常量,不能進(jìn)行左值操作y; y=0; vvyvvendl ; 42#includeviostream h> class f private : int x , public : f1( )x=0 print( )coutvvxvv;void main( ) f a ; a.f1(1,1) ; a.print( );調(diào)用時(shí)實(shí)參與形參數(shù)量不一致 a.f1(1,1); f1( )43#includeviostream.h> class fprivate : int x=0 , y=0;public : void f1(int a void get( )co
14、ut<<x<< ; void main( ) f a ; a.f1(1,3) ; a.get ( ) ; private:int x=0,y=0;44 #include<iostream.h>,int b)x=a ;y=b; '<<y<<endl ; 數(shù)據(jù)成員聲明時(shí)不允許直接賦值class pointprivate: float x ;, point& b) ;public : void f(float a)x=a; void f( )x=0; friend float max(point& a ; float
15、 max(point& a, point& b)return(a.x>b.x)? a.x:b.x ; void main( ) point a , b; a.f(2.2); b.f(3.3) ;不是類的成員函數(shù),不能用是私有類型,不能在cout<<a.max(a,b) ; cout<<a.max(a,b); max() a.max( ) 方式調(diào)用 45 #include<iostream.h> template<class T> class f private :T x ,y; public :void f1(T a ,T
16、b)x=a ;y=b; T max( )retum(x>y)?x:y; ; void main( ) f a ; a.f1(1.5,3.8) ; cout<<a.x<<a.y<<a.max( )<<endl ; cout<<a.x<<a.y<<a.max()<<endl; x,y 主函數(shù)中直接使用四、完成程序題 (本大題共 5 小題,每小題 4分,共 20分) 46完成下面類中的成員函數(shù)的定義。, int b)class point private : int m , n; public :
17、point(int , int) ; point(point&) ; point:point(int a m=a ; n _=b ;point:point(point&t )m=t.m ; n=t.n ;47.下面是一個(gè)輸入半徑,輸出其面積和周長(zhǎng)的C+程序,在下劃線處填上正確的語(yǔ)句。#include<iostream>using namespace std ; const double pi=3.14159; void main( )double r ;coutvv " r=; cin>>r ; double l=2.0*pi*r double
18、 s=pi*r*r ;<<l<<endl ;<<s<<endl ;coutvv n The long iscoutvv “ The area is, int i=0)48在下劃線處填上缺少的部分。 #include<iostream> #include<fstream> using namespace std ; class plex public : int real int imag plex(int r=0 real=r imag=i, plex& b) ; plex operator+(_ plex&
19、;a int r=a.real+b.real;int i=a.imag+b.imag;return plex(r,i) void main( ) plex x(1,2),y(3 ,4),z;z=x+y ;coutvvz.realvv " +' <<z.imag<<" i <<endl ; 49程序的輸出結(jié)果如下:1 ,9 50 , 30 請(qǐng)根據(jù)輸出數(shù)據(jù)在下面程序中的下劃線處填寫(xiě)正確的語(yǔ)句。 源程序如下:#includeviostream> using namespace std ; class base private :
20、int m ; public : base( ) ;base(int a):m(a) int get( )return m; void set(int a)m=a; ; void main() base*ptr=new base2 ptr- >set(30);ptr= ptr+1; ;ptr- >set(50);base a2=1,9 ;” vva1.get( )vvendl<<endlcoutvva0.get( )vv coutvvptr- >get( )vv ptr=ptr-1 ; coutvv ptr->get( )delete ptr ; 50在下面
21、橫線處填上求兩個(gè)浮點(diǎn)數(shù)之差的cha 函數(shù)的原型聲明、調(diào)用方法。#include viostream> using namespace std void main( ) float a,b;函數(shù) cha 的原型聲 float cha(float,float);調(diào)用函數(shù) cha明 a=12.5 ; b=6.5 ; float c=cha(a,b) _coutvvcvvendl ;, float y) float cha(float x float w ; w=x-y ; return w ; 五、程序分析題 (本大題共 4 小題,每小題 5分,共 20分) 51給出下面程序的輸出結(jié)果。#in
22、clude <iostream h>template <class T> class Sample T n ; public : Sample(T i)n=i; int operator=(Sample &) ; ; template <class T> int Sample<T>:operator=(Sample s)if(n=s.n) return 1 ; else return 0 ; void main( ) Sample<int>sl(2) , s2(3) ; coutvv " s1與s2的數(shù)據(jù)成員&quo
23、t;vv(sl =s2 ?"相等":"不 相等)vvendl ;Samplevdouble>s3(2.5) , s4(2.5) ; coutvv " s3與s4的數(shù)據(jù)成員"vv(s3=s4 ?"相等":"不 相等")vvendl ; S1 與 S2 的數(shù)據(jù)成員不相等 S3與S4數(shù)據(jù)成員相等52給出下面程序的輸出結(jié)果。 #include<iostream> using namespace std ; template<class T> T max(T ml , T m2)ret
24、urn(m1>m2)?ml:m2:void main( ) coutvvmax(1 , 7)vv " t " coutvvmax( ' y ' , ' b ' a )vvendl ;7 5y a53給出下面程序的輸出結(jié)果 #include <iostream> using namespace std ; class A public : int x ;A( ) A(int a)x=a;int get(int a)return x+a; void main( ) A a(8) ; int(A:*p)(int) ; p=A:ge
25、t ; cout<<(a.*p)(5)<<endl ; A*pi= a; cout<<(pi- >*P)(7)<<endl1315<<max(2.0 , 5.0)<<endl ;<< t vvmax( A ,;54給出下面程序的輸出結(jié)果。 include<iostream> #include<string> using namespace std ; class Book char*title ; char*author;int numsold ; public :Book( )
26、Book(const char*strl , const char*str2 ,const int num) int len=strlen(strl) ; title=new charlen+1 ; strcpy(title, str1) ;len=strlen(str2) ; author=new charlen+1 ; strcpy(author, str2) ;numsold=num ; void setbook(const char*str1 ,const char*str2 ,const int num) int len=strlen(str1) ; title=new charle
27、n+1 ; strcpy(title, str1) ;len=strlen(str2) ; author=new charlen+1 ; strcpy(author, str2) ;numsold=num ;Book( ) delete title ; delete author;書(shū)名:"vvtitlevve ndl;作者:"vvauthorvvendl ; 月銷售量:" vvnumsoldvvendl ;void print(ostream&output) output<< output<< output<< ;voi
28、d main( )數(shù)據(jù)結(jié)構(gòu),嚴(yán)蔚敏,200) , obj2 ;Book obj1(obj1.print(cout)obj2.setbook( obj2.print(cout) C+吾言程序設(shè)計(jì),李春葆,210);月銷售量: 200 書(shū)名:C+程序設(shè)計(jì) 作者:李春葆 月銷售量: 210 六、程序設(shè)計(jì)題 (本大題共 1 小題,共 10 分) 55在三角形類 TRI 實(shí)現(xiàn)兩個(gè)函數(shù), 功能是輸入三個(gè)頂點(diǎn)坐標(biāo)判 斷是否構(gòu)成三角形#inClude<iostream.h> #inClude<math.h> Class point private publiC: float x , y ;: point(float a, float b)x=a;y=b;; y=0; , float b)x=a;y=b;poin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技助力下的老年人健康教育-以糖尿病為例的實(shí)踐研究
- 科技社區(qū)志愿者的使命與行動(dòng)
- 社交媒體在商業(yè)教育中的創(chuàng)新應(yīng)用
- 疫情后如何用科技助力中醫(yī)藥文化傳承
- 電力設(shè)備故障診斷技術(shù)的市場(chǎng)前景
- 樓梯間貼大理石磚施工方案
- 鐘樓區(qū)智能化道閘施工方案
- 徐州幼兒師范高等??茖W(xué)校《物理化學(xué)B(I)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶安全技術(shù)職業(yè)學(xué)院《希臘羅馬神話》2023-2024學(xué)年第二學(xué)期期末試卷
- 大慶師范學(xué)院《藥品分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 小升初、小學(xué)生滿分優(yōu)秀作文匯編100篇
- 次聲波在臨床醫(yī)學(xué)及麻醉中的作用 次聲波在臨床麻醉中的作用
- 加盟招商方案PPT模板
- 中石油HSE培訓(xùn)試題集(共33頁(yè))
- 2022年云南省中考數(shù)學(xué)試題及答案解析
- 噴(烤)漆房VOCs治理設(shè)施日常運(yùn)行臺(tái)賬
- TS16949五大工具:SPC
- 五年級(jí)下冊(cè)-綜合實(shí)踐教案
- 貴州出版社小學(xué)五年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)教案全冊(cè)
- [方案]隱框玻璃幕墻施工方案
- 設(shè)備安裝檢驗(yàn)批表格
評(píng)論
0/150
提交評(píng)論