全國計算機等級考試(二級c++)歷年真題及答案_第1頁
全國計算機等級考試(二級c++)歷年真題及答案_第2頁
全國計算機等級考試(二級c++)歷年真題及答案_第3頁
全國計算機等級考試(二級c++)歷年真題及答案_第4頁
全國計算機等級考試(二級c++)歷年真題及答案_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

全國計算機等級考試二級筆試試卷公共基礎(chǔ)知識及C++語言程序設(shè)計(考試時間90分鐘,滿分100)分)一、選擇題((1)~(35)每小題2分,共70分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下面敘述正確的是A)算法的執(zhí)行效率及數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B)算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)C)算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止D)以上三種描述都不對(2)以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是A)隊列B)線性表C)二叉樹D)棧(3)在一棵二叉樹上第5層的結(jié)點數(shù)最多是A)8B)16C)32D)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)詳細設(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'||ch>='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:case2:cout<<'1';case3:case4:cout<<'2';break;default:cout<<'3';時,若鍵盤輸入1,則屏幕顯示A)1B)2C)3D)12(15)下列程序的輸出結(jié)果是#include<iostream>usingnamespacestd;intmain()chara[]="Hello,World";char*ptr=a;while(*ptr)if(*ptr>='a'&&*ptr<='z')cout<<char(*ptr+'A'-'a');elsecout<<*ptr;ptr++;return0;A)HELLO,WORLDB)Hello,WorldC)hELLO,wORLDD)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=0);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)1,0,2,0,(20)已知函數(shù)f的原型是:voidf(int*a,long&b);變量v1、v2的定義是:intv1;longv2;,正確的調(diào)用語句是A)f(v1,&v2);B)f(v1,v2);C)f(&v1,v2);D)f(&v1,&v2);(21)有以下類定義classMyClasspublic:MyClass(){cout<<1;}則執(zhí)行語句MyClassa,b[2],*p[2];后,程序的輸出結(jié)果是A)11B)111C)1111D)11111(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;classMyClasspublic:MyClass(intn){number=n;}//拷貝構(gòu)造函數(shù)MyClass(MyClass&other){number=other.number;}~MyClass(){}private:intnumber;MyClassfun(MyClassp)MyClasstemp(p);returntemp;intmain()MyClassobj1(10),obj2(0);MyClassobj3(obj1);obj2=fun(obj3);return0;程序執(zhí)行時,MyClass類的拷貝構(gòu)造函數(shù)被調(diào)用的次數(shù)是A)5B)4C)3D)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ù)的原型中,錯誤的是A)Volumeoperator-(double,double);B)doubleVolume::operator-(double);C)VolumeVolume::operator-(Volume);D)Volumeoperator-(Volume,Volume);(30)下列是模板聲明的開始部分,其中正確的是A)template<T>B)template<classT1,T2>C)template<classT1,classT2>D)template<classT1;classT2>(31)執(zhí)行語句序列ofstreamoutfile("DATA.DAT");if(...)cout<<"OK";elsecout<<"FAIL";后,如果文件打開成功顯示“OK”,否則就顯示“F厶n?!?。由此可知,上面if語句的...處的表達式應(yīng)是A)out()或outfileB)out()或!outfileC)out()或outfileD)out()或!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<<','<<_y<<')'<<endl;}private:int_x,_y;下列語句中會發(fā)生編譯錯誤的是A)Pointpt;pt.Print();B)constPointpt;pt.Print();C)Pointpt;pt.Move(l,2);D)constPointpt;pt.Move(l,2);(34)有以下類定義classMyClassprivate:intid;chargender,char*phone;public:MyClass():id(0),gender('#'),phone(NULL){}MyClass(intno,charge='#',char*ph=NULl.){id=no;gende=ge;phone=ph;}下列類對象定義語句中錯誤的是A)MyClassmyObj;B)MyClassmyObj(11,"");C)MyClassmyObj(12,'m');D)MyClassmyObj(12);(35)有以下程序#include<iostream>usingnamespacestd;classComplexpublic: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.imag()<<'i'<<endl;return0;程序執(zhí)行后的輸出結(jié)果是A)6+6iB)6+1iC)1+6iD)1+1i二、填空題(每空2分,共30分)請將每一個空的正確答案寫在答題卡[1]-[15]序號的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須拼寫完整。(1)算法的復(fù)雜度主要包括[1]復(fù)雜度與空間復(fù)雜度。(2)數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的[2]。(3)若按功能劃分,軟件測試的方法通常分為白盒測試方法與[3]測試方法。(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é)果是[6]。(7)從實現(xiàn)的角度劃分,C++所支持的兩種多態(tài)性分別是[7]時的多態(tài)性與運行時的多態(tài)性。(8)將—個函數(shù)聲明為一個類的友元函數(shù)必須使用關(guān)鍵字[8]。(9)請按下面注釋的提示,將類B的構(gòu)造函數(shù)定義補充完整。classAinta;public:A(intaa=0){a=aa;}classB:publicA{intb;Ac;public://用aa初始化基類A,用aa+1初始化類對象成員cB(intaa):[9]{b=aa+2;}(10)下列程序的輸出結(jié)果是[10]。#include<iostream>usingnamespacestd;intmain()inti=5;int&r=i;r=7;cout<<i<<endl;return0;(11)下列程序的輸出結(jié)果是[11]。#include<iostream>usingnamespacestd;classTest{public:Test(){cnt++;}~Test(){cnt--;}staticintCount(){returncnt;}private:staticintcnt;intTest::cnt=0;intmain()cout<<Test::Count0<<'';Testtl,t2;Test*pT3=newTest;Test*pT4=newTest;cout<<Test::Count0<<'';deletepT4;deletepT3;cout<<Test::Count()<<endl;return0;(12)下面是用來計算n的階乘的遞歸函數(shù),請將該函數(shù)的定義補充完整。(注:階乘的定義是n!=n*(n-1)*...*2*1)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]。#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(1);deriveBd2(3);base*pbase;pbase=&dl;pbase->aet(1);pbase=&d2;pbase->set(2);return0;2004年9月全國計算機等級考試二級筆試試卷公共基礎(chǔ)知識及C++語言程序設(shè)計答案及評分標(biāo)準(zhǔn)選擇題((1)—(35)每小題2分,共70分)(1)C(2)C(3)B(4)A(5)D(6)B(7)D(8)B(9)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(31)C(32)B(33)D(34)B(35)B二、填空題(每空2分,共30分)(1)[1]時間(2)[2]存儲結(jié)構(gòu)或物理結(jié)構(gòu)或物理存儲結(jié)構(gòu)(3)[3]黑盒或黑箱(4)[4]一對多或1對多或I:M或I:N(其中M、N大小寫均可)(5)[5]投影(6)[6]60(7)[7]編譯(8)[8]friend(9)[9]A(aa),c(aa+1)或c(aa+1),A(aa)(10)[10]7(11)[11]042(12)[12]n*fact(n-1)(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ù)為(log2n)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)軟件詳細設(shè)計的工具C)結(jié)構(gòu)化方法的需求分析工具D)面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?6)軟件生命周期可分為定義階段,開發(fā)階段與維護階段。詳細設(shè)計屬于A)定義階段B)開發(fā)階段C)維護階段D)上述三個階段(7)數(shù)據(jù)庫管理系統(tǒng)中負責(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è)計階段(10)有兩個關(guān)系R與T如下:則由關(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是一個類名,且有如下語句序列MyClassc1,*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)frlendDecroperator--(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"是一個字符型常量C)365是一個int常量D)3.1415926是一個double常量(19)若x與y是程序中的兩個整型變量,則下列if語句中正確的是A)if(x==0)y=1;elsey=2;B)if(x==0)theny=1elsey=2;C)if(x==0)y=1elsey=2;D)ifx==0y=1;elsey=2;(20)要定義整型數(shù)組x,使之包括初值為O的三個元素,下列語句中錯誤的是A)intx[3]={0,0,0};B)intx[]={0};C)staticintx[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:doubley1;protected:doubley2;public:doubley3;在類YY中保護成員變量的個數(shù)是A)1B)2C)3D)4(24)下列關(guān)于運算符重載的描述中,錯誤的是A)可以通過運算符重載在C++中創(chuàng)建新的運算符B)賦值運算符只能重載為成員函數(shù)C)運算符函數(shù)重載為類的成員函數(shù)時,第一操作數(shù)是該類對象D)重載類型轉(zhuǎn)換運算符時不需要聲明返回類型(25)下列關(guān)于類模板的描述中,錯誤的是A)類模板的成員函數(shù)都是模板函數(shù)B)可以為類模板參數(shù)設(shè)置默認值C)類模板描述了一組類D)類模板中只允許有一個類型參數(shù)(26)下列控制格式輸入輸出的操作符中,能夠設(shè)置浮點數(shù)精度的是A)setprecisionB)setwC)setfillD)showpoint(27)下列程序段中包含4個函數(shù),其中具有隱含this指針的是intfun1();classTest{public:intfun2();friendintfun3();staticintfun4();A)fun1B)fun2C)fun3D)fun4(28)有如下程序#includeusingnamespacestd;classTest{public:Test(){}Test(constTest&t){cout<<1;}Testfun(Test&u){Testt=u;returnt;}intmain(){Testx,y;x=fun(y);return0;}運行這個程序的輸出結(jié)果是A)無輸出B)1C)11D)111(29)有如下程序#includeusingnamespacestd;classA{public:A(inti=0):r1(i){}voidprint(){cout<<'E’<<R1<<'-';}<p>voidprint()const{cout<<'C'<<R1*R1<<'-';}<p>voidprint(intx){cout<<'P'<<R1*R1*R1<<'-';}<p>private:intr1;intmain(){Aa1;constAa2(4);a1.print(2);a1.print();return0;運行時的輸出結(jié)果是A)P8-E4B)P8-C16-C)P0-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)2323C)3232D)3223(32)下面是類Shape的定義:classShape{public:virtualvoidDraw()=0;下列關(guān)于Shape類的描述中,正確的是A)類Shape是虛基類B)類Shape是抽象類C)類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)有如下程序:#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<<'_'<<Y<<ENDL;}<p>private:inty;intB::count=0;intmain(){B*ptr=newD(10,20);ptr->show();deleteptr;return0;運行時的輸出結(jié)果是A)1_120B)2_120C)1_20D)2_20二、填空題(每空2分,共30分)請將每一個空的正確答案寫在答題卡【l】~【15】序號的橫線上,答在試卷上不得分。(1)一個隊列的初始狀態(tài)為空?,F(xiàn)將元素A,B,C,D,E,F,5,4,3,2,1依次入隊,然后再依次退隊,則元素退隊的順序為【1】。(2)設(shè)某循環(huán)隊列的容量為50,如果頭指針front=45(指向隊頭元素的前一位置),尾指針rear=10(指向隊尾元素),則該循環(huán)隊列中共有【2】個元素。(3)設(shè)二叉樹如下:對該二叉樹進行后序遍歷的結(jié)果為【3】。(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】。(8)有如下的函數(shù)定義:intXfun(int*a,intn){intx=*a;for(int*pa=a+1;pa<>if(*pa>x)x=*pa;returnx;若執(zhí)行了語句intx[5]={23,46,78,55,16};后,通過表達式Xfun(x,5)調(diào)用該函數(shù),則得到的返回值為【8】。(9)有如下的函數(shù)定義:intXfun(intx){inty=x;{intx=10;y+=x;}returnx+y;通過表達式Xfun(5)調(diào)用該函數(shù),則得到的返回值為【9】。(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);}【12】voidPrintInfo(){cout<<TITLE<<ENDL;}<p>protected:chartitle[50];classMyBook:publicBook{public:MyBook(char*s1,char*s2="張娜"):【13】{strcpy(owner,s2);}virtualvoidPrintInfo(){cout<<TITLE<<"是"OWNER<<"的書"<<ENDL;}<p>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);<>private:inta,q;(14)下面的函數(shù)定義是某函數(shù)模板能夠生成的函數(shù)實例intsquare(intn){returnn*n;}doublesquare(doublen){returnn*n;}由此可知,該函數(shù)模板的定義是【15】。2007年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)RetumD)switch

