2021年C++筆試題目帶答案_第1頁(yè)
2021年C++筆試題目帶答案_第2頁(yè)
2021年C++筆試題目帶答案_第3頁(yè)
2021年C++筆試題目帶答案_第4頁(yè)
2021年C++筆試題目帶答案_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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)介

經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁(yè)眉頁(yè)腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請(qǐng)聯(lián)系刪除,謝謝!姓名:___________DCCBBAADAD時(shí)間:___________一、選取題(1*10=10)1.如果派生類以proctected方式繼承基類,則原基類protected和public成員在派生類訪問(wèn)性分別是:D.public和public.public和protectedC.protected和public.protected和protected解析:通過(guò)protected方式繼承基類后,原基類私有成員不可訪問(wèn),而protected和public成員均變成protected成員。答案:D2.有如下頭文獻(xiàn):intF1();staticintF2();classsCA{public:intF3();staticintF4();};在所描述函數(shù)中,具備隱含this指針是:C.F1C.F3.F2.F4本題考查是this指針。this指針式一種隱含指針,它隱含于每個(gè)類非靜態(tài)成員函數(shù)中,它明確地表序先將對(duì)象地址賦值給this員時(shí),則隱含使用this指針。this指針是指向?qū)ο笞陨碇羔?,它只存在于類非靜態(tài)成員中。f1,f2不是成員函數(shù),不存在隱含指針;f4為靜態(tài)成員函數(shù),也不具有this指針;具有this指針函數(shù)在調(diào)用時(shí)按thiscall調(diào)用商定調(diào)用。故本題答案為C。3.派生類成員函數(shù)不能訪問(wèn)基類:C.共有成員和保護(hù)成員C.私有成員.共有成員.保護(hù)成員本題考查是繼承類型。類繼承方式有公有繼承、保護(hù)繼承和私有繼承三種方式。對(duì)于公有繼承基類中成員訪問(wèn)屬性不變,對(duì)故本題答案為C。4.按照“后進(jìn)先出”原則組織數(shù)據(jù)數(shù)據(jù)構(gòu)造是B.隊(duì)列.棧C.雙向鏈表答案為B。.二叉樹(shù)5.下列關(guān)于虛函數(shù)闡明中,對(duì)的是:B.從虛基類繼承函數(shù)都是虛函數(shù).虛函數(shù)不得是靜態(tài)成員函數(shù)C.只能通過(guò)指針或者引用調(diào)用虛函數(shù).抽象類中中成員函數(shù)都是虛函數(shù)。答案為B。6.已知Valuevalue是Value一種對(duì)象。下列以非成員函數(shù)形式重載運(yùn)算符函數(shù)原型中,對(duì)的是:A.Valueoperator+(Value,inti);Valueoperator+(Valueinti);.Valueoperator+(Value,intC.Valueoperator+(Value,int=0);i=0);7.有如下類定義:ClassMyClass{intvalue;public:MyClass(intn):value(n){}intgetValue()const{returnvalue;}};則類Myclass構(gòu)造函數(shù)個(gè)數(shù)是:A.1個(gè).2個(gè).4個(gè)C.3個(gè)B8.有如下類定義:classConstants{public:staticdoubleGetPI(void){return3.14159;}};Constantsconstants;下列各組語(yǔ)句中,能輸出3.14159是:B.cout<<constants->GetPI();和cout<<Constants::GetPI();.cout<<constants.GetPI();和cout<<Constants.GetPI();C.cout<<constants->GetPI();和cout<<Constants->GetPI();.cout<<constants.GetPI();和cout<<Constants::GetPI();9.有如下程序:#include<iostream>usingnamespacestd;classVAC{public:intf()const{return3;}intf(){return5;}};intmain(){VACv1;constVACv2;cout<<v1.f()<<v2.f();return0;}運(yùn)營(yíng)時(shí)輸出成果是:A.53C.55.35.3310.有如下類聲明:classBase{protected:intamount;public:Base(intn=0):amount(n){}intgetAmount()const{returnamount;}};classDerived:publicBase{protected:intvalue;public:Derived(int,intn):value(m),Base(n){}intgetData()const{returnvalue+amount;}};已知x是一種Derived對(duì)象,則下列表達(dá)式中對(duì)的是:B.x.value+x.getAmount();C.x.getData()–x.amount;.x.getData()+x.getAmount();.x.value+x.amount;二、填空題(8*2=16)400_64444return*this_DogspeakVoice1.下列中a值是___400_____#defineAAA200#defineBBBAAA+100inta=BBB*22.下位=;=;n=____5_________4___)=(p)=(n)=____4____({)___4______}=(p)_____4____3.補(bǔ)充完整下面類定義:classXCH{char*a;public:XCH(char*aa){//構(gòu)造函數(shù)a=newchar[strlen(aa)+1];strcpy(a,aa);}XCH&operator=(constXCH&x){//重載賦值函數(shù)delete[]a;a=newchar[strlen(x.a)+1];strcpy(a,x.a);______;}~XCH(){delete[]a;}};____return*this____________________________________________________________________請(qǐng)寫(xiě)出下面程序輸出成果{{}__________________DogspeakVoice__________________三、問(wèn)答題(5*10+9+15=74)1.編寫(xiě)類String拷貝構(gòu)造函數(shù)和賦值函數(shù)(可以調(diào)用C++/C字符串庫(kù)函數(shù))(15)。{=;;~;&;;;4{3分;}6分{{=;=;}{=;=;;}}3分{=;=;;}&分{4分3分3分=;=;3分}不調(diào)用C++/C字符串庫(kù)函數(shù),請(qǐng)編寫(xiě)函數(shù).。(**){=;=*;;}3.F(n)=F(n-1)+F(n-2),F(0)=1,F(1)=1.分別用遞歸和循環(huán)求F(5)(10)。}}{a=b=c=i=<{c=a+a=b=}}寫(xiě)一算法,對(duì)單鏈表實(shí)現(xiàn)就地逆置(不要構(gòu)造新結(jié)點(diǎn))(10)。.{{}}5.從冒泡排序、直接插入排序、二分插入排序和選取排序四種排序算法中,選取其中一種算法,寫(xiě)出它實(shí)現(xiàn)?(10)#include<stdio.h>#include<time.h>#include<math.h>#include<malloc.h>voidBubbleSort(int*L,intN){//冒泡inti,j;intt;for(i=1;i<=N;i++){for(j=N;j>i;j--)if(L[j]<L[j-1]){t=L[j];L[j]=L[j-1];L[j-1]=t;}}}intSelectMinKey(int*L,intN,intn){inti,min=n;for(i=n+1;i<=N;i++)if(L[i]<L[min])min=i;returnmin;}voidSelectSort(int*L,intN){//選取inti,j;intt;for(i=1;i<N;i++){j=SelectMinKey(L,N,i);if(i!=j){t=L[i];L[i]=L[j];L[j]=t;}}}voidInsertSort(int*L,intN){//插入inti,j;for(i=2;i<=N;i++){if(L[i]<L[i-1]){L[0]=L[i];L[i]=L[i-1];for(j=i-2;L[0]<L[j];j--)L[j+1]=L[j];L[j+1]=L[0];}}}voidShellInsert(int*L,intN,intdk){//對(duì)順序表L作一趟希爾插入排序。本算法對(duì)算法10.1作了如下修改://1.先后記錄位置增量是dk,而不是1;//inti,j;for(i=dk+1;i<=N;++i)2.r[0]只是暫存單元,不是哨兵。當(dāng)j<=0時(shí),插入位置已找到。if(L[i]<L[i-dk]){//需將L.r[i]插入有序增量子表L[0]=L[i];//暫存在L.r[0]for(j=i-dk;(j>0&&L[0]<L[j]);j-=dk)L[j+dk]=L[j];//記錄后移,查找插入位置L[j+dk]=L[0];//插入}}//ShellInsertvoidShellSt(int*L,intN,intdlta[],intt){//算法10.5//按增量序列dlta[0..t-1]對(duì)順序表L作希爾排序。for(intk=0;k<t;++k)ShellInsert(L,N,dlta[k]);}//ShellSort//一趟增量為dlta[k]插入排序voidShellSort(int*L,intN){//希爾intt=(int)log(N);intk,*dlta;dlta=(int*)malloc(t*4);for(k=0;k<t;k++)//產(chǎn)生增量序列dlta[k]=(int)pow(2,t-k)-1;ShellSt(L,N,dlta,t);}intmain(){intN=250;inti,j,k;intt;intti[16];int*L;srand(time(NULL));printf("長(zhǎng)度\t|冒泡\t|選取\t|插入\t|希爾\n");printf("--------+-------------------------------------------------------------");for(j=0;N<100000;j++){L=(int*)malloc((N+1)*4);t=0;for(i=1;i<=N;i++)L[i]=rand();ti[t++]=clock();BubbleSort(L,N);ti[t++]=clock();for(i=1;i<=N;i++)L[i]=rand();ti[t++]=clock();SelectSort(L,N);ti[t++]=clock();for(i=1;i<=N;i++)L[i]=rand();ti[t++]=clock();InsertSort(L,N);ti[t++]=clock();for(i=1;i<=N;i++)L[i]=rand();ti[t++]=clock();ShellSort(L,N);ti[t++]=clock();printf("\n%d\t",N);for(k=0;k<4;k++)printf("|%d\t",(ti[2*k+1]-ti[2*k]));N*=5;}printf("\n\n");}6.一種類中,const類型成員函數(shù)重要作用是什么?在該函數(shù)中可以調(diào)用該類什么類型成員變量和成員函數(shù)?該類一種非const對(duì)象可以調(diào)用const成員函數(shù)嗎?(10)(1)可以定義const常量,具備不可變性。voidf(constinti)編譯器就會(huì)懂得i是一種常量,不容許修改;(3)可以避免意義模糊數(shù)字浮現(xiàn),同樣可以很以便地進(jìn)行參數(shù)調(diào)節(jié)和修改。同宏定義同樣,可以做到不變則已,一變都變!如(1)中,如果想修改Max內(nèi)容,只需要:constintMax=youwant;即可?。?)可以保護(hù)被修飾東西,防止意外修改,增強(qiáng)程序健壯性。還是上面例子,如果在函數(shù)體內(nèi)修改了i,編譯器就會(huì)報(bào)錯(cuò);例如:voidf(constinti)(5)為函數(shù)重載提供了一種參照。classA{......voidf(inti)//一種函數(shù)voidf(inti)const//上一種函數(shù)重載......};(6)可以節(jié)約空間,避免不必要內(nèi)存分派。const定義常量從匯編角度來(lái)看,只是給出了相應(yīng)內(nèi)存地址,而不是象#

溫馨提示

  • 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)論