



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
公共基礎(chǔ)知識及C++語言程序設(shè)計(考試時間90分鐘,滿分100)分)選擇題((1-(35)每小題2分,共70分)(DC⑵C⑶B(4)A(5)D(6)B(7)D(8)B⑼C(10)A(11)D(12)D(13)C(14)D(15)A(16)A(17)D(18)B(19)D(20)C(21)B(22)A(23)B(24)B(25)C(26)D(27)C(28)A(29)A(30)C(3DC(32)B(33)D(34)B(35)B二、填空題(每空2分,共30分)(1)[1]時間(2)12]存儲結(jié)構(gòu)或物理結(jié)構(gòu)或物理存儲結(jié)構(gòu)(3)[3]黑盒或黑箱(4)14]一對多或1對多或I:M或I:N(其中M、N大小寫均可)⑸⑸投影(6)[6]60⑺[7]編譯(8)[8]friend(9)[9]A(aa),c(aa+1)或c(aa+l),A(aa)(10)[10]7(11)[11]042(12)[12]n*fact(n-l)(13)[13]3,3.14(14)[14](*p).name(15)115]25一、選擇題((1)?(35)每小題2分,共70分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)卜面敘述正確的是A)算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B)算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止D)以上三種描述都不對(2)以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是A)隊列B)線性表C)二叉樹 D)棧(3)在一棵二叉樹上第5層的結(jié)點數(shù)最多是A)8 B)16 C)32 D)15(4)下面描述中,符合結(jié)構(gòu)化程序設(shè)計風(fēng)格的是A)使用順序、選擇和五復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯B)模塊只有一個入口,可以有多個出口C)注重提高程序的執(zhí)行效率D)不使用goto語句(5)下面概念中,不屬于面向?qū)ο蠓椒ǖ氖茿)對象 B)繼承 C)類 D)過程調(diào)用(6)在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是A)可行性分析 B)需求分析 C)詳細(xì)設(shè)計 D)程序編碼(7)在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計階段的是A)數(shù)據(jù)結(jié)構(gòu)設(shè)計 B)給出系統(tǒng)模塊結(jié)構(gòu)C)定義模塊算法 D)定義需求并建系統(tǒng)模型(8)數(shù)據(jù)庫系統(tǒng)的核心是A)數(shù)據(jù)模型 C)軟件工具B)數(shù)據(jù)庫管理系統(tǒng) D)數(shù)據(jù)庫(9)下列敘述中正確的是A)數(shù)據(jù)庫系統(tǒng)是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持B)數(shù)據(jù)庫設(shè)計是指設(shè)計數(shù)據(jù)庫管理系統(tǒng)C)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題D)數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致(10)下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是A)內(nèi)模式B)外模式 C)概念模式 D)邏輯模式(11)關(guān)于面向?qū)ο蟮某绦蛟O(shè)計方法,下列說法正確的是A)“封裝性”指的是將不同類型的相關(guān)數(shù)據(jù)組合在一起,作為一個整體進行處理B)“多態(tài)性”指的是對象的狀態(tài)會根據(jù)運行時要求自動變化C)基類的私有成員在派生類的對象中不可訪問,也不占內(nèi)存空間D)在面向?qū)ο蟮某绦蛟O(shè)計中,結(jié)構(gòu)化程序設(shè)計方法仍仃著電要作用(12)判斷字符型變量ch是否為大寫英文字母,應(yīng)使用表達式A)ch>='A'&ch<='Z'B)ch<='A'llch>='Z'C)'A'<=ch<='Z' D)ch>='A'&&ch<='Z'(13)已知下列語句中的x和y都是int型變量,其中錯誤的語句A)x=y++;B)x=++y;C)(x+y)++;D)++x=y;不能是;|(或表達式(14)執(zhí)行語句序列intn;cin?n;switch(n){case1:cout?11';cout?2;break;default:cout?3;}時,若鍵盤輸入1,則屏幕顯示A)1 B)2 C)3 D)12(15)下列程序的輸出結(jié)果是#include<iostream>usingnamespacestd;intmain()chara[]="Hello,World11;char*ptr=a;while(*ptr)(if(*ptr>='a,&&*ptrv='z')cout?char(*ptr+'A'-'a1);elsecout?*ptr;ptr++;}return0;)A)HELLO,WORLD B)Hello,WorldC)hELLO,WORLD D)hello,world(16)已知:intm=10;在下列定義引用的語句中,正確的是A)int&x=m; B)inty=&m;C)int&z; D)int&t=&m;(17)下列函數(shù)原型聲明中錯誤的是A)voidFun(intx=0,inty=0);B)voidFun(intx,inty);C)voidFun(intx,inty=0);D)voidFun(intx=0,inty);(18)已知程序中已經(jīng)定義了函數(shù)test,其原型是inttest(int,int,int);,則下列而載形式中正確的是A)chartest(int,int,int);B)doubletest(int,int,double);C)inttest(int,int,int=O);D)floattest(int,int,float=3.5F);(19)有以下程序#include<iostream>inti=0;voidfun(){{staticinti=1;std::cout?i++?'/;}std::cout?i?\,;}intmain()(fun();fun();return0;程序執(zhí)行后的輸出結(jié)果是A)1,2,1,2, B)1,2,2,3, C)2,0,3,0,D)l,0,2,0,(20)已知函數(shù)f的原型是:voidf(int*a,long&b);變量vl、v2的定義是:intvl;kmgv2;,正確的調(diào)用語句是A)f(vl,&v2); B)f(vl,v2);C)f(&v1,v2); D)f(&vl,&v2);(21)有以下類定義classMyClass(public:MyClass(){cout?l;));則執(zhí)行語句MyClassa,b[2],*p[2];后,程序的輸出結(jié)果是A)llB)lllC)llllD)lllll(22)關(guān)于友元,下列說法錯誤的是A)如果類A是類B的友元,那么類B也是類A的友元B汝口果函數(shù)fun()被說明為類A的友元,那么在fun()中可以訪問類A的私有成員C)友元關(guān)系不能被繼承D)如果類A是類B的友元,那么類A的所有成員函數(shù)都是類B的友元(23)關(guān)于動態(tài)存儲分配,下列說法正確的是A)new和delete是C++語言中專門用于動態(tài)內(nèi)存分配和釋放的函數(shù)B)動態(tài)分配的內(nèi)存空間也可以被初始化C)當(dāng)系統(tǒng)內(nèi)存不夠時,會自動回收不再使用的內(nèi)存單元,因此程序中不必用delete釋放內(nèi)存空間D)當(dāng)動態(tài)分配內(nèi)存失敗時,系統(tǒng)會立刻崩潰,因此一定要慎用new(24)有以下程序#include<iostream>usingnamespacestd;classMyClass(public:MyClass(intn){number=n;}〃拷貝構(gòu)造函數(shù)MyClass(MyClass&other){number=other.number;}-MyClass(){}private:intnumber;);MyClassfun(MyClassp)(MyClasstemp(p);returntemp;intmain()MyClassobjl(10),obj2(0);MyClassobj3(objl);obj2=fun(obj3);return0;}程序執(zhí)行時,MyClass類的拷貝構(gòu)造函數(shù)被調(diào)用的次數(shù)是A)5 B)4 C)3 D)2(25)在公有派生的情況下,派生類中定義的成員函數(shù)只能訪問原基類的A)公有成員和私有成員 B)私有成員和保護成員C)公有成員和保護成員 D)私有成員、保護成員和公有成員(26)在C++中用來實現(xiàn)運行時多態(tài)性的是A)重載函數(shù) B)析構(gòu)函數(shù)C)構(gòu)造函數(shù) D)虛函數(shù)(27)一個類可以同時繼承多個類,稱為多繼承。下列關(guān)于多繼承和虛基類的表述中,錯誤的是A)每個派生類的構(gòu)造函數(shù)都要為虛基類構(gòu)造函數(shù)提供實參B)多繼承時有可能出現(xiàn)對基類成員訪問的二義性問題C)使用虛基類可以解決二義性問題并實現(xiàn)運行時的多態(tài)性D)建立最派生類對象時,虛基類的構(gòu)造函數(shù)會首先被調(diào)用(28)在一個類體的下列聲明中,正確的純虛函數(shù)聲明是A)virtualvoidvf()=0;B)voidvf(int)=0;C)virtualintvf(int); D)virtualvoidvf(int){}(29)在下面的運算符重載函數(shù)的原型中,錯誤的是Volumeoperator-(double,double);doubleVolume::operator-(double);VolumeVolume::operator-(Volume);Volumeoperator-(Volume,Volume);(30)下列是模板聲明的開始部分,其中正確的是template<T>template<classT1,T2>template<classTl,classT2>template<classTl;classT2>(31)執(zhí)行語句序列ofstreamoutfile(,'DATA.DATn);if(...)cout?“OK";elsecout?“FAIL”;后,如果文件打開成功顯示“OK”,否則就顯示“FZ.n。由此可知,上面if語句的...處的表達式應(yīng)是A)outfile.fail()或outfileB)outfile.good()或ioutfileC)outfile.good()或outfileD)outfile.fail()或!outfile(32)C++流中重載的運算符>>是一個()A)用于輸出操作的非成員函數(shù) B)用于輸入操作的非成員函數(shù)C)用于輸出操作的成員函數(shù) D)用于輸入操作的成員函數(shù)(33)有以下類定義classPoint{public:Point(intx=0,inty=0){_.x=x;_.y=y;}voidMove(intxOff,intyOff){_x+=xOff;_.y+=yOff;}voidPrint()const{cout?*('?_x?V?_y?y?endl;}private:int_x,_y;);下列語句中會發(fā)生編譯錯誤的是Pointpt;pt.Print();constPointpt;pt.Print();Pointpt;pt.Move(l,2);constPointpt;pt.Move(l,2);(34)有以下類定義classMyClass(private:intid;chargender,char*phone;public:MyClass():id(0),gender('#'),phone(NULL){}MyClass(intno,charge=*#\char*ph=NULL){id=no;gende=ge;phone=ph;});下列類對象定義語句中錯誤的是MyClassmyObj;MyClassmyObj(l1,n133011111550);MyClassmyObj(12Jm);MyClassmyObj(12);(35)有以下程序#include<iostream>usingnamespacestd;classComplex(public:Complex(doubler=0,doublei=0):re(r),im(i){}doublereal()const{returnre;}doubleimag()const{returnim;}Complexoperator+(Complexc)const{returnComplex(re+c.re,im+c.im);}private:doublere,im;};intmain()(Complexa=Complex(l,1)+Complex(5);cout?a.real()?*+'?a.imagO?*i*?endl;return0;)程序執(zhí)行后的輸出結(jié)果是A)6+6iB)6+liC)l+6iD)1+li二、填空題(每空2分,共30分)請將每一個空的正確答案寫在答題卡[1卜[15]序號的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須拼寫完整。(1)算法的復(fù)雜度主要包括[1]復(fù)雜度和空間復(fù)雜度。(2)數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的[2]o(3)若按功能劃分,軟件測試的方法通常分為白盒測試方法和13J測試方法。(4)如果一個工人可管理多個設(shè)備,而一個設(shè)備只被一個工人管理,則實體“工人”與實體“設(shè)備''之間存在[4]的聯(lián)系。(5)關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括選擇、連接和[5]。(6)設(shè)有定義語句:inta=12;,則表達式a*=2+3的運算結(jié)果是⑹。(7)從實現(xiàn)的角度劃分,C++所支持的兩種多態(tài)性分別是[7]時的多態(tài)性和運行時的多態(tài)性。(8)將一個函數(shù)聲明為一個類的友元函數(shù)必須使用關(guān)鍵字[8].(9)請按下面注釋的提示,將類B的構(gòu)造函數(shù)定義補充完整。classA(inta;public:A(intaa=0){a=aa;}};classB:publicA{intb;Ac;public:〃用aa初始化基類A,用aa+1初始化類對象成員cB(intaa):[9]{b=aa+2;}}:(10)下列程序的輸出結(jié)果是[101.#include<iostream>usingnamespacestd;intmain()(inti=5;int&r=i;r=7;cout?i?endl;return0;)(11)下列程序的輸出結(jié)果是111]O#include<iostream>usingnamespacestd;classTest{public:Test(){cnt++;}-Test(){ent—;}staticintCount(){returnent;}private:staticintent;};intTest::cnt=O;intmain()(cout?Test::CountO?**;Testtl,t2;Test*pT3=newTest;Test*pT4=newTest;cout?Test::CountO?**;deletepT4;deletepT3;cout?Test::Count()?endl;return0;)(12)下面是用來計算n的階乘的遞歸函數(shù),請將該函數(shù)的定義補充完整。(注:階乘的定義是n!=n*(n-l)*...*2*l)unsignedfact(unsignedn)(if(n<=1)return1;return[12];)(13)下列程序的輸出結(jié)果是[13]?#include<iostream>usingnamespacestd;template<tytenameT>Tfun(Ta,Tb){return(a<=b)?:b;}intmain()(cout?fun(3,6)??fun(3.14F,6.28F)?endl;return0;(14)與成員訪問表達式p->name等價的表達式是[14]。(15)下列程序的輸出結(jié)果是[15]o#include<iostream>usingnamespacestd;classbase{public:intn;base(intx){n=x;)virtualvoidset(intm){n=m;cout?n?'});classderiveA:publicbase{public:deriveA(intx):base(x){}voidset(mtm){n+=m;cout?n?',;}};classderiveB:publicbase[public:deriveB(intx):base(x){}voidset(intm){n+=m;cout?n?";));intmain()(deriveAdl(l);deriveBd2(3);base*pbase;phase=&dl;pbase->aet(1);phase=&d2;pbase->set(2);return0;)2004年9月全國計算機等級考試二級筆試試卷公共基礎(chǔ)知識及C++語言程序設(shè)計答案及評分標(biāo)準(zhǔn)選擇題((1)—(35)每小題2分,共70分)⑴C(2)C (3)B (4)A(5)D(6)B⑺D(8)B⑼c(10)A⑴)D(12)D(13)C(14)D(15)A(16)A(17)D(18)B(19)D(20)C⑵)B(22)A(23)B(24)B(25)C(26)D(27)C(28)A(29)A(30)C⑶)C(32)B(33)D(34)B(35)B二、填空題(每空2分,共30分)(1)11]時間(2)[2]存儲結(jié)構(gòu)或物理結(jié)構(gòu)或物理存儲結(jié)構(gòu)⑶[3]黑盒或黑箱(4)[4]一對多或1對多或I:M或I:N(其中M、N大小寫均可)⑸[5]投影(6)[6]60⑺⑺編譯(8)[8]friend(9)[9JA(aa),c(aa+1)或c(aa+l),A(aa)(10)[10]7(ll)[ll]042(12)[12]n*fact(n-l)(13)[13]3,3.14(14)[14](*p).name(15)[15]252010年3月計算機等級考試二級C++筆試試題一、選擇題(每小題2分,共70分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列敘述中正確的是A)對長度為n的有序鏈表進行查找,最壞情況下需要的比較次數(shù)為nB)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(n/2)C)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(bg2n)D)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(nlog2n)(2)算法的時間復(fù)雜度是指A)算法的執(zhí)行時間B)算法所處理的數(shù)據(jù)量C)算法程序中的語句或指令條數(shù)D)算法在執(zhí)行過程中所需要的基本運算次數(shù)(3)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是A)編輯軟件B)操作系統(tǒng)C)教務(wù)管理系統(tǒng)D)瀏覽器(4)軟件(程序)調(diào)試的任務(wù)是A)診斷和改正程序中的錯誤B)盡可能多地發(fā)現(xiàn)程序中的錯誤C)發(fā)現(xiàn)并改正程序中的所有錯誤D)確定程序中錯誤的性質(zhì)(5)數(shù)據(jù)流程圖(DFD圖)是A)軟件概要設(shè)計的工具B)軟件詳細(xì)設(shè)計的工具C)結(jié)構(gòu)化方法的需求分析工具
D)面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ撸?)軟件生命周期可分為定義階段,開發(fā)階段和維護階段。詳細(xì)設(shè)計屬于A)定義階段B)開發(fā)階段。維護階段D)上述三個階段(7)數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是A)數(shù)據(jù)定義語言B)數(shù)據(jù)管理語言C)數(shù)據(jù)操縱語言D)數(shù)據(jù)控制語言(8)在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個學(xué)生信息的數(shù)據(jù)單位是A戊件B)數(shù)據(jù)庫C)字段D)記錄(9)數(shù)據(jù)庫設(shè)計中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計算機中的表示,它屬于數(shù)據(jù)庫設(shè)計的A)需求分析階段B)邏輯設(shè)計階段C)概念設(shè)計階段D)物理設(shè)計階段R(10)有兩個關(guān)系R和T如下:Rr *t* r-?'r?a_Tb.;cI|c-3;3dL,,2則由關(guān)系R得到關(guān)系T的操作是A)選擇B)投影C)交D)并(11)下列關(guān)于函數(shù)的描述中,錯誤的是A)函數(shù)可以沒有返回值B)函數(shù)可以沒有參數(shù)C)函數(shù)可以是一個類的成員D)函數(shù)不能被定義為模板(12)若MyClass是一個類名,且有如下語句序列MyClasscl,*c2;MyClass*c3=newMyClass;MyClass&c4=c1;上面的語句序列所定義的類對象的個數(shù)是A)1B)2C)3D)4(13)下列關(guān)于繼承方式的描述中,錯誤的是A)如果不顯式地指定繼承方式,缺省的繼承方式是私有(private)B)采用公有繼承方式時,基類中的公有成員在派生類中仍然是公有成員C)采用保護繼承方式時,基類中的保護成員在派生類中仍然是保護成員D)采用私有繼承方式時,基類中的私有成員在派生類中仍然是私有成員(14)將前綴運算符“-”重載為非成員函數(shù),下列原型中,能正確用于類中說明的是A)Decr&operator—(int);B)Decroperator—(Decr&,int);C)friendDecr&operator—(Decr&);D)frlendDeeroperator—(Decr&,int);(15)若MyTemp是一個只有一個虛擬類型參數(shù)的類模板,且有如下語句序列MyTempp2;MyTempp3[2];編譯系統(tǒng)在處理上.面的語句序列時,所生成的模板MyTemp的實例的個數(shù)是A)1B)2C)3D)0(16)在C++中,cin是個A)類B)對象C)模板D)函數(shù)(17)在下列字符中,不允許作為C++標(biāo)識符的是A)bB)BC)_D)2(18)下列敘述中,錯誤的是A)false是一個邏輯型常量B)“b"是一個字符型常量0365是一個int常量D)3.1415926是一個double常量(19)若x和y是程序中的兩個整型變量,則下列if語句中正確的是A)if(x==O)y=l;elsey=2;B)if(x==O)theny=lelsey=2;C)if(x==O)y=lelsey=2;D)ifx==0y=l;elsey=2;(20)要定義整型數(shù)組x,使之包括初值為O的三個元素,下列語句中錯誤的是A)intx[3]={0,0,0};B)intx[]={0};Ostaticintx[3]={0};D)intx[]={0,0,0);(21)關(guān)于函數(shù)中的〈返回類型〉,下列表述中錯誤的是A)〈返回類型〉中有可能包含關(guān)鍵字intB)<返回類型〉中有可能包含自定義標(biāo)識符C)〈返回類型〉中有可能包含字符*D)〈返回類型〉中可能包含口(22)要定義一個引用變量p,使之引用類MyClass的一個對象,正確的定義語句是A)MyClassp=MyClass;B)MyClassp=newMyClass;C)MyClass&p=newMyClass;D)MyClassa,&p=a;(23)有如下兩個類定義classXX{private:doublex1;protected:doublex2;public:doublex3;);classYY:protectedXX{private:doubleyl;protected:doubley2;public:doubley3;);在類YY中保護成員變量的個數(shù)是A)1B)2C)3D)4(24)下列關(guān)于運算符重載的描述中,錯誤的是A)可以通過運算符重:載在C++U」創(chuàng)建新的運算符B)賦值運算符只能重載為成員函數(shù)C)運算符函數(shù)重載為類的成員函數(shù)時,第一操作數(shù)是該類對象D)重載類型轉(zhuǎn)換運算符時不需要聲明返回類型(25)下列關(guān)于類模板的描述中,錯誤的是A)類模板的成員函數(shù)都是模板函數(shù)B)可以為類模板參數(shù)設(shè)置默認(rèn)值C)類模板描述了一組類D)類模板中只允許有一個類型參數(shù)(26)下列控制格式輸入輸出的操作符中,能夠設(shè)置浮點數(shù)精度的是A)setprecisionB)setwOsetfillD)showpoint(27)下列程序段中包含4個函數(shù),其中具有隱含this指針的是intfun1();classTest{public:intfun2();friendintfun3();staticintfun4();};A)funlB)fun2C)fun3D)fun4(28)有如下程序#includeusingnamespacestd;classTest{public:Test(){)Test(constTest&t){cout?l;)};Testfun(Test&u){Testt=u;returnt;}intmain。{Testx,y;x=fun(y);return0;}運行這個程序的輸出結(jié)果是A)無輸出B)1C)llD)lll(29)有如下程序#includeusingnamespacestd;classA{public:A(inti=0):rl(i){}voidprint(){cout?*E,?R1?->;}<p>voidprint()const{cout?'C'?R1*R1?*-;}<p>voidprint(intx){cout?*Pf?R1*R1*R1 }<p>private:intrl;intmain(){Aal;constAa2(4);al.print(2);al.print();return0;}運行時的輸出結(jié)果是A)P8-E4B)P8-C16-OP0-E4-D)P0-C16-(30)下列代碼聲明了3個類classPerson{};classStudent:publicPerson{};classUndergraduate:Student{};下列關(guān)于這些類之間關(guān)系的描述中,錯誤的是A)類Person是類Undergraduate的基類B)類Undergraduate從類Student公有繼承C)類Student是類Person的派生類D)類Undergraduate是類Person的派生類(31)有如下程序#includeusingnamespacestd;ClassBase{public:Base(intx=0):valB(x){cout?VALB;}<p>-Base(){cout?VALB;}<p>private:intvalB;};classDerived:publicBase{public:Derived(intx=0,inty=0):Base(x),valD(y){cout?VALD;}<p>-Derived(){cout?VALD;}<p>private:intvalD;);intmain(){Derivedobj12(2,3);retuen0;運行時的輸出結(jié)果是A)2332B)232303232D)3223(32)下面是類Shape的定義:classShape{public:virtualvoidDraw()=O;};下列關(guān)于Shape類的描述中,正確的是A)類Shape是虛基類B)類Shape是抽象類。類Shape中的Draw函數(shù)聲明有誤D)語句“Shapes;”能夠建立Shape的一個對象s(33)將運算符“+”重載為非成員函數(shù),下列原型聲明中,錯誤的是A)MyClockoperator+(MyClock,long);B)MyClockoperator+(MyClock,MyClock);C)MyClockoperator+(long,long);D)MyClockoperator+(long,MyClock);(34)打開文件時可單獨或組合使用下列文件打開模式?ios_base::app@ios_base::binary?ios_base::in@ios_base::out若要以二進制讀方式打開一個文件,需使用的文件打開模式為A)①③B)①④C)②③D)②④(35)有如F程序:#includeusingnamespacestd;ClassB{public:B(intxx):x(xx){++cout;x+=10;}virtualvoidshow()const{cout?COUNT?'_'?X?ENDL;}<p>protected:staticintcount;private:intx;);classD:publicB{public:D(intxx,intyy):B(xx),y(yy){++count;y+=100;}virtualvoidshow()const{cout?COUNT?L'?Y?ENDL;}<p>private:inty;);intB::count=0;intmain(){B*ptr=newD(10,20);ptr->show();deleteptr;return0;)運行時的輸出結(jié)果是A)l_120B)2_120C)l_20D)2_20二、填空題(每空2分,共30分)請將每一個空的正確答案寫在答題卡[1】?【15】序號的橫線上,答在試卷上不得分。(1)一個隊列的初始狀態(tài)為空。現(xiàn)將元素人上?。正下,5,4,3,2,1依次入隊,然后再依次退隊,則元素退隊的順序為【1】。(2)設(shè)某循環(huán)隊列的容量為50,如果頭指針front=45(指向隊頭元素的前一位置),尾指針reaulO(指向隊尾元素),則該循環(huán)隊列中共有【2】個元素。(3)設(shè)二叉樹如下:對該二叉樹進行后序遍歷的結(jié)果為[31o(4)軟件是【4】、數(shù)據(jù)和文檔的集合。(5)有一個學(xué)生選課的關(guān)系,其中學(xué)生的關(guān)系模式為:學(xué)生(學(xué)號,姓名,班級,年齡),課程的關(guān)系模式為:課程(課號,課程名,學(xué)時),其中兩個關(guān)系模式的鍵分別是學(xué)號和課號,則關(guān)系模式選課可定義為:選課(學(xué)號,【5】,成績)。(6)若x和y是兩個整形變量,在執(zhí)行了語句序列x=5;y=6;y+=x—;后,x+y的值為【6】。(7)在執(zhí)行語句序列inti=0;doi++;while(i*i<10);時,do后面的循環(huán)體語句i++被執(zhí)行的次數(shù)為【7】o(8)有如下的函數(shù)定義:intXfun(int*a,intn){intx=*a;for(int*pa=a+1;paoif(*pa>x)x=*pa;returnx;}若執(zhí)行了語句intx[5]={23,46,78,55,16);后,通過表達式Xfun(x,5)調(diào)用該函數(shù),則得到的返回值為【8】o(9)有如下的函數(shù)定義:intXfun(intx){inty=x;{intx=10;y+=x;}returnx+y;)通過表達式Xfun(5)調(diào)用該函數(shù),則得到的返回值為【9】o(10)假定Xcs是一個類,該類中一個成員函數(shù)的原型為“Xcs*abc();",則在類外定義時對應(yīng)的函數(shù)頭為【10】。(11)請將下面的類Date的定義補充完整,使得由語句DateFirstDay;定義的對象FirstDay的值為2010年1月1日。classDate{public:Date([11]):year(y),month(m),day(d){}private:intyear,month,day;〃依次表示年、月、日};(12)請將卜.面的程序補充完整,使得程序輸出“飄是張娜的書”。#includeusingnamespacestd;classBook{public:Book(char*str){strcpy(title,str);JvoidPrintlnfoO{cout?TITLE?ENDL;}<p>protected:chartitle[50];};classMyBook:publicBook{public:MyBook(char*sl,char*s2="張娜){strcpy(owner,s2);)virtualvoidPrintlnfo。{coutvvTITLEvv”是“OWNERvv”的書“vvENDL;}vp>private:charowner[10];};intmain(){Book*prt=newMyBook("飄”);prt->PrintInfo();return0;}(13)在有理數(shù)類Rational中重載插入運算符以便按a/q形式輸出。請將<<運算符函數(shù)的定義補充完整。classRational(public:Rational(intaa,intqq):a(aa),q(qq){}friend[14]operator?(ostream&out,Rational&x)(return(out?X.A?*p??x.q);o)private:inta,q;);(14)下面的函數(shù)定義是某函數(shù)模板能夠生成的函數(shù)實例intsquare(intn){returnn*n;}doublesquare(doublen){returnn*n;}由此可知,該函數(shù)模板的定義是[15]o2007年4月計算機等級考試C++考試及答案一、選擇題(每小題2分,共70分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列敘述中正確的是。A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān).B)算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的.D)算法的時間復(fù)雜度與空間復(fù)雜度一定相關(guān).(2)在結(jié)構(gòu)化程序設(shè)計中,模塊劃分的原則是.A)各模塊應(yīng)包括盡量多的功能B)各模塊的規(guī)模應(yīng)盡量大C)各模塊之間的聯(lián)系應(yīng)盡量緊密D)模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度(3)下列敘述中正確的是。A)軟件測試的主:要目的是發(fā)現(xiàn)程序中的錯誤.B)軟件測試的主要目的是確定程序中錯誤的位置.C)為了提高軟件測試的效率,最好由程序編制者自己來完成軟件測試的工作D)軟件測試是證明軟件沒有錯誤(4)下面選項中不屬于面向?qū)ο蟪绦蛟O(shè)計特征的是。A)繼承性B)多態(tài)性C)類比性D)封裝性(5)下列對列的敘述正確的是。A)隊列屬于非線性表B)隊列按“先進后出”的原則組織數(shù)據(jù)C)隊列在隊尾刪除數(shù)據(jù)D)隊列按“先進先出”原則組織數(shù)據(jù)(6)對下列二叉樹A)DYBEAFCZXB)YDEBFZXCAC)ABDYECFXZD)ABCDEFXYZ(7)某二叉樹中有n個度為2的結(jié)點則該二叉樹中的葉子結(jié)點數(shù)為A)n+1B)n-1C)2nD)n/2(8)在下列關(guān)系運算中,不改變關(guān)系表中的屬性個數(shù)但能減少元組個數(shù)的是。A)井B)交C)投影D)笛卡兒乘積(9)在E-R圖中,用來表示實體之間是聯(lián)系的圖形是.A)矩形B)橢圓形C)菱形D)平行四邊形(10)下列敘述中錯誤的是。A)在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致.B)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題C)數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫D)數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持(11)為了取代C中帶參數(shù)的宏,在C++中使用A)市載函數(shù)B)內(nèi)聯(lián)函數(shù)C)遞歸函數(shù)D)友元函數(shù)(12)下列關(guān)于類定義的說法中,正確的是A)類定義中包括數(shù)據(jù)成員和函數(shù)成員的聲明B)類成員的缺省訪問權(quán)限是保護的C)數(shù)據(jù)成員必須被聲明為私有的D)成員函數(shù)只能在類體外進行定義(13)下列關(guān)于派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的說法中,錯誤的是A)派生類的構(gòu)造函數(shù)會隱含調(diào)用基類的構(gòu)造函數(shù)B)如果基類中沒有缺省構(gòu)造函數(shù),那么派生類必須定義構(gòu)造函數(shù)C)在建立派生類對象時,先調(diào)用基類的構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)D)在銷毀派生類對象時,先調(diào)用基類的析構(gòu)函數(shù),再調(diào)用派生類的析構(gòu)函數(shù)(14)通過運算符重載,可以改變運算符原有的A)操作數(shù)類型B)操作數(shù)個數(shù)C)優(yōu)先級D)結(jié)合性(15)有如下函數(shù)模板:template<classT>Tsouare(Tx)(retumx*x;)基中T是A)函數(shù)形參B)函數(shù)實參C)模板形參D)模板實參(16)使用輸入輸出操作符setw,可以控制A)輸出精度B)輸出寬度C)對齊方式D)填充字符(17)下列字符串中,不可以用作C++標(biāo)識符的是A)y_2006B)TEST_HC)ReturnD)switch(18)字面常量42、4.2、42L的數(shù)據(jù)類型分別是A)long>doubleintB)long>float、intC)int、double>longD)int、float、long(19)執(zhí)行下列語句段后,輸出字符“*”的個數(shù)是for(inti=50;1>1;—i)cout?,,*,tA)48B)49050D)51(20)有如下程序段inti=0,j=1;int&r=i;//①r=j;〃②int*p=&i;〃③*p=&r;//@基中會產(chǎn)生編譯錯誤的語句是A)④B)③C)②D)①(21)有如下函數(shù)定義:voidfunc(inta,int&b){a++;b++;}若執(zhí)行代碼段:intx=O,y=1func(x,y);則變量x和y值分別是A)0和1B)1和1C)0和2D)1和2(22)有如下程序:#include<iostream>usingnamespacestd;classA{publicstaticinta;voidinit(){a=l;}A(inta=2){init();a++;)};intA:;a=0Aobj;Inimain()(cout?obj.a;retumO;}運行時輸出的結(jié)果是A)OB)1C)2D)3(23)下列有關(guān)繼承和派生的敘述中,正確的是A)派生類不能訪問基類的保護成員B)作為虛基類的類不能被實例化C)派生類應(yīng)當(dāng)向基類的構(gòu)造函數(shù)傳遞參數(shù)D)虛函數(shù)必須在派生類中重新實現(xiàn)(24)下列運算符中,不能被重載的是A)&&B)!=C).D)++(25)下列函數(shù)模板的定義中,合法的是template<typenameT>Tabs(Tx){returnx<0-x:x;}templateclass<T>Tabs(Tx){retumx<0-x;x;}templateT<classT.>abs(Tx){returnx<0-x;x;}templateTabs(Tx){returmx<0-x;x;}(26)在語句cin?data;中,cin是A)C++的關(guān)鍵字B)類名C)對象名D)函數(shù)名(27)有如下程序:#include<iostream>usingnamespacestd;classtest{private:inta;public:test(){cout<v''constructor“vvendl;}test(inta){cout?a?endl;}test(consttest&_test)(a=_testa;coul<v"copyconstructor^ccendl;)test(){cout?,,destructor,,?endl;}};intmain()}testA(3)returnO;運行時輸出的結(jié)果是3constructordestruclorcopyconstructor3dstructordestruclor(28)若有如下類聲明classMyClass{public:MyClass(){cout?l;}};執(zhí)行卜列語句MyClassa,b[2],*P[2];以后,程序的輸出結(jié)果是A)11B)111C)1111D1I1I1(29)有如下程序:#include<iostream>usingnamespacestd;classpoint{public:staticintnumber;public:point(){number+4-;?point(){number-;}};imtpoint::number=0;voidmain(){point*ptr;printA,B;(point*ptr_point=newpoint{3};ptr=ptr_point;)pointC;cout?point::number?endl;delete[]ptr;}運行時輸出的結(jié)果是A)3B)406D)7(30)如果不使用多態(tài)機制,那么通過基類的指針雖然可以指向派生類對象,但是只能訪問從基類繼承的成員,有如下程序,沒有使用多態(tài)機制。#include<iostream>usingnamespacestd;classBase{inta,b;public:Bace(intx,inty){a=x;b=y;}Voidshow(){cout?a?,,,?b<<endl;})clsaaDerived:publicBase{intc,d;public:Derived(intx,inty,intz,intm):Base(x,y){c=z;d=m;}Voidshow(){cout?c?,,,d?endl;)};intmain()BaseBl(50,50),*pb;DerivedDI(10,20,30,40);Pb=&Dl;Pb->show();Return0;}運行時輸出的結(jié)果是A)10,20B)30,40020,30D)50,50(31)有如下程序:#inc1ude<iostream>usingnamespacestd;classA(public;A(inti){x=i;}Voidsispa(){cout?x?\,;}Private:intx;);classB;publicA(public;B(inti):A(i+10){x=i;}vouddispb(){dispa();cout?x<,endl;}Private:Intx;);intmain()(Bb(2);b.dispb()return0:}運行時輸出的結(jié)果是A)10,2B)12,10C)12,2D)2,2(32)虛函數(shù)支持多態(tài)調(diào)用,一個基類的指針可以指向派生類的對象,而且通過這樣的指針調(diào)用虛函數(shù)時,,被調(diào)用的是指針?biāo)傅膶嶋H對象的虛函數(shù),而非虛函數(shù)不支持多態(tài)調(diào)用。有如下程序:#include<iostream>usingnamespacestd;classBasepublic:virtualvoidf(){coutvv"fO+'';}voidg(){coutvv"gO+'';}};classDerived:publicBase(public:voidf(){coutvv"f+'';}voidg(){coutvv"g+'';});intmain()(Derivedd;Base*p=&d;p->f();p->g();return0:)運行時輸出的結(jié)果是A)f+g+B)fO+g+C)f+gO+D)fO+gO+(33)下面程序中對一維坐標(biāo)點類Point進行運算符重載#include<iostream>usingnamespacestd;classpoint{public:point(intval){x=val;}point&operator++(){x++;retum*this;}printoperator++(int){pointold=*this,++(*this);retumold;}intGetX()const{returnx;}private:intx;};intmain()(pointa(10);cout?(++a).GetX();cout?a++.GetX();return();)編譯和運行情況是A)運行時輸出1011B)運行時輸出1111C)運行時輸出1112D)編譯有錯(34)有如下程序:#include<iostream>usingnamespacestd;intmain()(charstr[100],*p;cout?^pleaseinputastring:";cin?str;p=str;for(imi=0;*p!=''\0";p++,i++);cout?i?endl;return0;}運行這個程序時,若輸入字符串為abcdefgabed則輸出結(jié)果是A)7B)12013D)100(35)有如下程序::#include<iostream>usingnamespacestd:classSample(friendlongfun(Samples);public:Sample(longa){x=a;}Private:longx;);longfun(Samples)(if(s.x<2)return1;returns.x*fun(Sample(s.x-a));)intmain()(intsum=0for(inti=0;i<6;i++){sum+=fun(Sample(i);)}cout?sum;return0;}運行時輸出的結(jié)果是A)120B)160154D)34二、填空題(每空2分,共30分)請將每一個空的正確答案寫在答題卡[1】?【15】序號的橫線上,答在試卷上不得分。(1)在深度為7的滿二叉樹中,度為2的結(jié)點個數(shù)為【1】。(2)軟件測試分為白箱(盒)測試和黑箱(盒)測試,等價類劃分法屬于【2】測試。(3)在數(shù)據(jù)庫系統(tǒng)中,實現(xiàn)各種數(shù)據(jù)管理體制功能的核心軟件稱為【3】。(4)軟件生命周期可分為多個階段,一般分為定義階段、開發(fā)和維護階段。編碼和測試屬于[4]階段。(5)在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,利用【5】對其中的圖形元素進行確切解釋。(6)C++中只有兩個邏輯常量:true和【6】。(7)若要訪問指針變量p所指向的數(shù)據(jù),應(yīng)使用表達式【7】。(8)已知一個函數(shù)的原型是:intfn(doublex);若要以5.27為實參調(diào)用該函數(shù),應(yīng)使用表達式【8】.(9)有如下定義:classMA{intvalue;public:MA(intn=0):valut(n){});MA*ta,tb;其中MA類的對象名標(biāo)識符是【9】o(10)如下類定義中包含了構(gòu)造函數(shù)和拷貝數(shù)的原型聲明請在橫線處寫正確的內(nèi)容,使拷貝構(gòu)造函數(shù)的聲明完整。ClassmyClass{Private:Intdata:Public:MyClass(intvalue);〃構(gòu)造函數(shù)MyClass(const[10]anotherObject);〃拷貝構(gòu)造函數(shù)}(11)用來派生新類的稱為[111,而派生出的新類稱為它的子類或派生類。(12)有如下程序:#include<iostream>usingnamespacestd;clsaaCA{public:CAD{cout?A';}};classCB;privateCA{public;CB(){cout?B,;});intmain(){cout?B,;)};intmain(){CAa;CBb;retumO;)這個程序的輸出結(jié)果是[12]o(13)若將一個二元運算符重載為類的成員函數(shù),其形參個數(shù)應(yīng)該是[13]個。(14)有如下程序:#include<iostream>usingnamespacestd;classDA{intk;public:DA(intx=l):k(x){}?DA(){cout?k;});intmain(){DAdlJ={DA(3),DA(3),DA(3)};DA*p=newDA[2];delete[]p;retumO;}這個程序的輸出結(jié)果是【14】o(15)C++語言中的多態(tài)性分為編譯時的多態(tài)性和【15】時的多態(tài)性。2007年4月計算機等級考試C++考試答案選擇題:1-5BDACD6-10CABCA11-15BADAC16-20BCDBA21-25CCCCA26-30CDBDA30-35CBBBC填空:1、637里合乙、7v>?nn.3、DBMS4、開發(fā)5、數(shù)據(jù)字典6、false7、*P8、fn(5.27)9、tb10、myclass&
11、基類12、AAB13、1個14、1133315、運行2007年9全國計算機等級考試二級筆試試卷C++語言程序設(shè)計(考試時間90分鐘,滿分100分)一、選擇題(每小題2分,共70分)下列個體A、B、C、D四個選項重,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置匕答在試卷上不得分。(1)軟件是指A程序A程序C算法加數(shù)據(jù)結(jié)構(gòu)B程序和文檔D程序、數(shù)據(jù)與相關(guān)文檔的完整集合(2)軟件調(diào)試的H(2)軟件調(diào)試的H的是A發(fā)現(xiàn)錯誤C改善軟件的性能改正錯誤驗證軟件的正確性(3)在面對對象方法中,實現(xiàn)信息隱蔽是依靠A對象的繼承CA對象的繼承C對象的封裝D對象的分類(4)下列敘述重,不符合良好程序設(shè)計風(fēng)格要求是A程序的效率第一,清晰第二B程序的可讀性好C程序中要有必要的注釋 D輸入數(shù)據(jù)前要有提示信息(5)下列敘述中正確的是A程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)B程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)C程序執(zhí)行的效率之取決于所處理的數(shù)據(jù)量D以上三種說法都不對(6)下列敘述中正確的是A數(shù)據(jù)的輸入結(jié)構(gòu)與存儲結(jié)構(gòu)必定是——對應(yīng)的B計算機存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)C程序設(shè)計語言中的數(shù)組一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D以上三種說法都不對(7)冒泡排序在最壞的情況下的比較次數(shù)是An(n+1)/2Bnlog2n Cn(n-1)/2 Dn/2(8)一棵二叉樹中共有70個葉子結(jié)點于80個度為I的結(jié)點,則該二叉樹重的總結(jié)點數(shù)為A219 B22l C229 D221(9)下列敘述重正確的是A數(shù)據(jù)庫系統(tǒng)是一個獨立的系統(tǒng),它需要操作系統(tǒng)的支持B數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題C數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)D以上說法都不正確(10)下列敘述中正確的是A為了建立一個關(guān)系,首先是要構(gòu)造數(shù)據(jù)的邏輯關(guān)系B表示關(guān)系的二維表中各各組的每一個分量還可以分成若干數(shù)據(jù)項C一個關(guān)系的屬性名稱為關(guān)系模式D一個關(guān)系可以包括多個二維表(II)在函數(shù)中,可以用auto,extern,register,和static這四個關(guān)鍵字中的一個來說明變量的存儲類型,如果不說明存儲類型,則默認(rèn)的存儲類型是Aauto Bextern Cregister Dstatic(12)對于一個類定義,下列敘述中錯誤的是A如果沒有定義拷貝構(gòu)造函數(shù),編譯器將生成一個拷貝構(gòu)造函數(shù)B如果沒有定義缺省的構(gòu)造函數(shù),編譯器將一定生成一個缺省的構(gòu)造函數(shù)C如果沒有定義構(gòu)造函數(shù),編譯器將生成一個缺省的構(gòu)造函數(shù)和一個拷貝構(gòu)造函數(shù)D如果已經(jīng)定義了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù),編譯器不會生成任何構(gòu)造函數(shù)(13)如果派生類以public方式繼承基類,則原基類的protected成員和public成員在派生類中的訪問類型分別是Apublic和public Bpublic和protectedCprotected和public Dprotected和protected(14)下列運算符函數(shù)中肯定不屬于類FunNumber的成員函數(shù)的是Aintoperator-(FunNumber)BFunNumberoperator-()CFunNumberoperator-(int)Dintoperator—(FunNumber)(15)C++中的模板包括A對象模板和函數(shù)模板 B對象模板和類模板C函數(shù)模板和類模板 D變量模板和對象模板(16)如果調(diào)用C++流進行輸入輸出,下面的敘述中正確的是A只能借助于流對象進行輸入輸出B只能進行格式化輸入輸出C只能借助于cin和cout進行輸入輸出D只能使用運算符》和《進行輸入輸出(17)下列富豪中不屬于C++關(guān)犍字的是Afriend BnamespaceCcontinue Dbyte(18)下列各組的量申明中,含義相同的一組是Aunsignedlongint和long Bsignedshortint和shortBunsignedshort和short Dshortint和int(19)必須用一對打括號括起來的程序段是Aswitch語句中的case標(biāo)號語句Bif語句的分支C循環(huán)語句的循環(huán)體D函數(shù)的函數(shù)體(20)語句的int*p=&k定義于指針P,于這個語句等效的語句序列是Aint*p;p=&k Bint*p;p=kCint*p;*p=&k Dint*p;*p=k(21)關(guān)于函數(shù)重載,下列敘述中錯誤的是A重載函數(shù)的函數(shù)名必須相同B重載函數(shù)必須在函數(shù)個數(shù)或類型上有所不同C重載函數(shù)的返回值類型必須相同D重載函數(shù)的函數(shù)體可以有所不同(22)有如下頭文件Intf1();Staticintf2();ClassMA{PublicIntf3();Staticintf4(););在所描述的函數(shù)中,具有隱含的this指針的是Afi Bf2 Cf3 Df4(23)派生類的成員函數(shù)不能訪問基類的A共有成員和保護成員 B共有成員C私有成員 D保護成員(24)下列關(guān)于運算符重載的描述中,正確的是A運算符重載為成員函數(shù)時,若參數(shù)表中五參數(shù),重載的是一元運算符B一元運算符只能作為成員函數(shù)重載C二元運算符重載為非成員函數(shù)時,參數(shù)表中有一個參數(shù)DC++中可以重載所有的運算符(25)F列關(guān)于類模板的模板參數(shù)的敘述中,錯誤的是A模板參數(shù)可以作為數(shù)據(jù)成員的類型B模板參數(shù)可以作為成員函數(shù)的返回類型C模板參數(shù)可以作為成員函數(shù)的參數(shù)類型D模板函數(shù)不能作為成員函數(shù)的局部變量的類型(26)已知一程序運行后執(zhí)行的第一個輸出操作是Cout?setw(10)?setfill(*)<<1234則此操作的輸出結(jié)構(gòu)是A1234 b******1234
C**********j234d1234******(27)有如下程序#include<iostrcam>Usingnamespacestd;Classmyclass{Public:MyClass(){++count;}-MyClass(){-count;}Staticintgetcount(){returncount;}PrivateStaticintcount;);IntMyClass::count=0;Intmain(){Myclassobj;Cout?obj,getCount();MyClass*ptr=newMyClass;Cout?MyClass::getcount();Deleteptr;Cout?MyClass::gercount();程序的輸出結(jié)果是A121B232 C221D122程序的輸出結(jié)果是A121B232 C221D122(28)有如下程序ttinclude<iostream>Usingnamespacestd;ClassMyclass<Public;Myclassconst(x):ual(x)<}Uoidprint()const<cout<<^const:ual=w<<ual<<\tw;}Uoidprint()<cout<<ual=^<<ual<<\t ;}Priuate;Intual;>;Intnain(){Constmyclassobj1(10);Myclassobj2(20);Obj1.print();0bj2.print();Return();程序的輸出結(jié)果是Aval=lOconst:val=20Bconst:val=lOconst:val=20Cconst:val=lODval=lOval=20val=20(29)有如下程序#include<iostream>Usingnamespacestd;Classpart{Public;Part(intx=(\):val(x){cout?val;}-part(){cout?val;}Private;Intval;);Classwhole{Public;Whole(intx,inty,intz=0):p2(x),p1(y),val(z){cout?val;}Whole(){countyval;}Private;Partpl,p2;Intval;I;Intmaint{Wholeobj(l,2,3);Restum();)程序輸出的結(jié)果是A123321B213312 C213(30)有如下程序:#include<iostream>Usingnamespacestd;Classbase{Public:Base(intx=0){cout?x;}};Classderived:publicbase{Public:Derivedrin(x=y){cout?x;}Priblic:Baseval;);Intmain(){Derivedd(!);Return();}程序的輸出結(jié)果是AOB1 C01 D001(31)若有如F類定義:ClasssB{Voidfun(){}Protected;Doublevarl;Public:Voidfun2(){});ClassD:publicB{Protected;Voidfun3(){});已知obj是類D的對象,下列語句中不違反成員訪問控制的權(quán)限的是Aobj.funl(); Bobj.varl;Cobj.fun2();Dobj.fun3();(32)有如下程序:#include<iostream>Usingnamespacesid;Classbase{Public;Voidoutput(){cout?1;}Virtualvoidprint(){cout?B;});Classderived:publicbase{Public:Voidoutput(){cout?2;)Voidprint(){cout?,D,;});Intmain()Base*passnewderived;Ptr->output();Ptr->print();Deleteptr;Retum();)程序的輸出結(jié)果是AIBBIDC2BD2D下列是重載乘法運算的函數(shù)原型聲明,其中錯誤的是Amyclassoperator*(double,double);Bmyclassoperator*(double,myclass);Cmyclassoperator*(myclass,double);Dmyclassoperator*(myclass,myclass);
(34)如下函數(shù)的作用是以雙倍行距輸出文件:Uoiddouble_space(ifstream&F,ofstrean&t)<Charc;While()<If(c=&n,)t..put(c),>Bf.put(c)與t?Bf.put(c)與t?get(c)Dt?put(c)與F.get(c)Af.get(c)與t?put(c)Ct.ger(c)與19式((:)(35)有如下程序:#include<doslream>Usingnamespacestd:ClassB(Public:Virtualvoidshow(){coutvv"b";}};ClassD:publicB{Public:Voidshow(){cout?D;}};Voidfun1(B*ptr){ptr->show();}Voidfun2(B&ref){ref.show();)Voidfun3(Bb){b.show();}Intmain(){Bb,*p=newD;Dd;Funl(p);Fun2(b);Fun3(d);Retum();)程序的輸出結(jié)果是ADBDBBBDCDBBDDBD二、填空題(每空2分,共三十分).請將每一個空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。.軟件需求規(guī)格說明書應(yīng)具有完整性、無歧視性、正確性、可驗證性、可修改性等特征,最重要的是..在兩種基本測試方法中測試的原則之一是保證所測模板中每一個獨立路徑至少要執(zhí)行一次。.線性表的存儲結(jié)構(gòu)主要分為順序存儲結(jié)構(gòu)和鏈?zhǔn)絻Υ娼Y(jié)構(gòu)。隊列中是一種特殊的線性表。循環(huán)隊列是隊列的存儲結(jié)構(gòu)。.對下列二叉樹進行中序遍歷的結(jié)果為..在E-R圖中,矩形屬于在有定義語句:inta=3,b=2,c=l;則表達式a<b?a:b的值是.執(zhí)行下列語句后,變量sum的值是一.Intsum=0;For(intj=I;j<=I;j++)For(intj=I;j<=I;j++)Sum++;.己知有函數(shù)f的定義如下:Intf(){Staticint-6;s-2;returns)則在某程序中第二次執(zhí)行函數(shù)用語句f();時,函數(shù)f的返回值是.(9)已知如下程序得輸出結(jié)果時23,請將劃線處缺失得部分補充完整。#include<iostream>Usingnamespacestd;Classmyclass{Public:Voidprint()cout{cout?23;})Intmain(){Myclass*p=newmyclass(); print();Return();Classsample{Public:Sample(){}(13)有如下復(fù)數(shù)類的聲明,請補充完整。Classcomplex(Doublereal;〃實部Doubleinag;〃虛部Public:Comple(doublex.doubley){Real=x;Imag=y;>、、_Complexoperator*(conplexc)《〃重載加法運算符”+Returncomplex();>(14)請將如下程序補充完整,使得輸出結(jié)果為bbaa#include<iostream>Usingnamespacestd;ClassA{Public:{cout?,,aa,,;J);ClassB:publicA{Public:?B(){coutvv“bb”;});Intmain(){B*p=newB;Deletep;Retum();)(15)請將下列棧類stack補充完整Classstack{Private;Intplist[100]: //int數(shù)組,用于存放棧的元素Inttop; 〃棧頂元素(數(shù)組下標(biāo))Public:Stack():top(0){}Voidpush(sonsint&item);〃新元素item壓入棧Intpop(void); 〃將棧頂元素彈出棧);Voidstack::pbsh(constint&item){If(top==99) 〃如果棧滿,程序結(jié)束Exit(l);Top++; 〃棧頂指針增1_[15]—;)Intstack::pop(){lf(top<0) 〃如果???,程序結(jié)束Exit(l);Returnplish[top-];}參考答案l-10:DBCAACCABBll-20:ABDDCADBDA21-30:CCCADBACDC31-35:CDAADL無歧性.邏輯覆蓋.鏈?zhǔn)?.ACBDFHGPE5.實體9
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際貿(mào)易代理基礎(chǔ)知識考核試卷
- 珠寶首飾表面處理技術(shù)考核試卷
- 玻璃制品耐候性測試與優(yōu)化考核試卷
- 稻谷種植農(nóng)業(yè)氣象服務(wù)需求與供給考核試卷
- 新材料新技術(shù)引領(lǐng)可持續(xù)發(fā)展的新方向考核試卷
- 果蔬汁飲料的企業(yè)文化與品牌建設(shè)考核試卷
- 紡織企業(yè)成本分析與控制考核試卷
- 勞務(wù)派遣企業(yè)招聘渠道分析與優(yōu)化考核試卷
- 濟南大學(xué)《模特經(jīng)紀(jì)管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西服裝學(xué)院《嬰幼兒護理與急救》2023-2024學(xué)年第二學(xué)期期末試卷
- 水資源論證工作大綱
- 中考物理命題培訓(xùn)講座
- 生產(chǎn)安全事故風(fēng)險評估報告(參考模板)
- 125萬噸硫鐵礦斜坡道施工組織設(shè)計
- 畢業(yè)設(shè)計10層框架—剪力墻結(jié)構(gòu)體系設(shè)計計算書
- 東南大學(xué)論文模板v1.1
- 神經(jīng)系統(tǒng)體格檢查-PPT課件
- 賽英公司FOD監(jiān)測雷達系統(tǒng)
- 固體制劑車間主要過程控制點
- 膿毒癥的診療規(guī)范 中醫(yī)
- 關(guān)于基礎(chǔ)底板“跳倉法”施工熱工計算
評論
0/150
提交評論