(18)字面常量42、4.2、42L的數(shù)據(jù)類型分別是

A)long、doubleintB)long、float、int

C)int、double、longD)int、float、long

(19)執(zhí)行下列語句段后,輸出字符“*”的個數(shù)是

for(inti=50;I>1;—i)cout<<”*”

A)48B)49C)50D)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=0,y=1

func(x,y);

則變量x與y值分別是

A)0與1B)1與1C)0與2D)1與2

(22)有如下程序:

#include<iostream>

usingnamespacestd;

classA{

public

staticinta;

voidinit(){a=1;}

A(inta=2){init();a++;}

};

intA:;a=0

Aobj;

Intmain()

{

cout<<obj.a;

retum0;

}

運行時輸出的結(jié)果是

A)0B)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ù)模板的定義中,合法的是

A)template<typenameT>Tabs(Tx){returnx<0–x:x;}

B)templateclass<T>Tabs(Tx){retumx<0-x;x;}

C)templateT<classT.>abs(Tx){retumx<0-x;x;}

D)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<<”constructor”<<endl;}

test(inta){cout<<a<<endl;}

test(consttest&_test)

{

a=_testa;

cout<<”copyconstructor”<<endl;

}

test(){cout<<”destructor”<<endl;}

};

intmain()

}

testA(3)

