C++期末復(fù)習(xí)試題庫(kù)_第1頁(yè)
C++期末復(fù)習(xí)試題庫(kù)_第2頁(yè)
C++期末復(fù)習(xí)試題庫(kù)_第3頁(yè)
C++期末復(fù)習(xí)試題庫(kù)_第4頁(yè)
C++期末復(fù)習(xí)試題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.C+程序設(shè)計(jì)試題 一、單項(xiàng)選擇題1對(duì)C+語(yǔ)言和C語(yǔ)言的兼容性,描述正確的是( A ) AC+兼容C BC+部分兼容C CC+不兼容C DC兼容C+2在C+中使用流進(jìn)行輸入輸出,其中用于屏幕輸出的對(duì)象是( C )Acerr Bcin Ccout Dcfile cerr:標(biāo)準(zhǔn)錯(cuò)誤輸出;cin:標(biāo)準(zhǔn)輸入 3對(duì)使用關(guān)鍵字new所開(kāi)辟的動(dòng)態(tài)存儲(chǔ)空間,釋放時(shí)必須使用( C )Afree Bcreate Cdelete Drelease4如沒(méi)有使用private關(guān)鍵字定義類的數(shù)據(jù)成員,則默認(rèn)為( A )APrivate Bpublic Cprotected Dfriend5使用值傳遞方式將實(shí)參傳給形參,下

2、列說(shuō)法正確的是( A )A形參是實(shí)參的備份 B實(shí)參是形參的備份 C形參和實(shí)參是同一對(duì)象 D形參和實(shí)參無(wú)聯(lián)系6在函數(shù)調(diào)用時(shí),如某一默認(rèn)參數(shù)要指明一個(gè)特定值,則有( A )A其之前所有參數(shù)都必須賦值 B其之后所有參數(shù)都必須賦值C其前、后所有參數(shù)都必須賦值 D其前、后所有參數(shù)都不必賦值7設(shè)存在函數(shù)int max(int,int)返回兩參數(shù)中較大值,若求22,59,70三者中最大值,下列表達(dá)式不正確的是( C )Aint m = max(22,max(59,70); Bint m = max(max(22,59),70);Cint m = max(22,59,70); Dint m = max(59,

3、max(22,70);8下列哪個(gè)類型函數(shù)不適合聲明為內(nèi)聯(lián)函數(shù)( A )A函數(shù)體語(yǔ)句較多 B函數(shù)體語(yǔ)句較少 C函數(shù)執(zhí)行時(shí)間較短 D函數(shù)執(zhí)行時(shí)間過(guò)長(zhǎng)9int Func(int,int);不可與下列哪個(gè)函數(shù)構(gòu)成重載( B )Aint Func(int,int,int); Bdouble Func(int,int);Cdouble Func(double,double); Ddouble Func(int,double);說(shuō)明:不能以形參名來(lái)區(qū)分函數(shù);不能以函數(shù)返回值來(lái)區(qū)分函數(shù)。必須是形參的個(gè)數(shù)或者類型不同才能構(gòu)成函數(shù)重載。10對(duì)類中聲明的變量,下列描述中正確的是( C )A屬于全局變量 B只屬于該類

4、 C屬于該類,某些情況下也可被該類不同實(shí)例所共享D任何情況下都可被該類所有實(shí)例共享11類的私有成員可在何處訪問(wèn)( D )A通過(guò)子類的對(duì)象訪問(wèn) B本類及子類的成員函數(shù)中 C通過(guò)該類對(duì)象訪問(wèn) D本類的成員函數(shù)中12如果沒(méi)有為一個(gè)類定義任何構(gòu)造函數(shù)的情況下,下列描述正確的是( A )A編譯器總是自動(dòng)創(chuàng)建一個(gè)不帶參數(shù)的構(gòu)造函數(shù)B這個(gè)類沒(méi)有構(gòu)造函數(shù)C這個(gè)類不需要構(gòu)造函數(shù)D該類不能通過(guò)編譯13一個(gè)類可包含析構(gòu)函數(shù)的個(gè)數(shù)是( B )A0個(gè) B1個(gè) C至少一個(gè) D0個(gè)或多個(gè)只有一個(gè),多了編譯器都不知道調(diào)用哪個(gè)好。而構(gòu)造函數(shù)可以有多個(gè),因?yàn)闃?gòu)造函數(shù)調(diào)用時(shí)編譯器可以根據(jù)變量的類型和數(shù)量來(lái)確定調(diào)用哪個(gè)構(gòu)造函數(shù) ,而

5、析構(gòu)函數(shù)是系統(tǒng)調(diào)用的,不能做到這種效果。14this指針存在的目的是( B )A保證基類公有成員在子類中可以被訪問(wèn)B保證每個(gè)對(duì)象擁有自己的數(shù)據(jù)成員,但共享處理這些數(shù)據(jù)成員的代碼C保證基類保護(hù)成員在子類中可以被訪問(wèn)D保證基類私有成員在子類中可以被訪問(wèn)15下列關(guān)于類的權(quán)限的描述錯(cuò)誤的是( A )A類本身的成員函數(shù)只能訪問(wèn)自身的私有成員B類的對(duì)象只能訪問(wèn)該類的公有成員C普通函數(shù)不能直接訪問(wèn)類的公有成員,必須通過(guò)對(duì)象訪問(wèn)D一個(gè)類可以將另一個(gè)類的對(duì)象作為成員16在編譯指令中,宏定義使用哪個(gè)指令( B )A*include B*define C*if D*else17設(shè)類A將其它類對(duì)象作為成員,則建立A類

