版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
試卷科目:C++開發(fā)基礎(chǔ)C++開發(fā)基礎(chǔ)(習(xí)題卷34)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC++開發(fā)基礎(chǔ)第1部分:單項(xiàng)選擇題,共57題,每題只有一個(gè)正確答案,多選或少選均不得分。[單選題]1.類A、B、C的定義如下:ClassA{public:intm;A(intm=0):m(m){}};ClassB{public:intm;A(intm=0):m(m){}};ClassC{public:intm;Aa;Bb;C(intm=0):b(m),a(m),m(m){}};則在C類的對象生命期結(jié)束時(shí),調(diào)用各個(gè)類的析構(gòu)函數(shù)的次序是:A)A,B,CB)B,A,CC)C,A,BD)C,B,A答案:D解析:[單選題]2.不能作為函數(shù)重載判斷的依據(jù)的是()A)返回類型B)constC)參數(shù)個(gè)數(shù)D)參數(shù)類型答案:B解析:[單選題]3.執(zhí)行排序操作時(shí),根據(jù)使用的存儲器可將排序算法分為A)插入排序和內(nèi)排序B)內(nèi)排序和外排序C)外排序和插入排序D)以上都不對答案:B解析:[單選題]4.關(guān)于異常機(jī)制,以下說法正確的是()。A)異常不是語法錯(cuò)誤B)異常代表了編程過程中遇見的所有錯(cuò)誤C)一旦出現(xiàn)異常,程序?qū)?huì)中斷,退出執(zhí)行D)派生類不能捕獲基類的異常答案:A解析:[單選題]5.設(shè)有基類定義:Classbase{Private:inta;protected:intb;public:intc;};為使變量成員b成為派生類的私有成員,可以采用的繼承方式是()A)私有繼承B)公有繼承C)保護(hù)繼承D)私有、公有、保護(hù)均可答案:A解析:[單選題]6.已知某應(yīng)用系統(tǒng)中已經(jīng)定義了函數(shù)fum,其原形是intfun(char=?A?);則下列函數(shù)中,可以在同一系統(tǒng)中加以重載的是()。A)intfun();B)intfun(char);C)intfun(char,int);D)intfun(char,double=0.0);答案:C解析:[單選題]7.已知inta[][3]={{0,1},{2,3,4},{5,6},{7}};則a[2][1]的值是()。A)0B)2C)6D)7答案:C解析:[單選題]8.關(guān)于類模板的模板參數(shù)說法正確的是()。A)只可作為數(shù)據(jù)成員的類型B)只可作為成員函數(shù)的返回值類型C)只可作為成員函數(shù)的參數(shù)類型D)既可作為數(shù)據(jù)成員的類型,也可說明成員函數(shù)的類型答案:D解析:[單選題]9.若有以下類W說明,函數(shù)fConst的正確定義是()。classW{inta;public:voidfConst(int)const;};A)voidW::fConst(intk)const{k=a;}B)voidW::fConst(intk)const{k=a++;}C)voidW::fConst(intk)const{cin>>a;}D)voidW::fConst(intk)const{a=k;}答案:A解析:[單選題]10.實(shí)現(xiàn)編譯時(shí)的多態(tài)性要使用()A)重載函數(shù)B)析構(gòu)函數(shù)C)構(gòu)造函數(shù)D)虛函數(shù)答案:A解析:[單選題]11.執(zhí)行語句inta=5,b=10,c;int*p1=&a,*p2=&b;后,下面語句中不正確的是()。A)*p2=b;B)p1=a;C)p2=p1;D)c=*p1*(*p2);答案:B解析:[單選題]12.執(zhí)行C++程序時(shí)出現(xiàn)的?溢出?錯(cuò)誤屬于()錯(cuò)誤。A)運(yùn)行B)編譯C)連接D)邏輯答案:A解析:[單選題]13.有以下程序中:#include<iostream>Usingnamespacestd;Voidmain(){Intm=0,n=0;Charc='B';Cin>>m>>c>>n;Cout<<m<<c<<n;}若從鍵盤上輸入:20A30<回車>,則輸出結(jié)果是_____。A)20A30B)20B30C)30A30D)20A20答案:A解析:[單選題]14.()是析構(gòu)函數(shù)的特征。A)析構(gòu)函數(shù)在對象創(chuàng)建時(shí)調(diào)用B)一個(gè)類中只能定義一個(gè)析構(gòu)函數(shù)C)析構(gòu)函數(shù)的定義只能在類體內(nèi)D)析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù)答案:B解析:[單選題]15.下面選項(xiàng)中等價(jià)的是________。A)inta[2][3]={3,4,5}與inta[][3]={3,4,5};B)inta[2][3]={0,1}與inta[2][3]={{0},{1}};C)inta[2][3]={1,0,2,2,4,5}與inta[2][]={1,0,2,2,4,5};D)inta[][3]={1,0,2,2,4,5}與inta[2][3]={1,0,2,2,4,5};答案:C解析:[單選題]16.若x和y是程序中的兩個(gè)整型變量,則下列if語句中正確的是________。A)ifx!=0y=1;elsey=2;B)if(x!=0)theny=1elsey=2;C)if(x!=0)y=1;elsey=2;D)if(x!=0)y=1elsey=2;答案:C解析:[單選題]17.下列靜態(tài)數(shù)據(jù)成員的特性中,()是錯(cuò)誤的。A)說明靜態(tài)數(shù)據(jù)成員時(shí)前邊要加修飾符staticB)靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化C)靜態(tài)數(shù)據(jù)成員不是所有對象所共用的D)引用靜態(tài)數(shù)據(jù)成員時(shí),要在其名稱前加<類名>和作用域運(yùn)算符答案:C解析:[單選題]18.計(jì)算機(jī)算法必須具備輸入、輸出和__等5個(gè)特性A)可行性、可移植性和可擴(kuò)充性B)可行性、確定性和有窮性C)確定性、有窮性和穩(wěn)定性D)易讀性、穩(wěn)定性和安全性答案:B解析:[單選題]19.在函數(shù)調(diào)用時(shí),如某一默認(rèn)參數(shù)要指明一個(gè)特定值,則有()A)其之前所有參數(shù)都必須賦值B)其之后所有參數(shù)都必須賦值C)其前、后所有參數(shù)都必須賦值D)其前、后所有參數(shù)都不必賦值答案:A解析:[單選題]20.與y=x>0?1:xA)if(x>0)y=1;elseif(x<0)y=-1;elsey=0;B)if(x)if(x>0)y=1;elseif(x<0)y=-1;elsey=0;C)y=-1if(x)if(x>0)y=1;elseif(x==0)y=0;elsey=-1;D)y=0;if(x>=0)if(x>0)y=1;elsey=-1;答案:A解析:[單選題]21.有如下程序:intx=3;do{X-=2;cout<<x;}while(!(--x));執(zhí)行這個(gè)程序的輸出結(jié)果是()。A)1B)30C)1-2D)死循環(huán)答案:C解析:[單選題]22.下列說法錯(cuò)誤的是________。A)形參是局部變量B)在不同函數(shù)中可以使用相同名字的變量C)在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D)在函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)中有效答案:D解析:[單選題]23.C++中注釋?//?的有效范圍是()A)從?//?開始到行尾B)從?//?開始到下一個(gè)?//?C)?//?及其后一個(gè)字符D)從?//?開始到程序尾答案:A解析:C++程序中,仍沿用C語言的注釋風(fēng)格,即注釋有以下兩種形式。1)從/*開始,到*/結(jié)束,這之間的所有內(nèi)容都視作注釋。2)從//直到行尾,都是注釋。故本題選A。[單選題]24.從一個(gè)棧頂指針為HS的鏈棧中刪除一個(gè)結(jié)點(diǎn),用x保存被刪除結(jié)點(diǎn)的值,則執(zhí)行A)x=HS;HS=HS->next;B)HS=HS->next;x=HS->data;C)x=HS->data;HS=HS->next;D)s->next=Hs;Hs=HS->next;答案:C解析:[單選題]25.模板函數(shù)的真正代碼是在()時(shí)候產(chǎn)生。A)源程序中聲明函數(shù)時(shí)B)源程序中定義函數(shù)時(shí)C)源程序中的調(diào)用函數(shù)時(shí)D)運(yùn)行執(zhí)行函數(shù)時(shí)答案:C解析:[單選題]26.設(shè)有如下定義:int*(*ptr)();則以下敘述中正確的是()A)ptr是指向一維數(shù)組的指針變量B)ptr是指向int型數(shù)據(jù)的指針變量C)ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)D)ptr是指向函數(shù)的指針,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針答案:D解析:1、對于int*ptr()而言,ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是一個(gè)int類型的指針;2、對于int(*ptr)()而言,ptr是一個(gè)函數(shù)指針,該函數(shù)的返回值是一個(gè)int類型的數(shù);3、對于int(*ptr)()而言,無非就是在2的基礎(chǔ)上,其函數(shù)返回值類型是一個(gè)int類型的指針。注:1和2是在c++primer中講函數(shù)指針知識點(diǎn)的時(shí)候特別強(qiáng)調(diào)過,函數(shù)指針就是把函數(shù)名用一個(gè)指針代替,并且用括號括起來,此處的括號不能省。[單選題]27.以下程序段的運(yùn)行結(jié)果是()。hara[]={?a?,?b?,?\0?,?c?,?\0?}printf(""%s"",a);"A)?a???b?B)abC)abcD)ab0c0答案:B解析:[單選題]28.下面關(guān)于虛函數(shù)和函數(shù)重載的敘述不正確的是()A)虛函數(shù)不是類的成員函數(shù)B)虛函數(shù)實(shí)現(xiàn)了C++的多態(tài)性C)函數(shù)重載允許非成員函數(shù),而虛函數(shù)只針對于成員函數(shù)D)函數(shù)重載的調(diào)用根據(jù)參數(shù)的個(gè)數(shù)、序列來確定,而虛函數(shù)依據(jù)對象確定答案:A解析:虛函數(shù)也是類的成員函數(shù),A說法是不正確的;虛函數(shù)和函數(shù)重載都實(shí)現(xiàn)了C+=的多態(tài)性,但表現(xiàn)形式不一樣,函數(shù)重載調(diào)用根據(jù)參數(shù)個(gè)數(shù)、參數(shù)類型等進(jìn)行區(qū)分,而虛函數(shù)則是根據(jù)動(dòng)態(tài)聯(lián)編來確定調(diào)用什么,故BD說法正確函數(shù)重載可以是類的成員函數(shù)也可以是非成員函數(shù),比如:intfun(inta);intfun(inta,intb);這就是非成員重載,虛函數(shù)必須是成員函數(shù)了,否則就失效了,所以C對[單選題]29.進(jìn)棧序列為a,b,c,則通過入、出??赡艿玫降腶,b,c的不同排列個(gè)數(shù)是A)4B)5C)6D)7答案:B解析:[單選題]30.關(guān)于C++語言中return語句正確的說法是()。A)只能在主函數(shù)中出現(xiàn)B)在每個(gè)函數(shù)中都必須出現(xiàn)C)可以在一個(gè)函數(shù)中出現(xiàn)多次D)只能在除主函數(shù)之外的函數(shù)中出現(xiàn)答案:C解析:[單選題]31.以下有關(guān)繼承的敘述中,正確的是________。A)派生類繼承基類的所有成員B)派生類繼承基類的所有非私有成員C)派生類沒有繼承基類的析構(gòu)函數(shù)D)虛基類不能解決多繼承產(chǎn)生的二義性答案:C解析:[單選題]32.用不帶頭結(jié)點(diǎn)的單鏈表存儲隊(duì)列,其隊(duì)頭指針指向隊(duì)頭結(jié)點(diǎn),隊(duì)尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行出隊(duì)操作時(shí)()A)僅修改隊(duì)頭指針B)僅修改隊(duì)尾指針C)隊(duì)頭、隊(duì)尾指針都可能要修改D)隊(duì)頭、隊(duì)尾指針都要修改答案:C解析:[單選題]33.有說明structpoint{intx;inty;}p;正確的賦值語句是()。A)point.x=1;point.y=2;B)point={1,2};C)p.x=1;p.y=2;D)p={1,2};答案:C解析:[單選題]34.下列關(guān)于函數(shù)重載的敘述中,錯(cuò)誤的是()。A)重載函數(shù)的參數(shù)個(gè)數(shù)可以不同B)重載函數(shù)的參數(shù)類型可以不同C)重載函數(shù)的返回值類型必須不同D)重載函數(shù)的參數(shù)個(gè)數(shù)或參數(shù)類型必須有所不同答案:C解析:[單選題]35.以下輸入輸出語句錯(cuò)誤的是()A)cout<<x<<endl;B)cin>>y>>z;C)cout>>a>>b;D)cout<<?a?;答案:C解析:[單選題]36.下面描述中,正確的是()。A)虛函數(shù)是沒有實(shí)現(xiàn)的函數(shù)B)純虛函數(shù)是返回值等于0的函數(shù)C)抽象類是只有純虛函數(shù)的類D)抽象類指針可以指向不同的派生類答案:D解析:[單選題]37.欲使下列程序輸出?Point:(1,1),Radius:6?,下列填空錯(cuò)誤的是______。A)第(1)空填Point(x,y)B)第(1)空填x=1,y=1C)第(2)空填Point(c)D)第(2)空填Point(c.x,c.y)答案:B解析:[單選題]38.有如下程序段:執(zhí)行這個(gè)程序段后輸出字符*的個(gè)數(shù)是________。inti=1;while(1){i++;if(i==30)break;if(i%3==0)cout<<'*';}A)10B)8C)9D)30答案:C解析:[單選題]39.右值引用的說法錯(cuò)誤的是?A)消除兩個(gè)對象交互時(shí)不必要的對象拷貝B)節(jié)省運(yùn)算存儲資源C)能夠更簡潔、明確地定義泛型函數(shù)D)降低了運(yùn)行效率答案:D解析:[單選題]40.關(guān)于類的對象,說法錯(cuò)誤的是()。A)同1個(gè)類定義的兩個(gè)對象可以互相賦值B)對象是類的1個(gè)實(shí)例C)對象是現(xiàn)實(shí)生活中具有共同特征的一類事物的抽象D)對象的成員包括兩個(gè):數(shù)據(jù)成員和成員函數(shù)答案:C解析:[單選題]41.數(shù)組a經(jīng)初始化chara[]=?English?;a[1]中存放的是A)字符nB)字符EC)"n"D)"E"答案:A解析:[單選題]42.設(shè)x為整型變量,不.能.正確表達(dá)數(shù)學(xué)關(guān)系1<x<5的C++邏輯表達(dá)式是()。A)1<x<5B)x==2||x==3||x==4C)1<x&&x<5D)!(x<=1)&&!(x>=5)答案:A解析:[單選題]43.表達(dá)式3.6-5/2+1.2+5%2的值是________。A)4.3B)4.8C)3.3D)3.8答案:D解析:[單選題]44.設(shè)有三個(gè)元素X,Y,Z順序進(jìn)棧(進(jìn)的過程中允許出棧),下列得不到的出棧排列是A)XYZB)YZXC)ZXYD)ZYX答案:C解析:[單選題]45.運(yùn)行這個(gè)程序段的輸出是________。A)1234B)1233C)1122D)1223答案:C解析:[單選題]46.有如下兩個(gè)類定義:classAA{};classBB{AAv1,*v2;BBv3;int*v4;};其中有一個(gè)成員變量的定義是錯(cuò)誤的,這個(gè)變量是________。A)v1B)v2C)v3D)v4答案:C解析:[單選題]47.以下數(shù)據(jù)結(jié)構(gòu)中哪一個(gè)是非線性結(jié)構(gòu)A)隊(duì)列B)棧C)線性表D)二叉樹答案:D解析:[單選題]48.一個(gè)最簡單的C++程序,可以只有一個(gè)()。A)庫函數(shù)B)自定義函數(shù)C)main函數(shù)D)空函數(shù)答案:C解析:[單選題]49.假定要對類AB定義加號運(yùn)算符重載成員函數(shù),實(shí)現(xiàn)兩個(gè)AB類對象的加法,并返回相加結(jié)果,則該成員函數(shù)的聲明語句為()A)ABoperator+(AB&a,AB&b)B)ABoperator+(AB&a)C)operator+(ABa)D)AB&operator+(AB&a)答案:B解析:[單選題]50.已知x,y,z均為整型變量,且值均為1,則執(zhí)行語句++x||++y&&++z;后,表達(dá)式x+y的值為()A)1B)2C)3D)4答案:C解析:++x為真,后面的就不運(yùn)算了,所以語句執(zhí)行結(jié)束后x=2,y=1,z=1[單選題]51.一個(gè)隊(duì)列的入隊(duì)序列是1,2,3,4,則隊(duì)列的輸出序列是A)4,3,2,1B)1,2,3,4C)1,4,3,2D)3,2,4,1答案:B解析:[單選題]52.下列關(guān)于類的權(quán)限描述錯(cuò)誤的是()A)類本身的成員函數(shù)可以訪問自己定義的任何成員B)類的對象只能訪問公有成員C)普通函數(shù)只能通過對象訪問類的公有成員D)一個(gè)類不能包含另一個(gè)類的對象作為成員答案:D解析:因?yàn)轭惐旧砭褪且环N新的數(shù)據(jù)類型,所以一個(gè)類的對象可以作為另一個(gè)類的成員。普通成員函數(shù)由類的對象調(diào)用。故D錯(cuò)誤。訪問類的成員變量及調(diào)用類的成員函數(shù)時(shí),要考慮成員名的訪問范圍。類中定義的訪問方法是public的,所以可以在類外(如主函數(shù)中)中直接調(diào)用。類內(nèi)的函數(shù)僅作為類內(nèi)其他函數(shù)的輔助函數(shù)使用,并不對外提供服務(wù),這樣的函數(shù)可以定義為私有的,也就是說,在類外不可以直接調(diào)用它們。故ABC正確。[單選題]53.設(shè)變量x為float型且已賦值,則以下語句中能將x中的數(shù)值保留到小數(shù)點(diǎn)后兩位,并將第三位四舍五入的是________。A)x=x*100+0.5/100.0;B)x=(x*100+0.5)/100.0;C)x=(int)(x*100+0.5)/100.0;D)x=(x/100+0.5)*100.0;答案:C解析:[單選題]54.已知如下程序:classB{public:B(){}B(intc):count(c){}virtualvoidprint()const=0;private:intcount;};classD:publicB{public:D():B(0){}D(intc):B(c){}voidprint()const{cout<<""hello""<<endl;}};voidmain(){Dd(10);B*pb;pb=&d;//OKB&cb=d;Ddd=*pb;//2B對象不能轉(zhuǎn)換為DD&cd=cb;//3B對象不能轉(zhuǎn)換為D&Bbb=d;//4B類,不能實(shí)例化抽象類}則在標(biāo)出的幾個(gè)語句中,沒有錯(cuò)誤的是()。A)1B)2C)3D)4答案:A解析:[單選題]55.有以下程序Intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}Voidmain(){inti,j=0;for(i=1;i<3;i++)j+=f(i);cout<<j<<endl;}程序運(yùn)行后的輸出結(jié)果是()。A)4B)3C)2D)1答案:B解析:[單選題]56.下列格式控制符,既可以用于輸入,又可以用于輸出的是()。A)setbaseB)setfillC)setprecisionD)setw答案:A解析:[單選題]57.若有以下程序段,intc1=1,c2=2,c3;c3=1.0/c2*c1;則執(zhí)行后,c3中的值是________。A)0B)0.5C)1D)2答案:A解析:第2部分:多項(xiàng)選擇題,共6題,每題至少兩個(gè)正確答案,多選或少選均不得分。[多選題]58.下列表達(dá)式結(jié)果可以表示?true?的有()。A)x=1B)intx=1,x==1C)intx=1,!xD)x=3答案:ABD解析:[多選題]59.下列關(guān)于C++關(guān)鍵字的說法中錯(cuò)誤的是A)關(guān)鍵字是用戶為程序中各種需要命名的?元素?所起的名字B)關(guān)鍵字是對程序中的數(shù)據(jù)進(jìn)行操作的一類單詞。C)關(guān)鍵字是在程序中起分割內(nèi)容和界定范圍作用的一類單詞D)關(guān)鍵字是C++中預(yù)先定義并實(shí)現(xiàn)一定功能得一類單詞。答案:ABC解析:[多選題]60.關(guān)于冒泡排序和快速排序的時(shí)間復(fù)雜度說法正確的是A)對于n個(gè)記錄的集合進(jìn)行冒泡排序,在最壞的情況下所需要的時(shí)間是O(n^2)B)對于n個(gè)記錄的集合進(jìn)行冒泡排序,在最壞的情況下所需要的時(shí)間是O(nlogn)C)對于n個(gè)記錄的集合進(jìn)行快速排序,在最壞的情況下所需要的時(shí)間是O(n^2)D)對于n個(gè)記錄的集合進(jìn)行快速排序,在最壞的情況下所需要的時(shí)間是O(nlogn)答案:AC解析:[多選題]61.二分查找要滿足順序存儲、鏈存儲、按value有序中的哪些條件A)順序存儲B)鏈存儲C)按value有序D)以上答案都不正確答案:AC解析:[多選題]62.數(shù)據(jù)結(jié)構(gòu)中,排序算法不穩(wěn)定的有哪些A)快速排序B)冒泡排序C)直接插入排序D)希爾排序答案:AD解析:[多選題]63.下面關(guān)于快速排序和插入排序的選擇正確的是A)若初始記錄基本無序,則最好選用快速排序B)若初始數(shù)據(jù)基本正序,則選用插入排序C)若初始記錄基本無序,則最好選用插入排序D)若初始數(shù)據(jù)基本正序,則選用快速排序答案:AB解析:第3部分:填空題,共4題,請?jiān)诳瞻滋幪顚懻_答案。[填空題]64.將指向?qū)ο蟮闹羔樧鳛楹瘮?shù)參數(shù),形參是對象指針,實(shí)參是對象的___________答案:地址值解析:[填空題]65.在編譯指令中,宏定義使用___指令。答案:#define解析:[填空題]66.設(shè)enumPrintstatus{ready=2,busy,error};則cout<<busy的輸出結(jié)果是________。答案:3解析:[填空題]67.類中運(yùn)算符重載一般采用兩種形式:___________和____________答案:成員函數(shù),友元函數(shù)解析:第4部分:判斷題,共13題,請判斷題目是否正確。[判斷題]68.由于希爾排序的最后一趟與直接插入排序過程相同,因此前者一定比后者花費(fèi)的時(shí)間更多()A)正確B)錯(cuò)誤答案:錯(cuò)解析:[判斷題]69.()++運(yùn)算符重載時(shí),只用寫一個(gè)重載函數(shù),就能夠用在操作數(shù)的左邊和右邊。A)正確B)錯(cuò)誤答案:錯(cuò)解析:[判斷題]70.線性鏈表中的表頭元素一定存儲在其他元素的前面A)正確B)錯(cuò)誤答案:錯(cuò)解析:[判斷題]71.若要求排序是穩(wěn)定的,且關(guān)鍵字為實(shí)數(shù),則選用直接插入排序比較合適A)正確B)錯(cuò)誤答案:對解析:[判斷題]72.排序的穩(wěn)定性是指排序算法中的比較次數(shù)保持不變,且算法能夠終止()A)正確B)錯(cuò)誤答案:錯(cuò)解析:[判斷題]73.計(jì)算機(jī)最小的存儲單位是bit。()A)正確B)錯(cuò)誤答案:對解析:[判斷題]74.順序查找,時(shí)間復(fù)雜度為O(n)A)正確B)錯(cuò)誤答案:對解析:[判斷題]75.For循環(huán)是只有可以確定的循環(huán)次數(shù)時(shí)才可使用,否則不能用for循環(huán)。答案:錯(cuò)解析:[判斷題]76.棧是一種對所有插入、刪除操作限于在表的一端進(jìn)行的線性表,是一種后進(jìn)先出型結(jié)構(gòu)。A)正確B)錯(cuò)誤答案:對解析:[判斷題]77.()在C++語言中,類的構(gòu)造函數(shù)的名稱必須和類名一樣。A)正確B)錯(cuò)誤答案:對解析:[判斷題]78.保護(hù)私有成員是繼承過程中的重要準(zhǔn)則。()A)正確B)錯(cuò)誤答案:對解析:第5部分:問答題,共20題,請?jiān)诳瞻滋幪顚懻_答案。[問答題]79.什么是常指針,什么是指向常變量的指針?答案:常指針的含義是該指針?biāo)赶虻牡刂凡荒茏?,但該地址所指向的?nèi)容可以變化,使用常指針可以保證我們的指針不能指向其它的變量,指向常變量的指針是指該指針的變量本身的地址可以變化,可以指向其它的變量,但是它所指的內(nèi)容不可以被修改。指向長變量的指針定義解析:[問答題]80.已知類String的原型為:classString{public:String(constchar*str=NULL);//普通構(gòu)造函數(shù)String(constString&other);//拷貝構(gòu)造函數(shù)~String(void);//析構(gòu)函數(shù)String&operate=(constString&other);//賦值函數(shù)private:char*m_data;//用于保存字符串};請編寫String的上述4個(gè)函數(shù)。答案://普通構(gòu)造函數(shù)String::String(constchar*str){if(str==NULL)//strlen在參數(shù)為NULL時(shí)會(huì)拋異常才會(huì)有這步判斷{m_data=newchar[1];m_data[0]=?;}else{m_data=newchar[strlen(str)+1];strcpy(m_data,str);}}//拷貝構(gòu)造函數(shù)String::String(constString&other){m_data=newchar[strlen(other.m_data)+1];strcpy(m_data,other.m_data);}//賦值函數(shù)(重載運(yùn)算符)String&String::operator=(constString&other){if(this==&other)return*this;delete[]m_data;m_data=newchar[strlen(other.m_data)+1];strcpy(m_data,other.m_data);return*this;}//析構(gòu)函數(shù)String::~String(void){delete[]m_data;}解析:[問答題]81.企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤提成。利潤(I)低于或等于10萬元時(shí),獎(jiǎng)金可提10%;利潤高于10萬元,低于20萬元時(shí),低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時(shí),高于20萬元的部分,可提成5%;40萬到60萬之間時(shí)高于40萬元的部分,可提成3%;60萬到100萬之間時(shí),高于60萬元的部分,可提成1.5%,高于100萬元時(shí),超過100萬元的部分按1%提成,從鍵盤輸入當(dāng)月利潤I,求應(yīng)發(fā)放獎(jiǎng)金總數(shù)?答案:1.程序分析:請利用數(shù)軸來分界,定位。注意定義時(shí)需把獎(jiǎng)金定義成長整型。2.程序源代碼:#include?stdio.h?#include?conio.h?main(){longinti;intbonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(?%ld?,&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;elseif(i<=200000)bonus=bonus1+(i-100000)*0.075;elseif(i<=400000)bonus=bonus2+(i-200000)*0.05;elseif(i<=600000)bonus=bonus4+(i-400000)*0.03;elseif(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf(?bonus=%d?,bonus);getch();}解析:[問答題]82.下面的程序的輸出結(jié)果為ananimalapersonananimalaperson,請將程序補(bǔ)充完整。#include<iostream.h>classanimal{public:______①_____voidspeak(){cout<<"Ananimal"<<"";}};classperson:publicanimal{public:voidspeak(){cout<<"aperson"<<"";}};voidmain(){animala,_______②_______;personp;a.speak();p.speak();pa=&a;pa->speak();________③_______;pa->speak();}答案:本題主要考查對多態(tài)性的理解與應(yīng)用。本題通過虛函數(shù)實(shí)現(xiàn)多態(tài)性,所以在基類中應(yīng)定義虛函數(shù);為了實(shí)現(xiàn)多態(tài)性,必須定義基類的指針,然后將它指向各個(gè)派生類的對象。本題答案為:①virtual、②*pa、③pa=&p解析:[問答題]83.執(zhí)行下列語句后inta,c;a=30;c=++a;變量a,c的值是()答案:31,31解析:[問答題]84.打印出所有的?水仙花數(shù)?,所謂?水仙花數(shù)?是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)?水仙花數(shù)?,因?yàn)?53=1的三次方+5的三次方+3的三次方。答案:1.程序分析:利用for循環(huán)控制100-999個(gè)數(shù),每個(gè)數(shù)分解出個(gè)位,十位,百位。2.程序源代碼:#include?stdio.h?#include?conio.h?main(){inti,j,k,n;printf(?w?aterflower?numberis:?);for(n=100;n<1000;n++){i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出個(gè)位*/if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)printf(?%-5d?,n);}getch();}解析:[問答題]85.有兩個(gè)長方柱,其長、寬、高分別為:(1)12,20,25;(2)10,30,20。分別求他們的體積。編一個(gè)基于對象的程序,且定義兩個(gè)構(gòu)造函數(shù),其中一個(gè)有參數(shù),一個(gè)無參數(shù)答案:#include<iostream>classBox{private:intlength;intwight;intheight;public:Box();Box(int,int,int);intvolume();};intmain(){usingnamespacestd;Boxmybox1;cout<<"Thefirstbox'svolume="<<mybox1.volume()<<endl;Boxmybox2(10,30,20);cout<<"Thesecondbox'svolume="<<mybox2.volume()<<endl;return0;}Box::Box(){length=12;wight=20;height=25;}Box::Box(intl,intw,inth){length=l;wight=w;height=h;}intBox::volume(){returnlength*wight*height;}解析:[問答題]86.strcpy()和memcpy()的區(qū)別?答案:strcpy()m和emcpy()都可以用來拷貝字符串,strcpy()拷貝以\0??結(jié)束,但memcpy()必須指定拷貝的長度。解析:[問答題]87.定義一個(gè)復(fù)數(shù)類Complex,重載運(yùn)算符?+?,使之能用于復(fù)數(shù)的加法運(yùn)算。參加運(yùn)算的兩個(gè)運(yùn)算量可以都是類對象,也可以其中有一個(gè)是整數(shù),順序任意。例如:c1+c2,i+c1,c1+i均合法(設(shè)i為整數(shù),c1,c2為復(fù)數(shù))。編程序,分別求兩個(gè)復(fù)數(shù)之和、整數(shù)和復(fù)數(shù)之和。初值自擬答案:#include<iostream>classComplex{private:doublereal;doubleimag;public:Complex(){real=0;imag=0;}Complex(doubler,doublei){real=r;imag=i;}Complexoperator+(Complex&c2);Complexoperator+(int&i);friendComplexoperator+(int&,Complex&);voiddisplay();};ComplexComplex::operator+(Complex&c){returnComplex(real+c.real,imag+c.imag);}ComplexComplex::operator+(int&i){returnComplex(real+i,imag);}voidComplex::display(){usingnamespacestd;cout<<"("<<real<<","<<imag<<"i)"<<endl;}Complexoperator+(int&i,Complex&c){returnComplex(i+c.real,c.imag);}intmain(){usingnamespacestd;Complexc1(3,4),c2(5,-10),c3;inti=5;c3=c1+c2;cout<<"c1+c2=";c3.display();c3=i+c1;cout<<"i+c1=";c3.display();c3=c1+i;cout<<"c1+i=";c3.display();return0;}解析:[問答題]88.在算術(shù)運(yùn)算和關(guān)系運(yùn)算中如果參與運(yùn)算的操作數(shù)類型不一致,編譯系統(tǒng)會(huì)自動(dòng)對數(shù)據(jù)進(jìn)行轉(zhuǎn)換,基本原則是將_____類型數(shù)據(jù)轉(zhuǎn)換為_______類型數(shù)據(jù)。答案:低高解析:[問答題]89.Box類中所有對象的高都為10,編寫程序計(jì)算Box類對象的體積。#include<iostream>usingnamespacestd;classBox{public:Box(int,int);intvolume();_______________________intwidth;intlength;};_____________________Box::Box(intw,intlen){width=w;length=len;}intBox::volume(){__________________________}intmain(){Boxa(15,20),b(20,30);cout<<a.height<<endl;cout<<b.height<<endl;cout<<Box::height<<endl;cout<<a.volume()<<endl;return0;}答案:第一空:staticintheight;第二空:intBox::height=10;第三空:return(height*width*length);解析:[問答題]90.若類A是類B的友元,類B是類C的友元,則下列說法正確的是()。(a)類B是類C的友元(b)類A是類C的友元(c)類A,B,C互為友元(d)以上說法都不對答案:本題考查對友元關(guān)系的理解。友元關(guān)系是單向的,也是不能傳遞的。答案為:a解析:[問答題]91.下列函數(shù)中,()是對文件進(jìn)行寫操作的。(a)read()(b)seekg()(c)get()(d)put()答案:read()的功能是輸入指定數(shù)量的字節(jié)存入指定的字符空間中;seekg()的功能是按指定方式將輸入定位于指定的相對位置處;get()的功能是提取并返回當(dāng)前輸入位置的字符代碼,或?qū)⑻崛〉淖址嫒胫付ㄗ兞恐?;put()的功能是把一個(gè)字符寫到輸出流中。答案為:d。解析:[問答題]92.寫出每趟循環(huán)時(shí)循環(huán)變量i,循環(huán)體sum的值sum=0;for(i=1;i<=5;i++){sum=sum+10*i;}答案:寫出每趟循環(huán)時(shí)循環(huán)變量i,循環(huán)體sum的值i=1時(shí),1<=5為真,第1次執(zhí)行循環(huán)體:sum=0+10=10i=2時(shí),2<=5為真,第2次執(zhí)行循環(huán)體:sum=10+20=30i=3時(shí),3<=5為真,第3次執(zhí)行循環(huán)體:sum=30+30=60i=4時(shí),4<=5為真,第4次執(zhí)行循環(huán)體:sum=60+40=100i=5時(shí),5<=5為真,第5次執(zhí)行循環(huán)體:sum=100+50=150解析:[問答題]93.實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性要使用()。(a)構(gòu)造函數(shù)(b)析構(gòu)函數(shù)(c)重載函數(shù)(d)虛函數(shù)答案:動(dòng)態(tài)聯(lián)編要在程序運(yùn)行時(shí)才能確定調(diào)用哪個(gè)函數(shù)。虛函數(shù)是實(shí)現(xiàn)動(dòng)態(tài)聯(lián)編的必要條件之一,沒有虛函數(shù)一定不能實(shí)現(xiàn)動(dòng)態(tài)聯(lián)編。答案為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小紅書:小紅書官方直播間三招教你賬戶成長
- 九年級化學(xué)下冊 第九章 現(xiàn)在生活與化學(xué)9.2 化學(xué)合成材料說課稿 (新版)粵教版
- 2024秋九年級語文上冊 第六單元 22《范進(jìn)中舉》教學(xué)設(shè)計(jì) 新人教版
- 八年級道德與法治下冊 第一單元 堅(jiān)持憲法至上 第一課 維護(hù)憲法權(quán)威 第1框 公民權(quán)利的保障書教案 新人教版
- 2024-2025學(xué)年高中歷史 第四單元 雅爾塔體制下的“冷戰(zhàn)”與和平 第15課“冷戰(zhàn)”的形成(1)教學(xué)教案 岳麓版選修3
- 2024-2025學(xué)年高中語文 第四單元 古代人物傳記 第12課 蘇武傳教案 新人教版必修4
- 2023三年級英語下冊 Unit 1 Let's go to school Lesson 1教案 人教精通版(三起)
- 租賃橋面板合同(2篇)
- 頤和園課件 總結(jié)
- 蘇教版江蘇省東臺市2023-2024學(xué)年高二上學(xué)期期末數(shù)學(xué)試題
- 田徑運(yùn)動(dòng)會(huì)徑賽裁判法PPT課件
- 學(xué)科帶頭人推薦報(bào)告
- 醫(yī)學(xué)影像技術(shù)試題
- 國家電網(wǎng)公司電力客戶檔案管理規(guī)定
- 單相接地電容電流的計(jì)算分析1
- (完整word版)A4紅色稿紙模板.doc
- 群眾問題訴求臺帳.doc
- 高強(qiáng)Q460鋼焊接作業(yè)指導(dǎo)書
- APL-期刊模板
- (完整版)小學(xué)四年級英語閱讀理解20篇)
- 國自然患者知情同意書
評論
0/150
提交評論