return0;

運行時輸出的結(jié)果是

A)3

B)constructor

destruclor

C)copyconstructor

D)3

dstructordestruclor

(28)若有如下類聲明

classMyClass{

public:

MyClass(){cout<<1;}

};

執(zhí)行下列語句

MyClassa,b[2],*P[2];

以后,程序的輸出結(jié)果是

A)11B)111C)1111D11111

(29)有如下程序:

#include<iostream>

usingnamespacestd;

classpoint{

public:

staticintnumber;

public:

point(){number++;

~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)4C)6D)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()

{

BaseB1(50,50),*pb;

DerivedDI(10,20,30,40);

Pb=&D1;

Pb->show();

Return0;

}

運行時輸出的結(jié)果是

A)10,20B)30,40C)20,30D)50,50

(31)有如下程序:

#include<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()

retum0:

}

運行時輸出的結(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;

classBase

{

public:

virtualvoidf(){cout<<”f0+”;}

voidg(){cout<<”g0+”;}

};

classDerived:publicBase

{

public:

voidf(){cout<<”f+”;}

voidg(){cout<<”g+”;}

};

intmain()

{

Derivedd;

Base*p=&d;

p->f();p->g();

return0:

}

運行時輸出的結(jié)果是

A)f+g+B)f0+g+C)f+g0+D)f0+g0+

