國家二級C++機(jī)試(選擇題)模擬試卷27(共190題)_第1頁
國家二級C++機(jī)試(選擇題)模擬試卷27(共190題)_第2頁
國家二級C++機(jī)試(選擇題)模擬試卷27(共190題)_第3頁
國家二級C++機(jī)試(選擇題)模擬試卷27(共190題)_第4頁
國家二級C++機(jī)試(選擇題)模擬試卷27(共190題)_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

國家二級C++機(jī)試(選擇題)模擬試卷27(共9套)(共190題)國家二級C++機(jī)試(選擇題)模擬試卷第1套一、選擇題(本題共24題,每題1.0分,共24分。)1、有如下程序:#includeusingnamespacestd;intmain(){inti,s=0;for(i=l;s<20;i+=2)s+=i*i;cout<<i<<endl;return0:)運(yùn)行這個程序的輸出結(jié)果是()。A、3B、5C、7D、9標(biāo)準(zhǔn)答案:C知識點解析:在這段程序中for循環(huán)共執(zhí)行3次,每次循環(huán)變量i的值增2,在執(zhí)行第二次循環(huán)語句時,變量s的值等于25,大于20而退出循環(huán),此時再執(zhí)行循環(huán)變量i加2運(yùn)算,所以最后變量i的值等于7。2、假定MyClass為一個類,那么下列的函數(shù)說明中,()為該類的析構(gòu)函數(shù)。A、void~MyClass();B、~MyClass(intn);C、MyClass();D、~MyClass();標(biāo)準(zhǔn)答案:D知識點解析:C++語言中析構(gòu)函數(shù)為符號“~”加類名,且析構(gòu)函數(shù)沒有返回值和參數(shù),故前不加void關(guān)鍵字。所以正確的形式應(yīng)該是~MyClass()。3、對下列二叉樹進(jìn)行前序遍歷的結(jié)果是()。A、DYBEAFCZXB、YDEBFZXCAC、ABDYECFXZD、ABCDEFXYZ標(biāo)準(zhǔn)答案:C知識點解析:二叉樹前序遍歷的簡單描述:若二叉樹為空,則結(jié)束返回;否則:①訪問根結(jié)點;②前序遍歷左子樹;③前序遍歷右子樹??梢姡靶虮闅v二叉樹的過程是一個遞歸的過程。根據(jù)題目中給出的二叉樹的結(jié)構(gòu)可知前序遍歷的結(jié)果是ABDYECFXZ。4、對于長度為n的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是()。A、冒泡排序為n/2B、冒泡排序為nC、快速排序為nD、快速排序為n(n-1)/2標(biāo)準(zhǔn)答案:D知識點解析:假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。快速排序法也是一種互換類的排序方法,但由于它比冒泡排序法的速度快,因此,稱為快速排序法。5、構(gòu)成計算機(jī)軟件的是()。A、源代碼B、程序和數(shù)據(jù)C、程序和文檔D、程序、數(shù)據(jù)及相關(guān)文檔標(biāo)準(zhǔn)答案:D知識點解析:軟件由兩部分組成:一是機(jī)器可執(zhí)行的程序和數(shù)據(jù);二是機(jī)器不可執(zhí)行的,與軟件開發(fā)、運(yùn)行、維護(hù)、使用等有關(guān)的文檔。6、軟件設(shè)計中劃分模塊的一個準(zhǔn)則是()。A、低內(nèi)聚低耦合B、高內(nèi)聚低耦合C、低內(nèi)聚高耦合D、高內(nèi)聚高耦合標(biāo)準(zhǔn)答案:B知識點解析:耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個定性標(biāo)準(zhǔn)。一般一個較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。7、下面不能作為結(jié)構(gòu)化方法軟件需求分析工具的是()。A、系統(tǒng)結(jié)構(gòu)圖B、數(shù)據(jù)字典(DD)C、數(shù)據(jù)流程圖(DFD圖)D、判定表標(biāo)準(zhǔn)答案:A知識點解析:按照DeMarco的定義,“結(jié)構(gòu)化分析就是使用數(shù)據(jù)流圖(DFD圖)、數(shù)據(jù)字典(DD)、結(jié)構(gòu)化英語、判定表和判定樹等工具,來建立一種新的、稱為結(jié)構(gòu)化規(guī)格說明的目標(biāo)文檔。”系統(tǒng)結(jié)構(gòu)圖不能作為結(jié)構(gòu)化方法軟件需求分析工具。8、對于循環(huán)隊列,下列敘述中正確的是()。A、隊頭指針是固定不變的B、隊頭指針一定大于隊尾指針C、隊頭指針一定小于隊尾指針D、隊頭指針可以大于隊尾指針,也可以小于隊尾指針標(biāo)準(zhǔn)答案:D知識點解析:循環(huán)隊列的隊頭指針與隊尾指針都不是固定的,隨著入隊與出隊操作要進(jìn)行變化。因為是循環(huán)利用的隊列結(jié)構(gòu)所以隊頭指針有時可能大于隊尾指針有時也可能小于隊尾指針。9、下列代碼段中聲明了3個類:classPerson{};classStudent:publicPerson{};classUndergraduate:Student{};下列關(guān)于這些類之間關(guān)系的描述中,錯誤的是()。A、類Person是類Undergraduate的基類B、類Undergraduate從類Student公有繼承C、類Student是類Person的派生類D、類Undergraduate是類Person的派生類標(biāo)準(zhǔn)答案:B知識點解析:本題考查基類和派生類的邏輯關(guān)系,屬于基礎(chǔ)知識,如果沒有指明哪種繼承方式,那么默認(rèn)為私有繼承,所以B選項錯誤。10、在E-R圖中,用來表示實體的圖形是()。A、矩形B、橢圓形C、菱形D、三角形標(biāo)準(zhǔn)答案:A知識點解析:在E-R圖中,用矩形表示實體集,在矩形內(nèi)寫上該實體集的名字;用橢圓形表示屬性;用菱形(內(nèi)部寫上聯(lián)系名)表示聯(lián)系。11、下列語句中,與語句“1n=(a>b?(1)>c?1:0):0);”的功能等價的是()。A、if(a<=b)n=0;B、if((a>b)Il(b>c))n=1;elsen=0;C、if(a>b)if(b>c)n=1:elsen=0;elsen=0;D、if(a>b)n=1;elseif(<=c)n=1;elseif(b>c)n=1;elsen=0;標(biāo)準(zhǔn)答案:C知識點解析:條件表達(dá)式(a>b?(b>c?1:0):0)的含義是,如果a>b成立,則此表達(dá)式的值等于條件表達(dá)式(b>c?1:0)的值,否則其值等于0。而條件表達(dá)式(b>c?1:0)的含義是,如果b>c成立,其值等于1,否則其值等于0。12、有如下程序:#includeusingnamespacestd;classBase{public:virtualvoidfunctionl(){cout<<‘0’;)voidfunction20{cout<<‘1’;));classDerived:publicBase{public:voidfunctionl0{cout<<’2’;}voidfunction20{cout<<’3’;)};intmain(){Base*P=newDerived();P一>functionl();p->function2();returnO:};運(yùn)行時的輸出結(jié)果是()。A、01B、21C、03D、23標(biāo)準(zhǔn)答案:B知識點解析:函數(shù)functionl()在基類Base中定義為虛成員函數(shù),而在派生類Der。vied中重新進(jìn)行了定義,輸出字符2,函數(shù)function2()在基類Base中定義虛成員函數(shù),在主函數(shù)中使用指向基類的指針變量p訪問function2()時,輸出1。13、下列關(guān)于類定義的說法中,正確的是()。A、類定義中包括數(shù)據(jù)成員和函數(shù)成員的聲明B、類成員的缺省訪問權(quán)限是保護(hù)的C、數(shù)據(jù)成員必須被聲明為私有的D、成員函數(shù)只能在類體外進(jìn)行定義標(biāo)準(zhǔn)答案:A知識點解析:此題考查的是類的定義。類中缺省的訪問權(quán)限是私有的,所以選項B錯誤;類的數(shù)據(jù)成員和成員函數(shù)的訪問控制權(quán)限均可被聲明為公有、私有和保護(hù)中的一種,所以選項C錯誤;成員函數(shù)的實現(xiàn)可以住類體內(nèi)定義,也可以在類體外定義,所以選項D錯誤。14、有如下頭文件:intfl();staticintf2();classMA{public:intf3();staticintf();};在所描述的函數(shù)中,具有隱含的this指針的是()。A、f1B、f2C、f3D、f4標(biāo)準(zhǔn)答案:C知識點解析:此題考查的是this指針。this指針是一個隱含的指針,它隱含于每個類的非靜態(tài)成員函數(shù)中,它明確地表示出了成員函數(shù)當(dāng)前操作的數(shù)據(jù)所屬的對象。題目中,只有f3()滿足“類的非靜態(tài)成員函數(shù)”的要求,故應(yīng)選C選項。15、有如下類定義:c1assAA{inta;public:intgetRef()const{retum&a;}//①intgetValue()const{retuma;}//②voidset(intn)const{a=n;}//③friendvoidshow(AAaa)const{cout<<a;}//④};其中的四個函數(shù)定義中正確的是()。A、①B、②C、③D、④標(biāo)準(zhǔn)答案:B知識點解析:此題考查了常成員函數(shù)和友元函數(shù)的概念。選項A中,getRef()函數(shù)的返回值和函數(shù)函數(shù)類型不符,故錯誤;C選項中set()常成員函數(shù)改變了數(shù)據(jù)成員的值,這是不允許的;D選項中show()函數(shù)被同時定義成友元函數(shù)和常成員函數(shù)是錯誤的。16、下列關(guān)于函數(shù)重載的敘述中,錯誤的是()。A、重載函數(shù)的參數(shù)個數(shù)可以不同B、重載函數(shù)的參數(shù)類型可以不向C、重載函數(shù)的返回值類型必須不同D、重載函數(shù)的參數(shù)個數(shù)或參數(shù)類型必須有所不同標(biāo)準(zhǔn)答案:C知識點解析:兩個或兩個以上的函數(shù),具有相同的函數(shù)名,但是形參的個數(shù)或者類型不同,編譯器根據(jù)實參和形參的類型及個數(shù)進(jìn)行最佳匹配,自動確定調(diào)用哪個函數(shù),這就是函數(shù)的重載。17、有如下程序:#inc1ude<iostream>usingnamespacestd;c1assBase{intx:public;Base{intw=0};x(n){cout<<n;}IntgetX()const{returnx;}};c1assDerivedpublicBase{inty;public;Derived(intm,intn):y(m),Base(n){cout<<m,}Derived(intm):y(m){cout<<m;)};intmain(){Derivedd1(3),d2(5,7);Retum0;}運(yùn)行時的輸出結(jié)果是()。A、375B、357C、0375D、0357標(biāo)準(zhǔn)答案:C知識點解析:此題考查的是派生類的構(gòu)造與析構(gòu)。建立派生類的對象時,構(gòu)造函數(shù)的執(zhí)行順序如下:執(zhí)行基類的構(gòu)造函數(shù),調(diào)用順序按照各個基類被繼承時聲明的順序(自左向右)—>執(zhí)行成員對象的構(gòu)造函數(shù),調(diào)用順序按照各個成員對象在類中聲明的順序—>執(zhí)行自身的構(gòu)造函數(shù)。此題中,執(zhí)行語句Deriveddl(3)首先調(diào)用基類的構(gòu)造函數(shù),輸出0;接著調(diào)用自身的構(gòu)造函數(shù)輸出3.執(zhí)行語句Derivedd2(5,7)時,會調(diào)用基類的Base(n)函數(shù)輸出7;然后執(zhí)行繼承類中的Derived(intm,intn)的y(m)輸出5。18、下列關(guān)于虛基類的描述中,錯誤的是()。A、使用虛基類可以消除由多繼承產(chǎn)生的二義性B、構(gòu)造派生類對象時,虛基類的構(gòu)造函數(shù)只被調(diào)用一次C、聲明“classB:virtualpublicA"說明類B為虛基類D、建立派生類對象時,首先調(diào)用虛基類的構(gòu)造函數(shù)標(biāo)準(zhǔn)答案:C知識點解析:虛基類是為了消除由多重繼承產(chǎn)生的二義性而提出的。虛基類的說明格式是:Class<類名>:vinual<繼承方式><基類名>,其中關(guān)鍵字virtual與繼承方式的位置無關(guān),但必須位于基類名之前,且virtual只對緊隨其后基類名起作用。對于本題來說,聲明“classB:vinualpublicA”說明類A為虛基類。19、有如下程序:#include<iostream>Usingnamespacestd;ClassAmount{intamount;public;Amount(intn=0):amount(n){}IntgetAmount()const{returnamount;}Amount&operator+=(Amounta){amount+=a.a(chǎn)mount;return;}};intmain(){Amountx(3),y(7);x+=y;cout<<x.getAmount()<<endl;return0;}已知程序的運(yùn)行結(jié)果是10,則下劃線處缺失的表達(dá)式是()。A、*thisB、thisC、&amountD、amount標(biāo)準(zhǔn)答案:A知識點解析:此題考查的是“+”運(yùn)算符重載和this指針。語句amount+=a.a(chǎn)mount;實現(xiàn)3和7的求和得到amount=10,要使程序的輸出結(jié)果為10,又因為函數(shù)的返回值類型為Amount&,所以橫線處填入*this。20、下列關(guān)于繼承方式的描述中,錯誤的是()。A、如果不顯式地指定繼承方式,缺省的繼承方式是私有(private)B、采用公有繼承方式時,基類中的公有成員在派生類中仍是公有成員C、采用保護(hù)繼承方式時,基類中的保護(hù)成員在派生類中仍然是保護(hù)成員D、采用私有繼承方式時,基類中的私有成員在派生類中仍然是私有成員標(biāo)準(zhǔn)答案:D知識點解析:基類中的私有成員在派生類中是隱蔽的,只能在基類內(nèi)部訪問。派生類中的成員不可以訪問基類中的私有成員,只可以訪問基類中的公有成員和保護(hù)成員。21、已知主函數(shù)中通過如下語句序列實現(xiàn)對函數(shù)模板swap的調(diào)用:inta[10],b[10];swap(a,b,10);下列對函數(shù)模板swap的聲明中,會導(dǎo)致上述語句序列發(fā)生編譯錯誤的是()。A、template<typenameT>voidswap(Ta[],Tb[],intsize);B、template<typenameT>voidswap(intsize,Ta[],Tb[]);C、template<typenameT1,typenameT2>voidswap(T1a[],T2b[],intsize};D、template<classT1,classT2>voidswap(T1a[],T2b[],intsize);標(biāo)準(zhǔn)答案:B知識點解析:由題目中函數(shù)swap(a,b,10)調(diào)用語句可知,在對函數(shù)模板swap的聲明語句中,應(yīng)將第一、二個參數(shù)設(shè)為數(shù)組變量,第三個參數(shù)為整型變量。22、在C++H沖,打開一個文件時與該文件建立聯(lián)系的是()。A、流對象B、模板C、函數(shù)D、類標(biāo)準(zhǔn)答案:A知識點解析:在C++中,打開一個文件時與該文件建立聯(lián)系的是流對象。23、下列關(guān)于類模板的模板參數(shù)的敘述中,錯誤的是()。A、模板參數(shù)可以作為數(shù)據(jù)成員的類型B、模板參數(shù)可以作為成員函數(shù)的返回類型C、模板參數(shù)可以作為成員函數(shù)的參數(shù)類型D、模板參數(shù)不能作為成員函數(shù)的局部變量的類型標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是模板參數(shù)。模板參數(shù)是一種參數(shù)化的數(shù)據(jù)模型,在模板類或模板函數(shù)中,只要使用數(shù)據(jù)類型的地方都能使用模板參數(shù)來代表一種未知的數(shù)據(jù)類型。所以,模板參數(shù)可以作為成員函數(shù)的局部變量類型。24、有如下程序:#include<iostrearn>usingnamespacestd;intmain(){cout.fill(’*’);cout.width(6);cout.fill(’#’);cout<<123<<endl;return0;}執(zhí)行后的輸出結(jié)果是()。A、###123B、123###C、***123D、123***標(biāo)準(zhǔn)答案:A知識點解析:此題考查的是I/O格式化輸出。函數(shù)width(intn)設(shè)置輸入輸出寬度,當(dāng)實際數(shù)據(jù)寬度小于制定的寬度時,多余的位置用填充字符填滿;當(dāng)實際數(shù)據(jù)寬度大于設(shè)置的寬度時,仍按實際寬度輸出;函數(shù)fill(charc)用來設(shè)置填充字符。國家二級C++機(jī)試(選擇題)模擬試卷第2套一、選擇題(本題共20題,每題1.0分,共20分。)1、下列字符串中不能作為C++標(biāo)識符使用的是()。A、WHILEB、userC、_lvarD、9stars標(biāo)準(zhǔn)答案:D知識點解析:在C++中變量名的命名必須遵循一定的原則,其中之一即是第一個字符必須是字母或者下劃線。2、下列描述中正確的是A、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)必定是一一對應(yīng)的B、由于計算機(jī)存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)C、程序設(shè)計語言中的數(shù)據(jù)一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。一般來說,一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu),常用的存儲結(jié)構(gòu)有順序、鏈接、索引等。3、下列程序?qū)、y和z按從小到大的順序排列,橫線處應(yīng)添加語句()。template<classT>voidfun(){Ta:if(x>y){a=x;x=y;y=a;}if(y>z){a=y;y=z;z=a;}if(x>y){a=x;x=y;y=a;}}A、Tx,Ty,TzB、Tx;y;zC、T&x,T&y,T&zD、T&x,&y,&z標(biāo)準(zhǔn)答案:C知識點解析:函數(shù)。fun的類型為void沒有任何返回值,函數(shù)中變量的改變,即參數(shù)的改變應(yīng)該影響實參。應(yīng)該是地址傳遞方式,即把引用型作為函數(shù)形參。類T是類的抽象,可以利用模板建立各種數(shù)據(jù)類型的類。所以補(bǔ)全函數(shù)的定義為“T&x,T&v,T&z”。4、若要把函數(shù)void0fun()定義為TestClass的友元函數(shù),則應(yīng)該在類TestClass的定義中加入的語句是()。A、voidfriendfun()B、friendfun()C、friendvoidfun()D、TestClass.voidfun()標(biāo)準(zhǔn)答案:C知識點解析:如果在類以外的其他地方定義了一個函數(shù),在類體中用friend對該函數(shù)進(jìn)行聲明,此函數(shù)就稱為本類的友元函數(shù)。因為函數(shù)為voidfun(),根據(jù)友元定義補(bǔ)全語句為“friendvoidfun();”。5、下列描述中正確的是()。A、程序就是軟件B、軟件開發(fā)不受計算機(jī)系統(tǒng)的限制C、軟件既是邏輯實體,又是物理實體D、軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合標(biāo)準(zhǔn)答案:D知識點解析:計算機(jī)軟件與硬件是計算機(jī)系統(tǒng)中相互依存的兩部分。計算機(jī)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件由兩部分組成:一部分是機(jī)器可執(zhí)行的程序和數(shù)據(jù);二是機(jī)器不可執(zhí)行的,與軟件開發(fā)、運(yùn)行、維護(hù)、使用等有關(guān)的文檔。軟件具有以下六個特點:①軟件是一種邏輯實體,而不是物理實體,具有抽象性。②軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程。③軟件在運(yùn)行、使用期間不存在磨損、老化問題。④軟件的開發(fā)、運(yùn)行對計算機(jī)系統(tǒng)具有依賴性,受計算機(jī)系統(tǒng)的限制,這導(dǎo)致了軟件移值的問題。⑤軟件復(fù)雜性高,成本昂貴。⑥軟件的開發(fā)涉及諸多社會因素。6、下面程序的輸出結(jié)果為()。#include<iostream.h>voidmain(){intx;int&y=x;//變量引用y=99;cout<<"x="<<x<<endl;}A、x=99B、x=9C、x=0D、異常標(biāo)準(zhǔn)答案:A知識點解析:程序中的“int&y=x;”語句中的“&”引用運(yùn)算符。&y=x語句可以理解為y具有x的地址,所以y的值99,x的值也是99,所以答案是x=99。7、在黑盒測試方法中,設(shè)計測試用例的主要根據(jù)是()。A、程序內(nèi)部邏輯B、程序外部功能C、程序數(shù)據(jù)結(jié)構(gòu)D、程序流程圖標(biāo)準(zhǔn)答案:B知識點解析:黑盒測試法指的是根據(jù)程序的外部功能,把程序本身看成一個黑盒子,設(shè)計測試用例來驗證程序外部功能的正確性。8、數(shù)據(jù)庫設(shè)計中,用E一R圖來描述信息結(jié)構(gòu)但不涉及信息在計算機(jī)中的表示,它屬于數(shù)據(jù)庫設(shè)計的()。A、需求分析階段B、邏輯設(shè)計階段C、概念設(shè)計階段D、物理設(shè)計階段標(biāo)準(zhǔn)答案:C知識點解析:E一R模型(實體聯(lián)系模型)是將現(xiàn)實世界的要求轉(zhuǎn)化成實體、聯(lián)系、屬性等幾個基本概念,以及它們間的兩種基本聯(lián)接關(guān)系,并且可用一種圖非常直觀地表示出來。它屬于數(shù)據(jù)庫設(shè)計的概念設(shè)計階段。9、有如下程序:#includeusingnamespacestd;classToy{public:Toy(char*_n){strepy(name,_n);count++;}~ToyO{count--;}char*GetName(){returnname;}staticintgetCount(){returncount;}private:charname[10];staticintcount;};intToy∷count=0;intmain0{Toyt1("Snoopy"),t2("Mickey"),t3("Barbie");cout<A、1B、2C、3D、運(yùn)行時出錯標(biāo)準(zhǔn)答案:C知識點解析:類Toy中包含一個字符數(shù)組name和一個靜態(tài)整型變量count。在程序中首先給類Toy的成員count的賦初始值0,然后在主函數(shù)中,定義了三個。Toy對象t1、t2、t3,并分別對它們的nallle字段賦值,在賦值的同時變量count的值加1,所以最后變量count的值等于3。10、將以下程序?qū)懗扇窟\(yùn)算表達(dá)式是()。if(x<y)min=x;elserain=y;A、min=(x>y)?x:yB、min=(x<y)?x:yC、min=(x<y)x:yD、min=(x<y)?x,y標(biāo)準(zhǔn)答案:B知識點解析:題目中給出的程序是求x,y中的小值。即如果x小于y,那么min=x,否則min=y。條件運(yùn)算符為“?:”,(x<y)?x:y是當(dāng)x小于y時取x,否則取y。11、下列枚舉類型的定義中,包含枚舉值3的是()。A、enumtest{RED,YELLOW,BLUE,BLACK};B、enumtest{RED,YELLOW=4,BLUE,BLACK};C、enumtest{RED=—1,YELLOW,BLUE,BLACK};D、enumtest{RED,YELLOW=6,BLUE,BLACK};標(biāo)準(zhǔn)答案:A知識點解析:聲明枚舉類型的語法格式為:enum<類型名>{<枚舉值表>};<枚舉值表>包含多個枚舉值,它們用逗號隔開,每個枚舉值就是一個枚舉常量。枚舉值有兩種定義形式:一是<值名>;二是<值名>=<整型常量>。關(guān)于枚舉類型有以下4點說明:①一個enum類型實際上是int類型的一個子集,其每一個枚舉值代表一個整數(shù)。②n個枚舉值全部未賦常量值時,它們自左至右分別與整數(shù)0,1,…n—1對應(yīng)。③若第i個枚舉值賦常量值為m.則其未賦常量值的后續(xù)枚舉值分別與整數(shù)m+1,m+2…對應(yīng),直到下一個賦了值的枚舉值或結(jié)束。因此,為枚舉值賦的整型常量值應(yīng)從左到右遞增。④枚舉類型的聲明也可作為組聲明若干整型符號常量的方法。也就是說,把每個要聲明的符號常量作為一個枚舉值,將各個枚舉值合在一起定義成一個枚舉類型。對于本題來說,在選項A)中,對4個枚舉值沒有賦常量值,所以它們從左到右與整數(shù)0,1,2,3相對應(yīng)。因而選項A)為正確選項。12、派生類的構(gòu)造函數(shù)的成員初始化列中,不能包含()。A、基類的構(gòu)造函數(shù)B、派生類中子對象的初始化C、基類的子對象初始化D、派生類中一般數(shù)據(jù)成員的初始化標(biāo)準(zhǔn)答案:C知識點解析:派生類的構(gòu)造函數(shù)會調(diào)用基類的構(gòu)造函數(shù)。對于基類子對象的初始化會在基類的構(gòu)造函數(shù)中進(jìn)行。派生類會為基類提供參數(shù),當(dāng)基類的構(gòu)造函數(shù)收到參數(shù)時會將參數(shù)傳遞給相應(yīng)的基類子對象。13、有如下程序:#includeusingnamespacestd;classMusic{public:voidsetTitle(char*str){strcpy(title,str);}protected:chartype[10];private:chartitle[20];};classJazz:publicMusic{public:voidset(char*str){strcpy(type,"Jazz");∥①strcpy(title,str);∥②}};下列敘述中正確的是()。A、程序編譯正確B、程序編譯時語句①出錯C、程序編譯時語句②出錯D、程序編譯時語句①和②都出錯標(biāo)準(zhǔn)答案:C知識點解析:派生類Jazz不能訪問基類Music中的私有成員title。14、Windows環(huán)境下,由C++源程序文件編譯而成的目標(biāo)文件的擴(kuò)展名是()。A、cppB、exeC、objD、lik標(biāo)準(zhǔn)答案:C知識點解析:在VC6.0集成開發(fā)環(huán)境下,用戶可以使用編譯(compile)命令將一個.cpp為擴(kuò)展名的C++源程序文件轉(zhuǎn)換成一個以.obj為擴(kuò)展名的目標(biāo)文件。15、下列關(guān)于類成員對象構(gòu)造函數(shù)調(diào)用順序的敘述中,正確的是()。A、與它們在初始化列表中的順序相同B、與它們在類中聲明的順序相同C、與析構(gòu)函數(shù)的調(diào)用順序相同D、順序不確定標(biāo)準(zhǔn)答案:B知識點解析:類成員對象構(gòu)造函數(shù)的調(diào)用是按照在類中定義的順序進(jìn)行的,而不是按照構(gòu)造函數(shù)說明后的冒號順序進(jìn)行構(gòu)造的。16、有如下程序:#includeusingnamespacestd;classObj{staticinti;public:Obj(){i++;}~Obj(){i--;}staticintgetVal(){returni;}};intObj::i=0;voidf(){Objob2;cout<getVal();deleteob3;cout<A、232B、231C、222D、221標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是靜態(tài)成員。本題中,Obi類定義了一個靜態(tài)數(shù)據(jù)成員i,并初始化為0.在主函數(shù)中,首先定義了1個該類對象ob1,所以構(gòu)造函數(shù)被調(diào)用1次,i加1;然后調(diào)用函數(shù)f(),該函數(shù)中又定義了一個對象ob2,此時i再次加1變?yōu)?,然后通過函數(shù)getval()輸出i的值2。f()函數(shù)結(jié)束,ob2變量被釋放,故析構(gòu)函數(shù)被調(diào)用了1次,i變成1;回到主函數(shù)中,又動態(tài)創(chuàng)建了1個對象并讓0b3指向它,此后i變成2并輸出。最后釋放動態(tài)創(chuàng)建的對象i變?yōu)?,輸出1。故最終的輸出結(jié)果是221。17、在下列枚舉符號中,用來表示“相對于當(dāng)前位置”文件定位方式的是()。A、ios_base∷curB、ios_base∷begC、ios_base∷outD、ios_base∷end標(biāo)準(zhǔn)答案:A知識點解析:C++流的定位方式(也就是指針移動方式)有三種,被定義為ios_base∷seek_dir中的一組枚舉符號:ios_base∷beg相當(dāng)于文件首;ios_base∷cur相當(dāng)于當(dāng)前位置(負(fù)數(shù)表示當(dāng)前位置之前);ios_base∷end相對于文件尾。18、下列關(guān)于this指針的敘述中,正確的是()。A、任何與類相關(guān)的函數(shù)都有this指針B、類的成員函數(shù)都有this指針C、類的友元函數(shù)都有this指針D、類的非靜態(tài)成員函數(shù)才有this指針標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是this指針的使用。類的每一個成員函數(shù)都有一個隱含的常量指針,即this指針。類的靜態(tài)成員函數(shù)不能含有this指針,因為this指針是一個指向本對象的指針。19、使用輸入輸出操作符setw,可以控制()。A、輸出精度B、輸出寬度C、對齊方式D、填充字符標(biāo)準(zhǔn)答案:B知識點解析:此題考查的是C++流的操作符。在C++流中,操作符setw的作用是設(shè)置輸入輸出寬度。20、若MyTemp是一個只有一個虛擬類型參數(shù)的類模板,且有如下語句序列MyTempp2;MyTempp3[2];編譯系統(tǒng)在處理上面的語句序列時,所生成的模板MyTemp的實例的個數(shù)是()。A、1B、2C、3D、0標(biāo)準(zhǔn)答案:C知識點解析:p2是一個double型的MyTemp,p3[2]是一個long型MyTemp數(shù)組,其中包括兩個元素。所以共有3個MyTemp的實例。國家二級C++機(jī)試(選擇題)模擬試卷第3套一、選擇題(本題共23題,每題1.0分,共23分。)1、結(jié)構(gòu)化程序設(shè)計的基本原則不包括()。A、多態(tài)性B、自頂向下C、模塊化D、逐步求精標(biāo)準(zhǔn)答案:A知識點解析:結(jié)構(gòu)化程序設(shè)計的思想包括:自頂向下、逐步求精、模塊化、限制使用goto語句,所以選擇A。2、下面敘述中正確的是()。A、線性表是線性結(jié)構(gòu)B、棧與隊列是非線性結(jié)構(gòu)C、線性鏈表是非線性結(jié)構(gòu)D、二叉樹是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:A知識點解析:線性表是最簡單的、最常用的一種線性結(jié)構(gòu)。所謂線性鏈表指的是采用鏈?zhǔn)酱鎯Y(jié)構(gòu)的線性表。棧和隊列其實是一種特殊的線性表。樹是一種簡單的非線性結(jié)構(gòu),二叉樹是樹的一種。3、支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。A、棧B、樹C、隊列D、二叉樹標(biāo)準(zhǔn)答案:A知識點解析:棧是一種限定在一端進(jìn)行插入與刪除的線性表。在主函數(shù)調(diào)用子函數(shù)時,要首先保存主函數(shù)當(dāng)前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子函數(shù),把子函數(shù)的運(yùn)行結(jié)果返回到主函數(shù)調(diào)用子函數(shù)時的位置,主函數(shù)再接著往下執(zhí)行,這種過程符合棧的特點。所以一般采用棧式存儲方式。4、按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是A、隊列B、棧C、雙向鏈表D、二叉樹標(biāo)準(zhǔn)答案:B知識點解析:棧是限定在一端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,也是最先被刪除的元素:棧底元素總是最先被插入的元素,也是最后才能被刪除的元素。即棧是按照“后進(jìn)先出”(LastInFirstOut,簡稱LIFO)或“先進(jìn)后出”(FirstInLastOut,簡稱FILO)的原則組織數(shù)據(jù)的。因此,棧也稱為“后進(jìn)先出表”或“先進(jìn)后出”表。5、下列對隊列的描述中正確的是()。A、隊列屬于非線性表B、隊列按“先進(jìn)后出”原則組織數(shù)據(jù)C、隊列在隊尾刪除數(shù)據(jù)D、隊列按“先進(jìn)先出”原則組織數(shù)據(jù)標(biāo)準(zhǔn)答案:D知識點解析:隊列(queue)是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表。允許插入的一端稱為隊尾;允許刪除的一端稱為隊頭。在隊列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除:反之,最后插入的元素將最后才能被刪除。因此,隊列又稱“先進(jìn)先出”或“后進(jìn)后出”的線性表。6、—棵二叉樹共有25個結(jié)點,其中5個是葉子結(jié)點,則度為l的結(jié)點數(shù)為()。A、16B、10C、6D、4標(biāo)準(zhǔn)答案:A知識點解析:根據(jù)二叉樹的性質(zhì),在任意二叉樹中,度為0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個,故此度為l的結(jié)點個數(shù):總結(jié)點數(shù)·葉子節(jié)點數(shù).度為2的節(jié)點數(shù)=25—5—4=16。7、以下不正確的是()。A、語句for(i=0;;i++)表示無限循環(huán)B、for(;;)表示無限循環(huán)C、for()表示無限循環(huán)D、while(1)表示無限循環(huán)標(biāo)準(zhǔn)答案:C知識點解析:選項C)是一個錯誤的for語句格式,for()語句中三個表達(dá)式可以省略。但是兩個分號(;)不能省略。8、下列描述中,不符合良好程序設(shè)計風(fēng)格要求的是()。A、程序的效率第一,清晰第二B、程序的可讀性好C、程序中要有必要的注釋D、輸入數(shù)據(jù)前要有提示信息標(biāo)準(zhǔn)答案:A知識點解析:一般來講,程序設(shè)計風(fēng)格是指編寫程序時所表現(xiàn)出的特點、習(xí)慣和邏輯思路。程序設(shè)計風(fēng)格總體而言應(yīng)該強(qiáng)調(diào)簡單和清晰,程序必須是可以理解的。著名的“清晰第一,效率第二”的論點已成為當(dāng)今主導(dǎo)的程序設(shè)計風(fēng)格。9、下列有關(guān)內(nèi)聯(lián)函數(shù)的敘述中,正確的是()。A、內(nèi)聯(lián)函數(shù)在調(diào)用時發(fā)生控制轉(zhuǎn)移B、內(nèi)聯(lián)函數(shù)必須通過關(guān)鍵字inline來定義C、內(nèi)聯(lián)函數(shù)是通過編譯器來實現(xiàn)的D、內(nèi)聯(lián)函數(shù)函數(shù)體的最后一條語句必須是return語句標(biāo)準(zhǔn)答案:C知識點解析:此題考查的是內(nèi)聯(lián)函數(shù)的概念。在調(diào)用時,內(nèi)聯(lián)函數(shù)會像宏函數(shù)一樣的展開,將調(diào)用表達(dá)式用內(nèi)聯(lián)函數(shù)體來替換,所以它沒有一般函數(shù)的參數(shù)壓棧和退棧操作,所以選項A錯誤;即使沒有使用inline說明,編譯器也會將在類的說明部分定義的函數(shù)認(rèn)定為內(nèi)聯(lián)函數(shù),所以選項B錯誤;內(nèi)聯(lián)函數(shù)只是比普通函數(shù)有更高的執(zhí)行效率。10、下面屬于白盒測試方法的是()。A、等價類劃分法B、邏輯覆蓋C、邊界值分析法D、錯誤推測法標(biāo)準(zhǔn)答案:B知識點解析:白盒測試的主要方法有邏輯覆蓋、基本路徑測試等。11、在C++中,實現(xiàn)封裝性需借助于()。A、枚舉B、類C、數(shù)組D、函數(shù)標(biāo)準(zhǔn)答案:B知識點解析:此題考查的是C++語言中對象概念的理解。所謂封裝性是指將數(shù)據(jù)和算法捆綁成一個整體,這個整體就是對象。C++語言通過建立用戶定義類型“類”來支持封裝性和信息隱藏。12、下列字符串中,正確的C++標(biāo)識符是()。A、foo-1B、2bC、newD、_256標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是C++語言中標(biāo)識符的定義。標(biāo)識符由字母、數(shù)字或下劃線構(gòu)成,但第一個字符必須是字母或下劃線;標(biāo)識符中大小寫字母是不同的;用戶定義標(biāo)識符時,不允許采用系統(tǒng)的關(guān)鍵字。13、下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。A、多態(tài)性B、標(biāo)識惟一性C、封裝性D、耦合性標(biāo)準(zhǔn)答案:D知識點解析:面向?qū)ο笤O(shè)計方法與面向過程設(shè)計方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。其特點包括;標(biāo)識惟一性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性好。14、一間宿舍可住多個學(xué)生,則實體宿舍和學(xué)生之間的聯(lián)系是A、一對一B、一對多C、多對一D、多對多標(biāo)準(zhǔn)答案:B知識點解析:兩個實體集間的聯(lián)系可以有下面幾種:一對一的聯(lián)系、一對多或多對一的聯(lián)系和多對多的聯(lián)系。由于一個宿舍可以住多個學(xué)生,所以它們的聯(lián)系是一對多聯(lián)系。15、有如下程序段:inti=1;while(1){i++;if(i==10)break;if(i%2==0)cout<<’*’;}執(zhí)行這個程序段輸出字符*的個數(shù)是()。A、10B、3C、4D、5標(biāo)準(zhǔn)答案:C知識點解析:這段程序代碼的功能是計算在1~10(包括10)之間偶數(shù)i的個數(shù),如果整數(shù)i為偶數(shù),則輸出一個‘*’,共有4個偶數(shù),所以共輸出4個‘*’。16、下列模板聲明中,有語法錯誤的是()。A、templateTfun(Tx){retUlTlx;}B、templateTfun(Tx,intn){returnx*n;}C、templateTfun(T*p){return*p;}D、templateTclassA{Tn;};標(biāo)準(zhǔn)答案:B知識點解析:本題考查模板的定義,B選項中x為T類型的,n為im型的,但是x*n就不一定是T類型的,所以錯誤答案為B。17、己知函數(shù)FA調(diào)用FB,若要把這兩個函數(shù)定義在同一個文件中,則()。A、FA必須定義在FB之前B、FB必須定義在FA之前C、若FA定義在FB之后,則FA的原型必須出現(xiàn)在FB的定義之前D、若FB定義在FA之后,則FB的原型必須出現(xiàn)在FA的定義之前標(biāo)準(zhǔn)答案:D知識點解析:在C++中,在調(diào)用任何函數(shù)之前,必須確保它已有原型說明。函數(shù)原型說明通常放在程序文件的頭部,以使得該文件中所有函數(shù)都能調(diào)用它們。在本題中,當(dāng)函數(shù)FA調(diào)用FB時,函數(shù)FB可以定義在FA的后面,但是FB的原型必須出現(xiàn)在FA的定義之前,因而選項D)為正確答案。18、若AA為一個類,a為該類的私有整型數(shù)據(jù)成員,getA()為該類的一個非靜態(tài)公有成員函數(shù),功能是返回a的值。如果x為該類的一個對象,要在類外訪問x對象中a的值,正確的訪問格式為()。A、AA.getA()B、x.getA()C、x.AD、AA::a標(biāo)準(zhǔn)答案:B知識點解析:要在類外訪問x對象中a的值,必須調(diào)用類的非靜態(tài)公有成員函數(shù)getA()。19、下列枚舉類型的定義中,包含枚舉值3的是()。A、enumtest{RED,YELLOW,BLUE,BLACK};B、enumtest{RED,YELLOW=4,BLUE,BLACK};C、enumtest{RED=-1,YELLOW,BLUE,BLACK};D、enumtest{RED,YELLOW=6,BLUE,BLACK};標(biāo)準(zhǔn)答案:A知識點解析:聲明枚舉類型的語法格式為:enum<類型名>{<枚舉值表>};<枚舉值表>包含多個枚舉值,它們用逗號隔開,每個枚舉值就是一個枚舉常量。枚舉值有兩種定義形式:一是<值名>;二是<值名>=<整型常量>。關(guān)于枚舉類型有以下4點說明:①一個enum類型實際上是int類型的一個子集,其每一個枚舉值代表一個整數(shù)。②n個枚舉值全部未賦常量值時,它們自左至右分別與整數(shù)0,1,…n—1對應(yīng)。③若第i個枚舉值賦常量值為m,則其未賦常量值的后續(xù)枚舉值分別與整數(shù)m+1,m+2…對應(yīng),直到下一個賦了值的枚舉值或結(jié)束。因此,為枚舉值賦的整型常量值應(yīng)從左到右遞增。④枚舉類型的聲明也可作為組聲明若干整型符號常量的方法。也就是說,把每個要聲明的符號常量作為一個枚舉值,將各個枚舉值合在一起定義成一個枚舉類型。對于本題來說,在選項A)中,對4個枚舉值沒有賦常量值,所以它們從左到右與整數(shù)0,1,2,3相對應(yīng)。因而選項A)為正確選項。20、有如下程序:#include<iostream>usingnamespacestd;classBase{public:Base(intx=0):valB(x){cout<<valB;}~Base(){cout<<valB;)private:intvalB;};classDerived:publicBase{public:Derived(intx=0,inty=0):Base(x),valD(y){cout<<valD;}~Derived(){cout<<valD;}private:intvalD;};intmain(){Derivedobj12(2,3);return0;}運(yùn)行時的輸出結(jié)果是()。A、2332B、2323C、3232D、3223標(biāo)準(zhǔn)答案:A知識點解析:在主函數(shù)中創(chuàng)建類Derived對象obj12(2,3)時,因為類Derived是從基類Base派生而來,所以首先調(diào)用基類的構(gòu)造函數(shù),輸出2,再調(diào)用派生類構(gòu)造函數(shù),輸出3。當(dāng)主函數(shù)運(yùn)算結(jié)果時,首先調(diào)用派生類的析構(gòu)函數(shù),輸出3,再調(diào)用基類的析構(gòu)函數(shù)輸出2。所以輸出結(jié)果為2332。21、有如下類定義classAnimal{public:virtualvoidName()=0;};classKoala:publicAnimal{public:voidName(){/*函數(shù)體略*/}};關(guān)于上述類定義,下列描述中錯誤的是()。A、類Koala是類Animal的派生類B、類Koala中的Name函數(shù)是一個虛函數(shù)C、類Animal中的Name函數(shù)是一個純虛函數(shù)D、語句“Animala;”能夠建立類Animal的一個對象a標(biāo)準(zhǔn)答案:D知識點解析:在類Animal定義了純虛函數(shù)Name(),所以類Animal就是一個抽象類,而抽象類是不能夠建立對象的。22、下列關(guān)于賦值運(yùn)算符“=”重載的敘述中,正確的是()。A、賦值運(yùn)算符只能作為類的成員函數(shù)重載B、默認(rèn)的賦值運(yùn)算符實現(xiàn)了“深層復(fù)制”功能C、重載的賦值運(yùn)算符函數(shù)有兩個本類對象作為形參D、如果已經(jīng)定義了復(fù)制(拷貝)構(gòu)造函數(shù),就不能重載賦值運(yùn)算符標(biāo)準(zhǔn)答案:A知識點解析:賦值運(yùn)算符“=”只能作為成員函數(shù)重載。23、有函數(shù)模板聲明和一些變量定義如下:templateT1sum(T2,T3);doubled1.d2;則下列調(diào)用中,錯誤的是()。A、sum(d1,d2);B、sum(d1,d2);C、sum(d1,d2);D、sum(d1,d2);標(biāo)準(zhǔn)答案:D知識點解析:虛擬類型參數(shù)T1沒有出現(xiàn)在模板函數(shù)的形參表中,因此在調(diào)用時不可能從模板函數(shù)的實參表中獲得相應(yīng)的信息,因此T1無法省略。而在選項D)中省略了。國家二級C++機(jī)試(選擇題)模擬試卷第4套一、選擇題(本題共20題,每題1.0分,共20分。)1、下列敘述中正確的是()。A、循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是非線性結(jié)構(gòu)B、在循環(huán)隊列中,只需要隊頭指針就能反映隊列中元素的動態(tài)變化情況C、在循環(huán)隊列中,只需要隊尾指針就能反映隊列中元素的動態(tài)變化情況D、循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定標(biāo)準(zhǔn)答案:D知識點解析:循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定的,元素的動態(tài)變化也是通過隊頭指針和隊尾指針來反映的。2、有如下語句序列:charstr[10];cin>>str;當(dāng)從鍵盤輸入”Ilovethisgame”時,str中的字符串是()。A、“Ilovethisgame”B、“Ilovethi”C、“Ilove”D、“I”標(biāo)準(zhǔn)答案:D知識點解析:由于字符\0作為字符串的結(jié)束標(biāo)志,所以當(dāng)從鍵盤上輸入“Ilovethisgame”時,只把字母I輸入字符串str。3、下列排序方法中,最壞情況下比較次數(shù)最少的是A、冒泡排序B、簡單選擇排序C、直接插入排序D、堆排序標(biāo)準(zhǔn)答案:D知識點解析:冒泡排序、簡單選擇排序和直接插入排序法在最壞的情況下比較次數(shù)為:n(n-1)/2。而堆排序法在最壞的情況下需要比較的次數(shù)為O(nlog2n)。其中堆排序的比較次數(shù)最少。4、有如下程序:#includeusingnamespacestd;classBase{protected:Base(){cout<<‘A’;}Base(charc{cout<A、BB、BAC、ABD、BB標(biāo)準(zhǔn)答案:C知識點解析:本題考查派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù),在定義一個派生類的對象時,先調(diào)用基類的構(gòu)造函數(shù),然后再執(zhí)行派生類的構(gòu)造函數(shù);對象釋放時,先執(zhí)行派生類的析構(gòu)函數(shù),再執(zhí)行基類的析構(gòu)函數(shù)。本題中定義了一個派生類對象d1,首先執(zhí)行基類的構(gòu)造函數(shù),輸出A;然后執(zhí)行派生類的構(gòu)造函數(shù),輸出B。所以答案為C。5、在下列枚舉符號中,用來表示“相對于當(dāng)前位置”文件定位方式的是()。A、ios―base::curB、ios―base::begC、ios―base::outD、ios―base::end標(biāo)準(zhǔn)答案:A知識點解析:streamoff定義于iostream.h中,定義有偏移量offset所能取得的最大值,seek―dir表示移動的基準(zhǔn)位置,是一個有以下值的枚舉:ios::beg:(文件開頭)、ios::cur:(文件當(dāng)前位置)、ios::end:(文件結(jié)尾)。6、C++中的模板包括()。A、對象模板和函數(shù)模板B、對象模板和類模板C、函數(shù)模板和類模板D、變量模板和對象模板標(biāo)準(zhǔn)答案:C知識點解析:本題考查函數(shù)模板和類模板,所以答案為c。7、設(shè)有如下關(guān)系表:則下列操作正確的是()。A、T=R/SB、T=R×SC、T=R∩SD、T=R∪S標(biāo)準(zhǔn)答案:C知識點解析:T就是關(guān)系R中有的,同時S中也有的有序組(4、5、6),即交運(yùn)算(∩)。8、下面不屬于軟件需求規(guī)格說明書內(nèi)容的是A、軟件的可驗證性B、軟件的功能需求C、軟件的性能需求D、軟件的外部接口標(biāo)準(zhǔn)答案:A知識點解析:軟件需求說明書的編制是為了使用戶和軟件開發(fā)者雙方對該軟件的初始規(guī)定有一個共同的理解,使之成為整個開發(fā)工作的基礎(chǔ)。包含硬件、功能、性能、輸入輸出、接口需求、警示信息、保密安全、數(shù)據(jù)與數(shù)據(jù)庫、文檔和法規(guī)的要求。9、下列符號中,正確的C++標(biāo)識符是()。A、enumB、100bitC、s-1D、int標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是C++語言中標(biāo)識符的概念。標(biāo)識符是由數(shù)字、字母以及下劃線構(gòu)成,其第一個字符必須是字母或下劃線,中間不能有空格;標(biāo)識符的長度是任意的,但由于編譯系統(tǒng)的限制一般不超過31個字符;標(biāo)識符中的大小寫字母是不同的;定義標(biāo)識符時不能采用系統(tǒng)的保留字。10、有如下函數(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標(biāo)準(zhǔn)答案:C知識點解析:此題考查的是函數(shù)參數(shù)的傳遞方式。此題中形參a是普通參數(shù),即傳值調(diào)用,函數(shù)中對a增l不會影響到實參x的值;形參b是傳址調(diào)用,函數(shù)中對b增1隨時會改變實參y的值。故最終結(jié)果是0和2。11、Sample是一個類,執(zhí)行下面語句后,調(diào)用Sample類的構(gòu)造函數(shù)的次數(shù)是()。Samplea[2],*P=newSample;A、0B、1C、2D、3標(biāo)準(zhǔn)答案:D知識點解析:在C++中,聲明一個類對象時,編譯程序需要調(diào)用類的構(gòu)造函數(shù)為對象分配存儲空間,進(jìn)行必須的初始化。在本題的這條語句中,聲明了一個Sample類型的包含2個數(shù)組元素的數(shù)組a[2],一個指向類Sample對象的指針P,所以Sample類的構(gòu)造函數(shù)共調(diào)用了3次。12、語句int*p=&k;定義了指針p,與這個語句等效的語句序列是()。A、int*p;p=&k;B、int*p;p==k;C、int*p;*p=&k;D、int*p;*p=k標(biāo)準(zhǔn)答案:A知識點解析:此題考查的是指針的賦值。題目中的語句int,*p=&k;定義了一個int類型的指針p,并將變量k的地址&k賦給指針p。所以等效語句是:int*p;p=&k;。13、有如下程序:#include#includeusingnamespacestd;intmain(){cout<A、setw(10)B、setfill(‘x’)C、setprecision(81D、right標(biāo)準(zhǔn)答案:A知識點解析:根據(jù)程序輸出的結(jié)果最后5個位置用x進(jìn)行填充,又因為setw(10)設(shè)置輸出的寬度效果只對一次輸出有效。所以劃線處應(yīng)該填寫setw(10)。14、有如下類定義:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{protected:voidfun4(){}};若obi是類D的對象,則下列語句中不違反訪問控制權(quán)限的是()。A、obj.fun1();B、obj.fun2();C、obj.fun3();D、obj.fun4();標(biāo)準(zhǔn)答案:A知識點解析:派生類D公有繼承父類B,所以obj可以訪問基類B的公有,不能訪問其它成員。15、下列關(guān)于析構(gòu)函數(shù)的描述中,錯誤的是()。A、析構(gòu)函數(shù)可以重載B、析構(gòu)函數(shù)由系統(tǒng)自動調(diào)用C、每個對象的析構(gòu)函數(shù)只被調(diào)用一次D、每個類都有析構(gòu)函數(shù)標(biāo)準(zhǔn)答案:A知識點解析:一般情況下,析構(gòu)函數(shù)在對象的生存周期即將結(jié)束的時候由系統(tǒng)自動調(diào)用。在調(diào)用完成之后,對象也就消失了,相應(yīng)的內(nèi)存空間也被釋放。析構(gòu)函數(shù)沒有參數(shù),因此析構(gòu)函數(shù)不能重載,一個類中只能定義一個析構(gòu)函數(shù)。16、已知基類Emp1oyee只有一個構(gòu)造函數(shù),其定義如下:Emp1oyee::Emp1oyee(intn):id(n){}Manager是Emp1oyee的派生類,則下列對Manager的構(gòu)造函數(shù)的定義中,正確的是()。A、Manager::Manager(intn):id(n){}B、Manager::Manager(intn){id=n;}C、Manager::Manager(intn):Emp1oyee(n){}D、Manager::Manager(intn){Emp1oyee(n);}標(biāo)準(zhǔn)答案:C知識點解析:基類的構(gòu)造函數(shù)是帶有參數(shù)的,派生類從基類派生,這就需要在派生類的構(gòu)造函數(shù)名后面顯示的調(diào)用基類的構(gòu)造函數(shù)。17、有如下程序:#includeusingnamespacestd;classBoat;classCar{public:Car(inti):weight(i){)friendintTotal(constCar&c,constBoat&b);//①private:intweight;};classBoat{public:Boat(inti):weight(i){)friendintTotal(constCar&c,constBoat&b);private:intweight;};intTotal(constCar&c,constBoat&b){//②returnc.weight+b.weight;}intmain(){Carc(10);Boatb(8);cout<<"Thetotalweightis"<A、程序編譯正確B、程序編譯時語句①出錯C、程序編譯時語句②出錯D、程序編譯時語句③出錯標(biāo)準(zhǔn)答案:A知識點解析:程序中定義了類car和類Boat,在兩個類中分別定義他們的構(gòu)造函數(shù)和友元函數(shù)銜end。程序在vC6.0中編譯通過。18、下列關(guān)于運(yùn)算符重載的敘述中,正確的是()。A、通過運(yùn)算符重載,可以定義新的運(yùn)算符B、有的運(yùn)算符只能作為成侵函數(shù)重載C、若重載運(yùn)算符+,則相應(yīng)的運(yùn)算符函數(shù)名是+D、重載一個二元運(yùn)算符時,必須聲明兩個形參標(biāo)準(zhǔn)答案:B知識點解析:此題考查的是運(yùn)算符重載。C++中,“=”、“[]”、“()”、“一>”以及所有的類型轉(zhuǎn)換符只能作為成員函數(shù)重載,故B選項正確;運(yùn)算符重載只是賦予已有的運(yùn)算符多重含義,并不是定義新的運(yùn)算符;運(yùn)算符函數(shù)的函數(shù)名就是在運(yùn)算符前加上關(guān)鍵字operator。19、卞列有關(guān)模板的敘述中,正確的是()。A、函數(shù)模板不能含有常規(guī)形參B、函數(shù)模板的一個實例就是一個函數(shù)定義C、類模板的成員函數(shù)不能是模板函數(shù)D、用類模板定義對象時,絕對不能省略模板實參標(biāo)準(zhǔn)答案:B知識點解析:此題考查的是模板的概念。函數(shù)模板可以含有常規(guī)形參;函數(shù)模板的一個實例就是一個函數(shù)定義;類模板中的成員函數(shù)都是模板函數(shù);在用類模板定義對象時,由于沒有像函數(shù)實參表這樣的額外信息渠道,因此無法按函數(shù)模板的方式省略模板形參,但是可以為類模板的參數(shù)設(shè)置默認(rèn)值。20、在C++中既可以用于文件輸入又可以用于文件輸出的流類是()。A、fstreamB、ifstreamC、ofstreamD、iostream標(biāo)準(zhǔn)答案:A知識點解析:文件流以磁盤文件以及其他可按文件方式進(jìn)行管理的外部設(shè)備為輸入輸出對象。ifstream是文件輸入流類,ofstream是文件輸出流類,fstream是文件輸入輸出流類,當(dāng)使用cin、cout的預(yù)定義流對象進(jìn)行針對標(biāo)準(zhǔn)設(shè)備的I/O操作,則需要使用iostream文件。國家二級C++機(jī)試(選擇題)模擬試卷第5套一、選擇題(本題共22題,每題1.0分,共22分。)1、一個棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是()。A、12345ABCDEB、EDCBA54321C、ABCDE12345D、54321EDCBA標(biāo)準(zhǔn)答案:B知識點解析:棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。所以出棧順序是EDCBA54321。2、下列敘述中正確的是()。A、棧是一種先進(jìn)先出的線性表B、隊列是一種后進(jìn)先出的線性表C、棧與隊列都是非線性結(jié)構(gòu)D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點解析:棧是先進(jìn)后出的線性表,隊列是先進(jìn)先出的線性表。二者均為線性結(jié)構(gòu)。3、下列敘述中正確的是()。A、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的B、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu)C、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu)D、上述三種說法都不對標(biāo)準(zhǔn)答案:B知識點解析:線性表的存儲分為順序存儲和鏈?zhǔn)酱鎯?。在順序存儲中,所有元素所占的存儲空間是連續(xù)的,各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。所以每個元素只存儲其值就可以了,而在鏈?zhǔn)酱鎯Φ姆绞街?,將存儲空間的每一個存儲結(jié)點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈?zhǔn)酱鎯Ψ绞奖软樞虼鎯Ψ绞降拇鎯臻g要大一些。4、執(zhí)行下列語句段后,輸出字符“*”的個數(shù)是()。for(inti=50;i>l;--i)eout<<‘*’:A、48B、49C、50D、51標(biāo)準(zhǔn)答案:B知識點解析:本題考查for循環(huán)語句,一一i表示用之前先減1,那么這個for循環(huán)語句只有50到2時才會輸出“木”,所以總共輸出49次。5、關(guān)于靜態(tài)成員的描述中,錯誤的是()。A、靜態(tài)成員可分為靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)B、靜態(tài)數(shù)據(jù)成員定義后必須在類體內(nèi)進(jìn)行初始化C、靜態(tài)數(shù)據(jù)成員初始化不使用其構(gòu)造函數(shù)D、靜態(tài)數(shù)據(jù)成員函數(shù)中不能直接引用非靜態(tài)成員標(biāo)準(zhǔn)答案:C知識點解析:可以在類的構(gòu)造函數(shù)中對靜態(tài)數(shù)據(jù)成員進(jìn)行初始化。6、C++中的模板包括()。A、對象模板和函數(shù)模板B、對象模板和類模板C、函數(shù)模板和類模板D、變量模板和對象模板標(biāo)準(zhǔn)答案:C知識點解析:本題考查函數(shù)模板和類模板,所以答案為c。7、“商品”與“顧客”兩個實體集之間的聯(lián)系一般是()。A、一對一B、一對多C、多對一D、多對多標(biāo)準(zhǔn)答案:D知識點解析:實體集間的聯(lián)系的個數(shù)可以是單個也可以是多個。兩個實體集之間的聯(lián)系實際上是實體集間的函數(shù)關(guān)系,這種關(guān)系有三種:一對一的聯(lián)系,簡記為1:1;一對多或多對一聯(lián)系,簡記為1:m或m:1;多對多聯(lián)系,簡記為m:n。本題中“商品”與“顧客”兩個實體集之間的聯(lián)系是多對多聯(lián)系。因為一種“商品”可以被多個“顧客”購買,而一個“顧客”也可以購買多個“商品”。8、在關(guān)系中凡能惟一標(biāo)識元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個鍵,它們稱為該表的()。A、連接碼B、關(guān)系碼C、外碼D、候選碼標(biāo)準(zhǔn)答案:D知識點解析:在關(guān)系中凡能惟一標(biāo)識元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個鍵,它們稱為該表的候選碼或候選鍵。從二維表的所有候選鍵中選取一個作為用戶使用的鍵稱為主鍵或主碼。9、有如下頭文件:imf1();staticintf2();classMA{public:intf3;();staticintf4();};在所描述的函數(shù)中,具有隱含的this指針的是()。A、f1B、f2C、f3D、f4標(biāo)準(zhǔn)答案:C知識點解析:只有類的非靜態(tài)成員函數(shù)才隱含this指針,其作用域是類內(nèi)部,當(dāng)類的非靜態(tài)成員函數(shù)中訪問類的非靜態(tài)成員時,編譯器會自動將對象本身的地址作為一個隱含參數(shù)傳遞給函數(shù),而不必一定寫上this。所以本題答案為C。10、Windows環(huán)境下,由C++源程序文件編譯而成的目標(biāo)文件的擴(kuò)展名是()。A、cppB、exeC、objD、lik標(biāo)準(zhǔn)答案:C知識點解析:在VC6.0集成開發(fā)環(huán)境下,用戶可以使用編譯(compile)命令將一個.cpp為擴(kuò)展名的C++源程序文件轉(zhuǎn)換成一個以.obj為擴(kuò)展名的目標(biāo)文件。11、數(shù)據(jù)庫設(shè)計的根本目標(biāo)是要解決A、數(shù)據(jù)共享問題B、數(shù)據(jù)安全問題C、大量數(shù)據(jù)存儲問題D、簡化數(shù)據(jù)維護(hù)標(biāo)準(zhǔn)答案:A知識點解析:數(shù)據(jù)庫應(yīng)用系統(tǒng)中的一個核心問題就是設(shè)計一個能滿足用戶要求、性能良好的數(shù)據(jù)庫,這就是數(shù)據(jù)庫設(shè)計。數(shù)據(jù)庫設(shè)計是在一定平臺制約下,根據(jù)信息需求與處理需求設(shè)計出性能良好的數(shù)據(jù)模式。數(shù)據(jù)庫設(shè)計的根本目標(biāo)是要解決數(shù)據(jù)共享的問題。12、下列程序的輸出結(jié)果是()。#include<iostream.h>voidff(intx),ff(doublex);voidmain(){floata(88.18);ff(a);charb(’a’);ff(b);}voidff(intx){cout<<’’ff(int):’’<<x<<end1;}voidff(doublex){cout<<’’ff(double):’’<<x<<end1;}A、ff(doub[e):88.18ff(int):97B、if(double)97ff(int)::88.18C、ff(int):97ff(int)::8.18D、ff(int):97ff(int)::88.18標(biāo)準(zhǔn)答案:A知識點解析:本題主要考查函數(shù)調(diào)用時從實參到形參的類型一致性。相同類型或小類型的實參可以傳給大類型的形參,但是不允許大類型的實參傳給小類型的形參。13、下列關(guān)于C++預(yù)定義流對象的敘述中,正確的是()。A、cin是C++預(yù)定義的標(biāo)準(zhǔn)輸入流對象B、cin是C++預(yù)定義的標(biāo)準(zhǔn)輸入流類C、cout是C++預(yù)定義的標(biāo)準(zhǔn)輸入流對象D、cout是C++預(yù)定義的標(biāo)準(zhǔn)輸入流類標(biāo)準(zhǔn)答案:A知識點解析:cin為istream流類的標(biāo)準(zhǔn)輸入對象,標(biāo)準(zhǔn)輸入設(shè)備就是指鍵盤。14、在C++中既可以用于文件輸入又可以用于文件輸出的流類是()。A、fstreamB、ifstreamC、ofstreamD、iostream標(biāo)準(zhǔn)答案:A知識點解析:文件流以磁盤文件以及其他可按文件方式進(jìn)行管理的外部設(shè)備為輸入輸出對象。ifstream是文件輸入流類,ofstream是文件輸出流類,fstream是文件輸入輸出流類,當(dāng)使用cin、cout的預(yù)定義流對象進(jìn)行針對標(biāo)準(zhǔn)設(shè)備的I/O操作,則需要使用iostream文件。15、有如下程序:#inc1ude<iostream>usingnamespacestd;c1assMedia{public:voidName();voidShow();protected:intpage;};c1assBook:privateMedia{public:voidPrint(){cout<<page<<end1;}voidShow0{Media::Show0;)//①};intrruun(){BookBible;Bible.Name();,//②Bible.Print();//③Bible.Show();//④retum();}編譯時有錯誤的是()。A、語句①B、語句②C、語句③D、語句④標(biāo)準(zhǔn)答案:B知識點解析:類Book私有繼承自類Media,所以類Media中的公有成員函數(shù)Name()在繼承類Book中變成了私有成員函數(shù),因而類Book的對象Bible不能訪問私有成員函數(shù)Name()。16、有如下程序:#include<iostream>usingnamespacestd;classA{public:A(inti){x=i;}voiddispa,(){cout<<x<<’,’;}private:intx;};classB:publicA{public:B(inti):A(i+10){x=i;}voiddispb(){dispa();cout<<x<<endl;}privateintx:};intmain(){Bb(2);b.dispb();return0;}運(yùn)行時輸出的結(jié)果是()。A、10,2B、12,10C、12,2D、2,2標(biāo)準(zhǔn)答案:C知識點解析:此題考查的是派生類的構(gòu)造。主函數(shù)中,首先聲明B類的對象b,執(zhí)行進(jìn)入B的構(gòu)造函數(shù)B(inti)再接著執(zhí)行A的構(gòu)造函數(shù)A(inti),形參i為12,x被賦值12;通過對象b調(diào)用其成員函數(shù)dispb(),輸出結(jié)果12:接著執(zhí)行函數(shù)dispb()的第2條語句輸出2,然后主函數(shù)結(jié)束。17、在語句cin>>data;中,cin是()。A、C++的關(guān)鍵字B、類名C、對象名D、函數(shù)名標(biāo)準(zhǔn)答案:C知識點解析:此題考查的是預(yù)定義流對象。c++有4個預(yù)定義的流對象:cin—標(biāo)準(zhǔn)輸入;cout—標(biāo)準(zhǔn)輸出;cerr—標(biāo)準(zhǔn)出錯信息輸出:clog—帶緩沖的標(biāo)準(zhǔn)出錯信息輸出。18、下列模板聲明中,有語法錯誤的是()。A、template<typenameT>Tfun(Tx){returnx;}B、template<typenameT>Tfun(Tx,intn){returnx*n;}C、template<classT>Tfun(T*p){return*p;}D、template<classT>TclassA{Tn;};標(biāo)準(zhǔn)答案:D知識點解析:第四個選項是定義類模板的,但是class前面的T是多余的。對于第二個選項,同一個類的對象相乘還是同一個類的對象,但是可能要考慮溢出的問題。19、下列關(guān)于C++流的描述中,錯誤的是()。A、cout>>’A’表達(dá)式可輸出字符AB、eof()函數(shù)可以檢測是否到達(dá)文件尾C、對磁盤文件進(jìn)行流操作時,必須包含頭文件fstreamD、以ios_base::out模式打開的文件不存在時,將自動建立一個新文件標(biāo)準(zhǔn)答案:A知識點解析:Cout是一個標(biāo)準(zhǔn)輸出流對象。>>稱之為提取運(yùn)算符,它的功能是從輸入流中提取數(shù)據(jù)賦值給一個變量。<<為插入運(yùn)算符,其功能是把表達(dá)式的值插入到輸出流中。當(dāng)系統(tǒng)執(zhí)行cout<<x操作時,首先根據(jù)x值的類型調(diào)用相應(yīng)的插入運(yùn)算符重載器函數(shù),把x的值傳送給對應(yīng)的形參,接著執(zhí)行函數(shù)體,把x的值輸出到顯示器屏幕上,在當(dāng)前屏幕光標(biāo)位置處顯示出來,然后返回ostream流,以便繼續(xù)使用插入運(yùn)算符輸出下一個表達(dá)式的值。對于本題來說,要輸出字符‘A’的值應(yīng)該寫成cout<’A’,因而選項A)是錯誤的。20、有如下程序:#include<iostream>usingnamespacestd;classBase{public:virtualvoidfunction1(){tout<<’0’;}voidfunction2(){cout<<’1’;}};classDerived:publicBase{public:voidfunction1(){tout<<’2’;}voidfunction2(){cout<<’3’;}};intmain(){Base*p=newDerived();p->function1();p->function2();return0;};運(yùn)行時的輸出結(jié)果是()。A、01B、21C、03D、23標(biāo)準(zhǔn)答案:B知識點解析:函數(shù)function1()在基類Base中定義為虛成員函數(shù),而在派生類Dervied中重新進(jìn)行了定義,輸出字符2,函數(shù)function2()在基類Base中定義虛成員函數(shù),在主函數(shù)中使用指向基類的指針變量p訪問function2()時,輸出1。21、在下列枚舉符號中,用來表示“相對于當(dāng)前位置”文件定位方式的是()。A、ios_base::curB、ios_base::begC、ios_base::outD、ios_base::end.標(biāo)準(zhǔn)答案:A知識點解析:C++流的定位方式(也就是指針移動方式)有三種,被定義為ios_base::seek_dir中的一組枚舉符號:ios_base::beg相當(dāng)于文件首;ios_base::cur。相當(dāng)于當(dāng)前位置(負(fù)數(shù)表示當(dāng)前位置之前);ios_base::end相對于文件尾。22、下列關(guān)于賦值運(yùn)算符“=”重載的敘述中,正確的是()。A、賦值運(yùn)算符只能作為類的成員函數(shù)重載B、默認(rèn)的賦值運(yùn)算符實現(xiàn)了“深層復(fù)制”功能C、重載的賦值運(yùn)算符函數(shù)有兩個本類對象作為形參D、如果已經(jīng)定義了復(fù)制(拷貝)構(gòu)造函數(shù),就不能重載賦值運(yùn)算符標(biāo)準(zhǔn)答案:A知識點解析:賦值運(yùn)算符“=”只能作為成員函數(shù)重載。國家二級C++機(jī)試(選擇題)模擬試卷第6套一、選擇題(本題共20題,每題1.0分,共20分。)1、有如下程序:#includeusingnamespacestd;intmain(){int*p;*p=9;eout<<“Thevalueatp:”<<*p;retum0:編譯運(yùn)行程序?qū)⒊霈F(xiàn)的情況是()。A、編譯時出現(xiàn)語法錯誤,不能生成可執(zhí)行文件B、運(yùn)行時一定輸出:Thevalueatp:9C、運(yùn)行時一定輸出:Thevalueatp:*9D、運(yùn)行時有可能出錯標(biāo)準(zhǔn)答案:D知識點解析:先定義指針變量,然后給指針變量賦初值有三種情況:①用取地址運(yùn)算符“&”將變量地址賦給指針變量,如p=&a;②將一個指針變量中的地址賦給另一個指針變量,如p=p1;③給指針變量賦空值0,如q=0,表示該指針變量不指向任何變量。而不能用一個常量給指針變量賦初值,所以本題選D。2、運(yùn)算符重載是對已有的運(yùn)算符賦予多重含義,因此()。A、可以對基本類型(如int類型)的數(shù)據(jù),重新定義“+”運(yùn)算符的含義B、可以改變一個已有運(yùn)算符的優(yōu)先級和操作數(shù)個數(shù)C、只能重載C++中已經(jīng)有的運(yùn)算符,不能定義新運(yùn)算符D、C++中已經(jīng)有的所有運(yùn)算符都可以重載標(biāo)準(zhǔn)答案:C知識點解析:重載運(yùn)算符的規(guī)則如下:①c++不允許用戶自己定義新的運(yùn)算符,只能對已有的C++運(yùn)算符進(jìn)行重載;②C++不能重載的運(yùn)算符只有5個;③重載不能改變運(yùn)算符運(yùn)算對象的個數(shù);④重載不能改變運(yùn)算符的優(yōu)先級和結(jié)合性;⑤重載運(yùn)算符的函數(shù)不能有默認(rèn)的參數(shù);⑥重載的運(yùn)算符必須和用戶定義的自定義類型的對象一起使用,至少應(yīng)有一個是類對象,即不允許參數(shù)全部是C++的標(biāo)準(zhǔn)類型。故本題答案為C。3、下列敘述中正確的是A、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的B、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空問一般要多于順序存儲結(jié)構(gòu)C、線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)所需要的存儲空間一般要少于順序存儲結(jié)構(gòu)D、上述三種說法都不對標(biāo)準(zhǔn)答案:B知識點解析:線性表的存儲分為順序存儲和鏈?zhǔn)酱鎯?。在順序存儲中,所有?/p>

溫馨提示

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

最新文檔

評論

0/150

提交評論