《面向?qū)ο蟪绦蛟O(shè)計(jì)》期末復(fù)習(xí)題及答案4_第1頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》期末復(fù)習(xí)題及答案4_第2頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》期末復(fù)習(xí)題及答案4_第3頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》期末復(fù)習(xí)題及答案4_第4頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》期末復(fù)習(xí)題及答案4_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

面向?qū)ο蟪绦蛟O(shè)計(jì)期末復(fù)習(xí)指導(dǎo)一、單項(xiàng)選題1.字符串”a+b=12\n”的長度為()。A.6B.7C2.x>0||y==5的相反表達(dá)式為()。A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==53.循環(huán)體有可能一次都不執(zhí)行的語句為()。A.for循環(huán)B.switch循環(huán)C.do循環(huán)D.任一種循環(huán)4.函數(shù)調(diào)用func((exp1,exp2,exp3),exp4,exp5))中所含實(shí)參的個(gè)數(shù)為()個(gè)。A.1B.2C.3D.55.假定p是具有int**類型的指針變量,則給p賦值的正確語句為()。A.p=newint;B.p=newint[10];C.p=newint**;D.p=newint*;6.假定一個(gè)二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為()。A.2B.4C.67.假定一個(gè)類的構(gòu)造函數(shù)為“A(intaa=1,intbb=0){a=aa;b=bb;}”,則執(zhí)行“Ax(0);”語句后,x.a和x.b的值分別為()。A.0和0B.0和1C.1和0D.8.假定AA為一個(gè)類,inta()為該類的一個(gè)成員函數(shù),若該成員函數(shù)在類定義體外定義,則函數(shù)頭為()。A.intAA::a()B.intAA:a()C.AA::a()D.AA::inta()9.關(guān)于插入運(yùn)算符<<的重載,下列說法不正確的是()。A.運(yùn)算符函數(shù)的返回值類型是ostream&。B.重載的運(yùn)算符必須定義為類的成員函數(shù)。C.運(yùn)算符函數(shù)的第一個(gè)參數(shù)的類型是ostream&。D.運(yùn)算符函數(shù)有兩個(gè)參數(shù)。10.假定AB為一個(gè)類,px為指向該類的一個(gè)含有n個(gè)對(duì)象的動(dòng)態(tài)數(shù)組的指針,則執(zhí)行“delete[]px;”語句時(shí)共調(diào)用該類析構(gòu)函數(shù)的次數(shù)為()。A.0B.1C.nD.n+1二、填空題1.當(dāng)使用_______保留字作為函數(shù)類型時(shí),該函數(shù)不返回任何值。2.執(zhí)行char*p=newchar(’x’)操作后,p所指向的數(shù)據(jù)對(duì)象的值為________。3.當(dāng)在程序中執(zhí)行到________語句時(shí),將結(jié)束本次循環(huán),執(zhí)行下一次循環(huán)語句。4.一個(gè)指針類型的對(duì)象占用內(nèi)存的________個(gè)字節(jié)的存儲(chǔ)空間。5.假定用戶為類AB定義了一個(gè)構(gòu)造函數(shù)“AB(intaa){a=aa;}”,則系統(tǒng)(會(huì)/不會(huì))_________為該類自動(dòng)定義一個(gè)無參構(gòu)造函數(shù)"AB(){}"。6.已知語句“cout<<s;”的輸出是“hello,world”,則執(zhí)行語句“cout<<s+%;”的輸出結(jié)果為__________。7.如果一個(gè)派生類的基類不止一個(gè),則這種繼承稱為____________。8.重載一個(gè)函數(shù)的條件是:該函數(shù)必須在參數(shù)的個(gè)數(shù)或參數(shù)對(duì)應(yīng)的__________上與其它同名函數(shù)不相同。9.假定用戶為類AB定義了一個(gè)構(gòu)造函數(shù)“AB(intaa){a=aa;}”,則系統(tǒng)(會(huì)/不會(huì))_________為該類自動(dòng)定義一個(gè)無參構(gòu)造函數(shù)"AB(){}"。10.假定用戶為類AB定義了一個(gè)構(gòu)造函數(shù)“AB(intaa=0):a(aa){}”,則定義該類的對(duì)象時(shí),可以有________種不同的定義格式。三、程序填充題,根據(jù)題意在橫線上填寫合適的內(nèi)容。1.已知一個(gè)類的定義如下:#include<iostream.h>classAA{ inta[10]; intn;public: voidSetA(intaa[],intnn);//初始化函數(shù) intMaxA();//從數(shù)組a中前n個(gè)元素中查找最大值voidSortA();//采用選擇排序的方法對(duì)數(shù)組a中前n個(gè)元素進(jìn)行從小到大排序 };該類中MaxA()函數(shù)的實(shí)現(xiàn)如下,請(qǐng)?jiān)跇?biāo)號(hào)位置補(bǔ)充適當(dāng)?shù)膬?nèi)容。int____(1)_____{ intx=a[0]; for(inti=1;i<n;i++) if(a[i]>x)___(2)___; ___(3)___;}(1)(2)(3)2.類A的定義classA{int*a;intn;intMaxLen;public:A():a(0),n(0),MaxLen(0){}//無參構(gòu)造函數(shù)A(int*aa,intnn,intMM){//帶參構(gòu)造函數(shù)n=nn;MaxLen=MM;if(n>MaxLen)exit(1);a=newint[MaxLen];for(inti=0;i<n;i++)_____(1)_______;}~A(){_____(2)_________;}};(1)(2)3.在下面一段類定義中,Derived類公有繼承了基類Base。需要填充的函數(shù)由注釋內(nèi)容給出了功能。classBase{private:intmem1,mem2;//基類的數(shù)據(jù)成員public: Base(intm1,intm2){ mem1=m1;mem2=m2; } voidoutput(){cout<<mem1<<''<<mem2<<'';}};classDerived:publicBase{private:intmem3;//派生類本身的數(shù)據(jù)成員public://構(gòu)造函數(shù),由m1和m2分別初始化mem1和mem2,由m3初始化mem3Derived(intm1,intm2,intm3);//輸出mem1,mem2和mem3數(shù)據(jù)成員的值voidoutput(){ ___(1)___;cout<<mem3<<endl; }};Derived::Derived(intm1,intm2,intm3):___(2)___{___(3)___;}(1)(2)(3)四、理解問答題,寫出程序運(yùn)行結(jié)果或程序(或函數(shù))所能實(shí)現(xiàn)的功能。1.#include<iostream.h>doublef1(intn){doublesign=1,s=1;for(inti=2;i<=n;i++){s+=sign/(i*i); sign*=-1; } returns;}voidmain(){inta; cin>>a; cout<<f1(a)<<endl;}函數(shù)功能:2.char*f8(char*str1,constchar*str2){inti=0,j=0;while(str1[i])i++;while(str2[j])str1[i++]=str2[j++];str1[i]='\0';returnstr1;}函數(shù)功能:3.#include<iostream.h>voidf2(int&x,int&y){ intz=x;x=y;y=z;}voidf3(int*x,int*y){ intz=*x;*x=*y;*y=z;}voidmain(){ intx=10,y=26;cout<<"x,y="<<x<<","<<y<<endl; f2(x,y);cout<<"x,y="<<x<<","<<y<<endl;f3(&x,&y);cout<<"x,y="<<x<<","<<y<<endl;x++;y--; f2(y,x);cout<<"x,y="<<x<<","<<y<<endl;}運(yùn)行結(jié)果:五、程序改錯(cuò),請(qǐng)根據(jù)程序段或函數(shù)模塊的功能改寫個(gè)別地方的錯(cuò)誤。下面是分?jǐn)?shù)類fract的定義及測(cè)試主程序,在類定義及其友元函數(shù)定義中有兩處錯(cuò)誤,更正錯(cuò)誤后程序應(yīng)顯示41/28,請(qǐng)指出錯(cuò)誤所在行的行號(hào)并給出改正意見。classfract{intden;//分子intnum;//分母public:fract(intd=0,intn=1):den(d),num(n){}//1行friendfract&operator+=(fract,fract&);//2行voidshow(){cout<<den<<'/'<<num;}//3行};//4行friendfract&operator+=(fractf1,fractf2)//5行{//7行f1.den=f1.den*f2.num+f1.num*f2.den;//8行f1.num*=f2.num;//9行returnf1;//10行}voidmain(){fractfr(3,4);fr+=fract(5,7);fr.show();}錯(cuò)誤行的行號(hào)為______和________。(2分)分別改正為_____________________________________(4分)和_____________________________________(4分)參考答案:一、單選題1.B2.B3.A4.C5.D6.D7.A8.A9.B10.C二、填空題1.void2.‘x’3.contiune4.45.不會(huì)6.ple7.多繼承(或多重繼承)8.類型9.不會(huì)10.2三、程序填充題,根據(jù)題意在橫線上填寫合適的內(nèi)容。評(píng)分標(biāo)準(zhǔn):每空4分1.(1)AA::MaxA()(2)x=a[i](3)returnx2.(1)a[i]=aa[i](2)delete[]a3.(1)Base::output()(2)Base(m1,m2)(3)mem3=m3四、理解問答題,寫出程序運(yùn)行結(jié)果或程序(或函數(shù))所能實(shí)現(xiàn)的功能。1.計(jì)算并輸出1+的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論