(33)下面程序中對一維坐標(biāo)點類Point進行運算符重載

#include<iostream>

usingnamespacestd;

classpoint{

public:

point(intvaI){x=val;}

point&operator++(){x++;retum*this;}

printoperator++(int){pointold=*this,++(*this);retumold;}

intGetX()const{retumx;}

private:

intx;

};

intmain()

{

pointa(10);

cout<<(++a).GetX();

cout<<a++.GetX();

retum();

}

編譯與運行情況是

A)運行時輸出1011

B)運行時輸出1111

C)運行時輸出1112

D)編譯有錯

(34)有如下程序:

#include<iostream>

usingnamespacestd;

intmain()

{

charstr[100],*p;

cout<<”pleaseinputastring:”;

cin>>str;

p=str;

for(inti=0;*p!=”\0”;p++,i++);

cout<<i<<endl;

retum0;

}

運行這個程序時,若輸入字符串為

abcdefgabcd

則輸出結(jié)果是

A)7B)12C)13D)100

(35)有如下程序::

#include<iostream>

usingnamespacestd:

classSample

{

friendlongfun(Samples);

public:

Sample(longa){x=a;}

Private:

longx;

};

longfun(Samples)

{

if(s.x<2)retum1;

retums.x*fun(Sample(s.x-a));

}

intmain()

{

intsum=0

for(inti=0;i<6;i++){sum+=fun(Sample(i);)}

cout<<sum;

retum0;

}

運行時輸出的結(jié)果是

A)120B)16C)154D)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】。

(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)用來派生新類的稱為【11】,而派生出的新類稱為它的子類或派生類。

(12)有如下程序:

#include<iostream>

usingnamespacestd;

clsaaCA{

public:

CAD{cout<<A’;}

};

classCB;privateCA{

public;

CB(){cout<<B’;}

};