6、對(duì)象時(shí),下列描述正確的是( B )AA類構(gòu)造函數(shù)先執(zhí)行 B成員構(gòu)造函數(shù)先執(zhí)行 C兩者并行執(zhí)行 D不能確定類的組合,描述的是一個(gè)類內(nèi)嵌其他類的對(duì)象作為成員的情況,它們之間的關(guān)系是一種包含與被包含的關(guān)系。在聲明一個(gè)組合類的對(duì)象時(shí),不僅它自身的構(gòu)造函數(shù)將被調(diào)用,而且還將調(diào)用其內(nèi)嵌對(duì)象的構(gòu)造函數(shù)。這時(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ò)誤的是( A )A在創(chuàng)建對(duì)象前,靜態(tài)成員不存在 B靜態(tài)成員是類的成員C靜態(tài)成員不能是虛函數(shù) D靜態(tài)成員函數(shù)不能直接訪問(wèn)非靜

7、態(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在哪種派生方式中,派生類可以訪問(wèn)基類中的protected成員( B )Apublic和private Bpublic和protected Cprotected和private D僅protected二、填空題(本大題共20小題,每小題1分,共20分)請(qǐng)?jiān)诿啃☆}的空格中填上正確答案。錯(cuò)填、不填均無(wú)分。21設(shè)要把一個(gè)文件輸出流對(duì)象myFi

8、le與文件“f:myText.txt相關(guān)聯(lián),所用的C+語(yǔ)句是:_ myFile.open(“f:myText.txt”);_。22C+中ostream類的直接基類是_ ios類_。23運(yùn)算符 只能用_成員 _運(yùn)算符來(lái)重載,不能用友元運(yùn)算符來(lái)重載。24定義虛函數(shù)所用的關(guān)鍵字是_ virtual _。25vector類中用于返回向量中第1個(gè)對(duì)象的方法是_ front( ) _。26在C+中,利用向量類模板定義一個(gè)具有20個(gè)char的向量E,其元素均被置為字符t,實(shí)現(xiàn)此操作的語(yǔ)句是_ vectorE(20,t) _。27類的繼承是指子類繼承基類的_數(shù)據(jù)成員_和成員函數(shù)。28不同對(duì)象可以調(diào)用相同名稱的

9、函數(shù),但可導(dǎo)致完全不同的行為的現(xiàn)象稱為_(kāi)多態(tài)性或(類的多態(tài)性)_。29_ *include _指令指示編譯器將一個(gè)源文件嵌入到帶該指令的源文件之中。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; _。32 在保護(hù)派生中,基類權(quán)限為Private的成員在派生類中_不可訪問(wèn)_。33類A有如下成

10、員函數(shù)int A:fun(double x)return (int) x2;int A:fun(int x)return x*2;設(shè)a為類A的對(duì)象,在主函數(shù)中有int s=afun(6.0)+a.fun(2),則執(zhí)行該語(yǔ)句后,s的值為_(kāi)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)鍵字是_ bool _。38執(zhí)行

11、下列代碼int a=29,b=100;cout setw (3) a b endl;程序的輸出結(jié)果是:_ 29100_。(2前面有個(gè)空格)39執(zhí)行下列代碼cout Hex: hex 255;程序的輸出結(jié)果為_(kāi) Hex:ff _。40C+語(yǔ)言中可以實(shí)現(xiàn)輸出一個(gè)換行符并刷新流功能的操控符是_ endl _。三、改錯(cuò)題(本大題共5小題,每小題2分,共10分)下面的類定義中有一處錯(cuò)誤,請(qǐng)用下橫線標(biāo)出錯(cuò)誤所在行并給出修改意見(jiàn)。41*includevoid main( ) int x=5,y=6;const int * p=x;*p=y;cout*pendl; *p=y; 指針p所指向的為一常量,不能進(jìn)行

12、左值操作42*includeclass fprivate:int x,y;public:f1( )x=0;y=0;print( )coutxyendl;;void main( )f a;a.f1(1,1);a.print( ); a.f1(1,1); f1( )調(diào)用時(shí)實(shí)參與形參數(shù)量不一致43*include class f private:int x=0,y=0; public:void f1(int a,int b)x=a;y=b; void get( )coutxyendl; ; void main( ) f a; a.f1(1,3); a.get ( ); private:int x=0