intmain(){cout<<B’;}

};

intmain(){

CAa;

CBb;

retum0;

}

這個程序的輸出結(jié)果是【12】。

(13)若將一個二元運算符重載為類的成員函數(shù),其形參個數(shù)應(yīng)該是【13】個。

(14)有如下程序:

#include<iostream>

usingnamespacestd;

classDA{

intk;

public:

DA(intx=1):k(x){}

~DA(){cout<<k;}

};

intmain(){

DAd[]={DA(3),DA(3),DA(3)};

DA*p=newDA[2];

delete[]p;

return0;

}

這個程序的輸出結(jié)果是【14】。

(15)C++語言中的多態(tài)性分為編譯時的多態(tài)性與【15】時的多態(tài)性。2007年4月計算機等級考試C++考試答案選擇題:1-5BDACD6-10CABCA11-15BADAC16-20BCDBA21-25CCCCA26-30CDBDA30-35CBBBC填空:1、63

2、黑盒

3、DBMS

4、開發(fā)

5、數(shù)據(jù)字典

6、false

7、*P

8、fn(5.27)

9、tb10、myclass&

11、基類

12、AAB

13、1個

14、11333

15、運行2007年9全國計算機等級考試二級筆試試卷C++語言程序設(shè)計(考試時間90分鐘,滿分100分)一、選擇題(每小題2分,共70分)下列個體A、B、C、D四個選項重,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)

軟件是指A程序B程序與文檔C算法加數(shù)據(jù)結(jié)構(gòu)D程序、數(shù)據(jù)及相關(guān)文檔的完整集合(2)軟件調(diào)試的目的是A發(fā)現(xiàn)錯誤B改正錯誤C改善軟件的性能D驗證軟件的正確性(3)在面對對象方法中,實現(xiàn)信息隱蔽是依靠A對象的繼承B對象的多態(tài)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以上三種說法都不對(8)一棵二叉樹中共有70個葉子結(jié)點于80個度為1的結(jié)點,則該二叉樹重的總結(jié)點數(shù)為A219B221C229D221(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)系可以包括多個二維表(11)在函數(shù)中,可以用auto,extem,register,與static這四個關(guān)鍵字中的一個來說明變量的存儲類型,如果不說明存儲類型,則默認的存儲類型是AautoBextemCregisterDstatic(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與publicBpublic與protectedCprotected與publicDprotected與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)鍵字的是AfriendBnamespaceCcontinueDbyte(18)下列各組的量申明中,含義相同的一組是Aunsignedlongint與longBsignedshortint與shortBunsignedshort與shortDshortint與int(19)必須用一對打括號括起來的程序段是Aswitch語句中的case標(biāo)號語句Bif語句的分支C循環(huán)語句的循環(huán)體D函數(shù)的函數(shù)體(20)語句的int*p=&k定義于指針P,于這個語句等效的語句序列是Aint*p;p=&kBint*p;p=kCint*p;*p=&kDint*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指針的是Af1Bf2Cf3Df4(23)派生類的成員函數(shù)不能訪問基類的A共有成員與保護成員B共有成員C私有成員D保護成員(24)下列關(guān)于運算符重載的描述中,正確的是A運算符重載為成員函數(shù)時,若參數(shù)表中五參數(shù),重載的是一元運算符B一元運算符只能作為成員函數(shù)重載C二元運算符重載為非成員函數(shù)時,參數(shù)表中有一個參數(shù)DC++中可以重載所有的運算符(25)下列關(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)是A1234B******1234C**********1234D1234******(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();Return();程序的輸出結(jié)果是A121B232C221D122程序的輸出結(jié)果是Aval=10const:val=20Bconst:val=10const:val=20Cconst:val=10val=20Dval=10val=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(){count,,val;}Private;Partp1,p2;Intval;Intmaint{Wholeobj(1,2,3);Resturn();程序輸出的結(jié)果是A123321B213312C213(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é)果是A0B1C01D001(31)若有如下類定義:ClasssB{Voidfun(){}Protected;Doublevarl;Public:Voidfun2(){}ClassD:publicB{Protected;Voidfun3(){}已知obj是類D的對象,下列語句中不違反成員訪問控制的權(quán)限的是A

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論