13、,y=0; 數(shù)據(jù)成員聲明時(shí)不允許直接賦值44*include class pointprivate:float x; public:void f(float a)x=a; void f( )x=0; friend float max(point& a,point& b); ; float max(point& a,point& b)return(a.xb.x) a.x:b.x;void main( ) point a,b; a.f(2.2);b.f(3.3); couta.max(a,b); couta.max(a,b); max()不是類的成員函數(shù),不能用a.max( )方式調(diào)用45*inc

14、lude templateclass fprivate:T x,y;public:void f1(T a,T b)x=a;y=b;T max( )retum(xy)x:y;;void main( )f a;a.f1(1.5,3.8); couta.xa.ya.max( )endl; couta.xa.ya.max()endl; x,y是私有類型,不能在主函數(shù)中直接使用四、完成程序題(本大題共5小題,每小題4分,共20分)46完成下面類中的成員函數(shù)的定義。 class point private: int m,n; public: point(int,int); point(point&); ;

15、 point:point(int a,int b) m=a;_ n _=b; point:point(_point&t _) m=t.m; n=t.n; 47下面是一個(gè)輸入半徑,輸出其面積和周長(zhǎng)的C+程序,在下劃線處填上正確的語(yǔ)句。 *include using namespace std; _ const double _pi=3.14159; void main( ) double r; coutr _ ; double l=2.0*pi*r;double s=pi*r*r;coutn The long is:lendl; coutThe area is:sendl; 48在下劃線處填上缺

16、少的部分。 *include *include using namespace std; class complex public: int real; int imag; complex(int r=0,int i=0) real=r; imag=i; ; complex operator+(_ complex&a _,complex& b) int r=a.real+b.real; int i=a.imag+b.imag; return_ complex(r,i) _; void main( ) complex x(1,2),y(3,4),z; z=x+y; coutz.real+z.im

17、agiendl; 49程序的輸出結(jié)果如下: 1,9 50,30 請(qǐng)根據(jù)輸出數(shù)據(jù)在下面程序中的下劃線處填寫(xiě)正確的語(yǔ)句。 源程序如下: *include using namespace std; class base private: 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; couta0.get

18、( ),a1.get( )endl; coutget( ),; ptr=ptr-1; coutget( ) _endl; delete ptr; 50在下面橫線處填上求兩個(gè)浮點(diǎn)數(shù)之差的cha函數(shù)的原型聲明、調(diào)用方法。 *include using namespace std; void main( ) float a,b; _ float cha(float,float); _函數(shù)cha的原型聲明 a=12.5; b=6.5; float c=_ cha(a,b) _; 調(diào)用函數(shù)cha coutcendl; float cha(float x,float y) float w; w=x-y;

19、return w; 五、程序分析題(本大題共4小題,每小題5分,共20分)51給出下面程序的輸出結(jié)果。 *include template class Sample T n; public: Sample(T i)n=i; int operator=(Sample &); ; template int Sample:operator=(Samples) if(n=s.n) return 1; else return 0; void main( ) Samplesl(2),s2(3); couts1與s2的數(shù)據(jù)成員(sl =s2 相等:不相等)endl; Samples3(2.5),s4(2.5

20、); couts3與s4的數(shù)據(jù)成員(s3=s4 相等:不相等)endl; S1與S2的數(shù)據(jù)成員不相等 S3與S4數(shù)據(jù)成員相等 52給出下面程序的輸出結(jié)果。 *include using namespace std; template T max(T ml,T m2) return(m1m2)ml:m2: void main( ) coutmax(1,7) tmax(2.0,5.0)endl; coutmax(y,btmax(A,a)endl; 7 5y a53給出下面程序的輸出結(jié)果 *include using namespace std; class A public: int x; A(

21、) A(int a)x=a; int get(int a)return x+a; ; void main( ) A a(8); int(A:*p)(int); p=A:get; cout(a.*p)(5)endl; A*pi=a; cout*P)(7)endl; 131554給出下面程序的輸出結(jié)果。 include *include using namespace std; class Book char*title; char*author; int numsold; public: Book( ) Book(const char*strl,const char*str2,const int

22、 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 charlen+1; strcpy(title,str1); len=strlen(str2); author=new charl

23、en+1; strcpy(author,str2); numsold=num; Book( ) delete title; delete author; void print(ostream&output) output書(shū)名:titleendl; output作者:authorendl; output月銷(xiāo)售量:numsoldendl; ; void main( ) Book obj1(數(shù)據(jù)結(jié)構(gòu),嚴(yán)蔚敏,200),obj2; obj1.print(cout); obj2.setbook(C+語(yǔ)言程序設(shè)計(jì),李春葆,210); obj2.print(cout); 月銷(xiāo)售量:200書(shū)名:c+程序設(shè)計(jì)作者:李春葆月銷(xiāo)售量:210六、程序設(shè)計(jì)題(本大題共1小題,共10分)55在三角形類TRI實(shí)現(xiàn)兩個(gè)函數(shù),功能是輸入三個(gè)頂點(diǎn)坐標(biāo)判斷是否構(gòu)成三角形 *include *include class point private:float x,y; public:point(float a,float b)x=a;y=b; point( )x=0;y=0; , void set(float a,float b)x=a;y=b; float getx( )return x; float gety( )

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論