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

下載本文檔

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

文檔簡介

國家二級C++機(jī)試(選擇題)模擬試卷10(共9套)(共330題)國家二級C++機(jī)試(選擇題)模擬試卷第1套一、選擇題(本題共38題,每題1.0分,共38分。)1、下列關(guān)于棧敘述正確的是()。A、算法就是程序B、設(shè)計(jì)算法時(shí)只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)C、設(shè)計(jì)算法時(shí)只需要考慮結(jié)果的可靠性D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:算法是指解題方案的準(zhǔn)確而完整的描述,算法不等于程序,也不等于計(jì)算方法,所以A)錯(cuò)誤。設(shè)計(jì)算法時(shí)不僅要考慮對數(shù)據(jù)對象的運(yùn)算和操作,還要考慮算法的控制結(jié)構(gòu)。2、下列敘述中正確的是()。A、有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)B、只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)C、循環(huán)鏈表是非線性結(jié)構(gòu)D、雙向鏈表是非線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:線性結(jié)構(gòu)應(yīng)滿足:有且只有一個(gè)根結(jié)點(diǎn)與每個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,所以B)正確。所以有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu),所以A)錯(cuò)誤。循環(huán)鏈表和雙向鏈表都是線性結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)。3、下列關(guān)于二叉樹的敘述中,正確的是()。A、葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)少一個(gè)B、葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè)C、葉子結(jié)點(diǎn)數(shù)是度為2的結(jié)點(diǎn)數(shù)的兩倍D、度為2的結(jié)點(diǎn)數(shù)是度為1的結(jié)點(diǎn)數(shù)的兩倍標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:根據(jù)二叉樹的基本性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè)。所以選擇B4、軟件生命周期中的活動不包括()。A、市場調(diào)研B、需求分析C、軟件測試D、軟件維護(hù)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:軟件生命周期可以分為軟件定義、軟件開發(fā)與軟件運(yùn)行維護(hù)三個(gè)階段。主要活動階段是:可行性研究與計(jì)劃階段,需求分析,軟件設(shè)計(jì),軟件實(shí)現(xiàn),軟件測試,運(yùn)行和維護(hù),所以選擇A。5、某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:該系統(tǒng)總體結(jié)構(gòu)圖的深度是()。A、7B、6C、3D、2標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:根據(jù)總體結(jié)構(gòu)圖可以看出該樹的深度為3,比如:XY系統(tǒng)---功能2----功能2.1,就是最深的度數(shù)的一個(gè)表現(xiàn)。6、程序調(diào)試的任務(wù)是()。A、設(shè)計(jì)測試用例B、驗(yàn)證程序的正確性C、發(fā)現(xiàn)程序中的錯(cuò)誤D、診斷和改正程序中的錯(cuò)誤標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。7、下列關(guān)于數(shù)據(jù)庫設(shè)計(jì)的敘述中,正確的是()。A、在需求分析階段建立數(shù)據(jù)字典B、在概念設(shè)計(jì)階段建立數(shù)據(jù)字典C、在邏輯設(shè)計(jì)階段建立數(shù)據(jù)字典D、在物理設(shè)計(jì)階段建立數(shù)據(jù)字典標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫設(shè)計(jì)過程中不斷修改、充實(shí)和完善的。8、數(shù)據(jù)庫系統(tǒng)的三級模式不包括()。A、概念模式B、內(nèi)模式C、外模式D、數(shù)據(jù)模式標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:數(shù)據(jù)庫系統(tǒng)的三級模式是概念模式、外模式和內(nèi)模式,所以選擇D。9、有三個(gè)關(guān)系R、S和T如下:則由關(guān)系R和S得到關(guān)系T的操作是()。A、自然連接B、交C、投影D、并標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以根據(jù)T中元組可以判斷R和S做的是自然連接操作。10、下列選項(xiàng)中屬于面向?qū)ο笤O(shè)計(jì)方法主要特征的是()。A、繼承B、自頂向下C、模塊化D、逐步求精標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:面向?qū)ο蠡痉椒ǖ幕靖拍钣袑ο蟆㈩惡蛯?shí)例、消息、繼承與多態(tài)性,所以選擇A。11、下列字符串中不能作為C++標(biāo)識符使用的是A、INTB、testC、_1481D、1temp標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:用來表示變量、符號常量、函數(shù)、數(shù)組類型等實(shí)體名字的有效字符序列稱為標(biāo)識符,標(biāo)識符由字母、數(shù)字、和下劃線3種字符組成,且第一個(gè)字符必須為字母或者下劃線。所以D選項(xiàng)錯(cuò)誤。12、下列語句中錯(cuò)誤的是A、constint*p=0;B、constinty=99;C、constintx;D、constint*p=newint(100);標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:const是一個(gè)C++語言的關(guān)鍵字,它限定一個(gè)變量不允許被改變,C++定義const類型變量時(shí)必須初始化,否則編譯不通過。所以C選項(xiàng)錯(cuò)誤。13、有如下程序:#includeusingnamespacestd;intmain(){intsum;for(inti=0;i<3;i+=1){sum=i;for(intj=i;j<9;j++)sum+=j;}cout<<sum<A、39B、17C、110D、37標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:考查for循環(huán)語句,本題中兩層for循環(huán),每次i循環(huán),sum都被重新賦值,所以當(dāng)i=2時(shí),執(zhí)行完for循環(huán)后sum為37。所以答案為D。14、下列語句中,正確的是A、charstr="abcde";B、char*str="abcde";C、charstr[5]="abcde";D、char*str[5]="abcde";標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查字符串的定義,A選項(xiàng)中,定義了一個(gè)字符,而用字符串賦值,所以錯(cuò)誤,C選項(xiàng)定義了字符數(shù)組,但是賦值的字符串實(shí)際上有6個(gè)字符,所以賦值錯(cuò)誤,D選項(xiàng)定義了一個(gè)字符串指針數(shù)組,賦值錯(cuò)誤。15、有如下程序段:inti=1;intj=4;intmain(){inti=8,j=i;cout<A、14B、81C、88D、18標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:全局變量也稱為外部變量,它是在函數(shù)外部定義的變量。它不屬于哪一個(gè)函數(shù),它屬于一個(gè)源程序文件。其作用域是整個(gè)源程序。在函數(shù)中使用全局變量,一般應(yīng)作全局變量說明,本題中定義了兩個(gè)全局變量i,j,所以主函數(shù)中對全局變量重新賦值輸出后為88,所以答案為C。16、下列關(guān)于函數(shù)參數(shù)的敘述中,正確的是A、在函數(shù)原型中不必聲明形參類型B、在調(diào)用一個(gè)函數(shù)時(shí),若函數(shù)中修改了形參變量的值,則對應(yīng)的實(shí)參變量的值也被修改C、函數(shù)形參的生存期與整個(gè)程序的運(yùn)行期相同D、函數(shù)的形參在函數(shù)被調(diào)用時(shí)獲得初始值標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查函數(shù)參數(shù)的相關(guān)知識,函數(shù)原型中必須聲明形參類型,所以A選項(xiàng)錯(cuò)誤,調(diào)用一個(gè)函數(shù)時(shí)如果修改了形參值,那么實(shí)參可能改變也可能不改變,所以B選項(xiàng)錯(cuò)誤,函數(shù)形參的生存期一般在函數(shù)執(zhí)行整個(gè)函數(shù)中存在,除了靜態(tài)變量。17、下列關(guān)于賦值運(yùn)算符=重載的敘述中,正確的是A、賦值運(yùn)算符只能作為類的成員函數(shù)重載B、默認(rèn)的賦值運(yùn)算符實(shí)現(xiàn)了"深層復(fù)制"功能C、重載的賦值運(yùn)算符函數(shù)有兩個(gè)本類對象作為形參D、如果已經(jīng)定義了復(fù)制(拷貝)構(gòu)造函數(shù),就不能重載賦值運(yùn)算符標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查字符串的定義,A選項(xiàng)中,定義了一個(gè)字符,而用字符串賦值,所以錯(cuò)誤,C選項(xiàng)定義了字符數(shù)組,但是賦值的字符串實(shí)際上有6個(gè)字符,所以賦值錯(cuò)誤,D選項(xiàng)定義了一個(gè)字符串指針數(shù)組,賦值錯(cuò)誤。18、在對函數(shù)進(jìn)行原型聲明時(shí),下列語法成分中不需要的是A、函數(shù)返回類型B、函數(shù)參數(shù)列表C、函數(shù)名D、函數(shù)體標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:函數(shù)原型中,函數(shù)名、函數(shù)返回值、函數(shù)參數(shù)列表是需要的,而函數(shù)體在函數(shù)申明時(shí)不需要。所以答案為D。19、若已經(jīng)聲明了函數(shù)原型"boolfun(boola,intb=0);",則下列重載函數(shù)聲明中正確的是A、boolfun(boola=true,intb=0);B、intfun(boola,intB);C、voidfun(doublea,intB);D、voidfun(boola,intb=0);標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查函數(shù)重載相關(guān)知識,重載函數(shù)是函數(shù)的一種特殊情況,為方便使用,C++允許在同一范圍中聲明幾個(gè)功能類似的同名函數(shù),但是這些同名函數(shù)的形式參數(shù)(指參數(shù)的個(gè)數(shù)、類型或者順序)必須不同,也就是說用同一個(gè)運(yùn)算符完成不同的運(yùn)算功能。ABD選項(xiàng)的形參都與原函數(shù)相同,所以不能作為重載函數(shù),選項(xiàng)C正確。20、下列運(yùn)算符函數(shù)中,肯定不屬于類Number的成員函數(shù)的是A、Numberoperator+(Number);B、Numberoperator-(Number);C、Numberoperator*(int);D、Numberoperator/(Number,Number);標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:答案D的形式是重載為友元函數(shù),而友元函數(shù)不屬于類的成員函數(shù)。所以重載為友元函數(shù)需要兩個(gè)參數(shù),通過參數(shù)傳遞的方式得到參加運(yùn)算的兩個(gè)對象。其他的是重載為類的成員函數(shù),由于對象本身代表了一個(gè)操作數(shù),所以其參數(shù)只需要一個(gè),其為參加運(yùn)算的另一個(gè)操作數(shù)。21、已知函數(shù)f的原型為voidf(int&a,double*b);變量x、y的定義是intx;doubley;則下列調(diào)用該函數(shù)的語句中正確的是A、f(x,&y);B、f(x,y);C、f(&x,&y);D、f(&x,y);標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查函數(shù)的調(diào)用,函數(shù)原型中第一個(gè)參數(shù)為引用,第二個(gè)參數(shù)為指針,所以只有A選項(xiàng)正確。22、在C++中,編譯系統(tǒng)自動為一個(gè)類生成默認(rèn)構(gòu)造函數(shù)的條件是A、該類沒有定義任何有參構(gòu)造函數(shù)B、該類沒有定義任何無參構(gòu)造函數(shù)C、該類沒有定義任何構(gòu)造函數(shù)D、該類沒有定義任何成員函數(shù)標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查默認(rèn)構(gòu)造函數(shù),如果用戶定義的類中沒有顯式的定義任何構(gòu)造函數(shù),編譯器就會自動為該類型生成默認(rèn)構(gòu)造函數(shù),稱為合成的構(gòu)造函數(shù)。C選項(xiàng)正確。23、有如下程序:#includeusingnamespacestd;classSample{public:Sample(){}~Sample(){cout<<’*’;}};intmain(){Sampletemp[2],*pTemp[2];return0;}運(yùn)行這個(gè)程序輸出星號*的個(gè)數(shù)為A、1B、2C、3D、4標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查構(gòu)造函數(shù)和析構(gòu)函數(shù),題中定義了對象數(shù)組,那么析構(gòu)時(shí)就析構(gòu)兩次,輸出兩個(gè)*。答案為B。24、下列有關(guān)類成員的敘述中,正確的是A、友元函數(shù)是類的成員函數(shù)B、類成員的默認(rèn)訪問權(quán)限是私有的C、類成員函數(shù)必須聲明為公有的D、類的靜態(tài)數(shù)據(jù)成員不能是常成員標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:友元函數(shù)不是類的成員函數(shù),但是可以具有類的成員的一些訪問權(quán)限,類的成員訪問權(quán)限默認(rèn)是私有的,類的成員函數(shù)可以聲明為私有,類的靜態(tài)數(shù)據(jù)成員可以是常成員。25、下列關(guān)于虛函數(shù)的敘述中,正確的是A、虛函數(shù)不得是靜態(tài)成員函數(shù)B、從虛基類繼承的函數(shù)都是虛函數(shù)C、只能通過指針或引用調(diào)用虛函數(shù)D、抽象類中的成員函數(shù)都是虛函數(shù)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查虛函數(shù),在某基類中聲明為virtual并在一個(gè)或多個(gè)派生類中被重新定義的成員函數(shù)成為虛函數(shù),虛函數(shù)不得是靜態(tài)成員函數(shù),但可以是友元函數(shù)26、下列關(guān)于基類和派生類關(guān)系的敘述中,正確的是A、派生類中的成員可以訪問基類中的任何成員B、每個(gè)類最多只能有一個(gè)直接基類C、基類的構(gòu)造函數(shù)必須在派生類的構(gòu)造函數(shù)體中調(diào)用D、派生類除了繼承基類的成員,還可以定義新的成員標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查繼承與派生,派生類中的成員訪問基類中的成員由派生方式?jīng)Q定,一個(gè)類可以有多個(gè)直接基類,如果基類中定義了缺省構(gòu)造函數(shù)或根本沒有定義任何一個(gè)構(gòu)造函數(shù)(此時(shí),由編譯器自動生成缺省構(gòu)造函數(shù))時(shí),在派生類構(gòu)造函數(shù)的定義中可以省略對基類構(gòu)造函數(shù)的調(diào)用,即省略"<基類名>(<參數(shù)表>)"。本題答案為D。27、有如下類定義:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{protected:voidfun4(){}};若obj是類D的對象,則下列語句中不違反訪問控制權(quán)限的是A、obj.fun1();B、obj.fun2();C、obj.fun3();D、obj.fun4();標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查派生類對基類成員的訪問屬性,派生類私有繼承基類,那么基類的公用成員和保護(hù)成員在派生類中成為私有成員,所以派生類可以直接使用基類的公用成員,A選項(xiàng)正確。28、有如下類定義:classCup{public:Cup(doubleval,stringcr="red"):price(val),color(cr){}//①~Cup();//②private:stringcolor;//③doubleprice=5.8;//④};在標(biāo)注號碼的語句行中存在語法錯(cuò)誤的是A、①B、②C、③D、④標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查如何初始化對象,其中類的數(shù)據(jù)成員是不能再聲明類時(shí)初始化的,所以D選項(xiàng)錯(cuò)誤,在定義類的同時(shí)對數(shù)據(jù)成員price進(jìn)行賦值是錯(cuò)誤的。29、有如下類定義:classTV{public:TV(ints=41,stringbr="TCL"):size(s),brand(br){}~TV(){}private:intsize;stringbrand;};若執(zhí)行語句TVli,*net[2],company[3];則TV類的構(gòu)造函數(shù)被調(diào)用的次數(shù)是A、6次B、4次C、3次D、2次標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查構(gòu)造函數(shù)和析構(gòu)函數(shù),題中定義了一個(gè)對象,以及對象數(shù)組,那么構(gòu)造函數(shù)需要執(zhí)行4次,而*net[2]并不執(zhí)行構(gòu)造函數(shù),所以答案為B。30、有如下程序:#include#includeusingnamespacestd;classMyBag{public:MyBag(stringbr,stringcr):brand(br),color(cr){++count;}~MyBag(){--count;}staticintGetCount(){returncount;}private:stringbrand,color;staticintcount;};_____________________intmain(){MyBagone("CityLife","Gray"),two("Micky","Red");cout<A、intcount=0;B、staticintcount=0;C、intMyBag::count=0;D、staticintMyBag::count=0;標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查構(gòu)造函數(shù)和析構(gòu)函數(shù),以及靜態(tài)數(shù)據(jù)成員,題目中要求輸出2,那么定義兩個(gè)對象時(shí),就執(zhí)行構(gòu)造函數(shù),使得靜態(tài)數(shù)據(jù)成員++count,得到2,那么count初始化就應(yīng)該為0,靜態(tài)數(shù)據(jù)成員初始化時(shí),只能在類體外進(jìn)行初始化,一邊形式為:數(shù)據(jù)類型類型::靜態(tài)數(shù)據(jù)成員名=初值31、有如下程序:#includeusingnamespacestd;classTV{public:TV(ints=41):size(s){}voidPrint(){cout<<’/’<<’N’<A、/N41/C54B、/N41/S54C、/C41/N54D、/C41/C54標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查構(gòu)造函數(shù)相關(guān)知識,本題中定義一個(gè)對象room1,執(zhí)行room1.Print時(shí)執(zhí)行構(gòu)造函數(shù)給size賦值為41,然后執(zhí)行voidPrint(){cout<<’/’<<’N’<32、有如下類定義:classVechicle{//基類public:Vechicle(strings):name(s){}protected:stringname;};_____________________{//Vechicle的派生類public:Bicycle(stringname):Vechicle(name){}};橫線處缺失部分為A、classVechicle:publicBicycleB、classBicycle:classVechicleC、classBicycle:publicVechicleD、classBicycle:publicclassVechicle標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查如何定義派生類以及派生類對基類成員的訪問,聲明派生類的一般形式為:class派生類名:[繼承方式]基類名題目中只有公用繼承才能使用基類中name成員,所以C選項(xiàng)正確。33、有如下程序:#includeusingnamespacestd;classPoint{public:Point(intxx=0,intyy=0):x(xx),y(yy){}voidSetX(intxx){x=xx;}voidSetY(intyy){y=yy;}private:intx,y;};classCircle:Point{public:Circle(intr):radius(r){}intGetRadius(){returnradius;}private:voidSetRadius(intr){radius=r;}intradius;};intmain(){Circlec1(5);c1.SetX(1);//①c1.SetY(2);//②c1.SetRadius(10);//③cout<A、①B、②C、③D、④標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查對象成員的引用,在類外引用對象的數(shù)據(jù)成員時(shí),只能訪問public成員而不能訪問private成員所以C選項(xiàng)錯(cuò)誤,D選項(xiàng)正確,派生類公用繼承基類,但是不能繼承基類的私有成員,所以執(zhí)行c1.SetX(1)錯(cuò)誤,同理B選項(xiàng)錯(cuò)誤。34、有如下程序:#include#includeusingnamespacestd;classPerson{public:Person(stringn):name(n){cout<<’P’;}private:stringname;};classDate{public:Date(inty=2012,intm=12,intd=21):year(y),month(m),day(d){cout<<’D’;}private:intyear,month,day;};classStudent:publicPerson{public:Student(stringn,inty,intm,intd,charc):birthday(y,m,d),sex(c),Person(n){cout<<’S’;}private:Datebirthday;charsex;};intmain(){Studentstu1("Zhang",1990,10,1,’F’);return0;}運(yùn)行時(shí)的輸出結(jié)果是A、SB、PSC、DPSD、PDS標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查派生類的構(gòu)造函數(shù),派生類的構(gòu)造函數(shù)初始化時(shí)按照參數(shù)列表初始化順序,所以先初始化Person(n),輸出P,然后依次輸出D和S,答案為D選項(xiàng)。35、下列關(guān)于模板的敘述中,錯(cuò)誤的是A、調(diào)用模板函數(shù)時(shí),在一定條件下可以省略模板實(shí)參B、可以用int、double這樣的類型修飾符來聲明模板參數(shù)C、模板聲明中的關(guān)鍵字class都可以用關(guān)鍵字typename替代D、模板的形參表中可以有多個(gè)參數(shù)標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查類模板是是類的抽象,類是類模板的實(shí)例。模板的類型參數(shù)由關(guān)鍵字class或關(guān)鍵字typename及其后的標(biāo)識符構(gòu)成,(在標(biāo)準(zhǔn)C++之前關(guān)鍵字typename沒有被支持,把這個(gè)關(guān)鍵字加入到C++中的原因是因?yàn)橛袝r(shí)必須要靠它來指導(dǎo)編譯器解釋模板定義。)本題C選項(xiàng)錯(cuò)誤。36、下列模板聲明中,有語法錯(cuò)誤的是A、templateTfun(Tx){returnx;}B、templateTfun(Tx,intn){returnx*n;}C、templateTfun(T*p){return*p;}D、templateTclassA{Tn;};標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查模板的定義,B選項(xiàng)中x為T類型的,n為int型的,但是x*n就不一定是T類型的,所以錯(cuò)誤。37、要利用C++流實(shí)現(xiàn)輸入輸出的各種格式控制,必須在程序中包含的頭文件是A、fstreamB、istreamC、ostreamD、iomanip標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查格式控制相關(guān)知識,屬于基礎(chǔ)知識,需要包含iomanip,所以D選項(xiàng)正確。38、若目前D盤根目錄下并不存在test.txt文件,則下列打開文件方式不會自動創(chuàng)建test.txt文件的是A、ifstreamfin;fin.open("d:\\test.txt",ios_base::in);B、fstreamfio;fio.open("d:\\test.txt",ios_base::out);C、ofstreamfout;fout.open("d:\\test.txt",ios_base::out);D、ofstreamfout;fout.open("d:\\test.txt",ios_base::app);標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查文件流的一些操作,ios::in是以輸入方式打開文件,如果沒有則不會創(chuàng)建一個(gè)新文件,所以A選項(xiàng)正確。國家二級C++機(jī)試(選擇題)模擬試卷第2套一、選擇題(本題共38題,每題1.0分,共38分。)1、下列敘述中正確的是()。A、循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu)B、循環(huán)隊(duì)列是隊(duì)列的一種順序存儲結(jié)構(gòu)C、循環(huán)隊(duì)列是非線性結(jié)構(gòu)D、循環(huán)隊(duì)列是一種邏輯結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:在實(shí)際應(yīng)用中,隊(duì)列的順序存儲結(jié)構(gòu)一般采用循環(huán)隊(duì)列的形式。2、下列關(guān)于線性鏈表的敘述中,正確的是()。A、各數(shù)據(jù)結(jié)點(diǎn)的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致B、各數(shù)據(jù)結(jié)點(diǎn)的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)C、進(jìn)行插入與刪除時(shí),不需要移動表中的元素D、以上說法均不正確標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:一般來說,在線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲序號是不連續(xù)的,并且各結(jié)點(diǎn)在存儲空間中的位置關(guān)系與邏輯關(guān)系也不一致。線性鏈表中數(shù)據(jù)的插入和刪除都不需要移動表中的元素,只需改變結(jié)點(diǎn)的指針域即可。3、一棵二叉樹共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為1的結(jié)點(diǎn)數(shù)為()A、16B、10C、6D、4標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè),所以本題中度為2的結(jié)點(diǎn)是5-1=4個(gè),所以度為1的結(jié)點(diǎn)的個(gè)數(shù)是25-5-4=16個(gè)。4、在下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是()。A、外模式B、內(nèi)模式C、概念模式D、邏輯模式標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:數(shù)據(jù)庫系統(tǒng)的三級模式是概念模式、外模式和內(nèi)模式。概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,給出了每個(gè)用戶的局部數(shù)據(jù)描述。內(nèi)模式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法,所以選擇B。5、在滿足實(shí)體完整性約束的條件下()。A、一個(gè)關(guān)系中應(yīng)該有一個(gè)或多個(gè)候選關(guān)鍵字B、一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵字C、一個(gè)關(guān)系中必須有多關(guān)鍵字個(gè)候選D、一個(gè)關(guān)系中可以沒有候選關(guān)鍵字標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:實(shí)體完整性約束要求關(guān)系的主鍵中屬性值不能為空值,所以選擇A。6、下面描述中,不屬于軟件危機(jī)表現(xiàn)的是()。A、軟件過程不規(guī)范B、軟件開發(fā)生產(chǎn)率低C、軟件質(zhì)量難以控制D、軟件成本不斷提高標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:軟件危機(jī)主要表現(xiàn)在:軟件需求的增長得不到滿足;軟件開發(fā)成本和進(jìn)度無法控制;軟件質(zhì)量難以保證;軟件不可維護(hù)或維護(hù)程度非常低;軟件的成本不斷提高;軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。所以選擇A。7、下面不屬于需求分析階段任務(wù)的是()。A、確定軟件系統(tǒng)的功能需求B、確定軟件系統(tǒng)的性能需求C、需求規(guī)格說明書評審D、制定軟件集成測試計(jì)劃標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:需求分析階段的工作有:需求獲?。恍枨蠓治?;編寫需求規(guī)格說明書;需求評審,所以選擇D。8、在黑盒測試方法中,設(shè)計(jì)測試用例的主要根據(jù)是()。A、程序內(nèi)部邏輯B、程序外部功能C、程序數(shù)據(jù)結(jié)構(gòu)D、程序流程圖標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:黑盒測試是對軟件已經(jīng)實(shí)現(xiàn)的功能是否滿足需求進(jìn)行測試和驗(yàn)證,黑盒測試完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只根據(jù)程序的需求和功能規(guī)格說明,檢查程序的功能是否符合它的功能說明,所以本題選擇B。9、在軟件設(shè)計(jì)中不使用的工具是()。A、系統(tǒng)結(jié)構(gòu)圖B、PAD圖C、數(shù)據(jù)流圖(DFD圖)D、程序流程圖標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:系統(tǒng)結(jié)構(gòu)圖是對軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)的圖形顯示。在需求分析階段,已經(jīng)從系統(tǒng)開發(fā)的角度出發(fā),把系統(tǒng)按功能逐次分割成層次結(jié)構(gòu),是在概要設(shè)計(jì)階段用到的。PAD圖是在詳細(xì)設(shè)計(jì)階段用到的。程序流程圖是對程序流程的圖形表示,在詳細(xì)設(shè)計(jì)過程中用到。數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型,是在可行性研究階段用到的而非軟件設(shè)計(jì)時(shí)用到,所以選擇C。10、下列術(shù)語中,能表明面向?qū)ο笏枷胫饕卣鞯氖茿、封裝性B、靈活性C、安全性D、可靠性標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:C++作為面向?qū)ο蟮恼Z言,具有三種特點(diǎn)封裝性、繼承性、多態(tài)性。所以答案為A。11、有如下程序段:inti=2;intj=3;intmain(){inti=9,j=i;cout<A、23B、93C、99D、39標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:全局變量也稱為外部變量,它是在函數(shù)外部定義的變量。它不屬于哪一個(gè)函數(shù),它屬于一個(gè)源程序文件。其作用域是整個(gè)源程序。在函數(shù)中使用全局變量,一般應(yīng)作全局變量說明,本題中定義了兩個(gè)全局變量i,j,所以主函數(shù)中對全局變量重新賦值輸出后為99,所以答案為C。12、有如下程序段:inti=9;while(inti=0){cout<<’*’;i--;}運(yùn)行時(shí)輸出*的個(gè)數(shù)是A、0B、1C、9D、無窮標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查賦值運(yùn)算和while循環(huán),i被賦值為為0,所以while中的判斷條件為假,不執(zhí)行循環(huán)體,所以輸出為0個(gè)。13、已知有數(shù)組定義chara[3][4];下列表達(dá)式中錯(cuò)誤的是A、a[0]="AAA"B、strcpy(a[1],"BBB")C、a[2][3]=’C’D、a[1][1]=a[2][2]標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查二維字符數(shù)組,a[0]="AAA"中a[0]表示一個(gè)地址,不能將字符串直接賦值給指針,所以A選項(xiàng)錯(cuò)誤。14、有如下程序段:inti=1;while(1){i++;if(i==100)break;if(i%2==0)cout<<’*’;}執(zhí)行這個(gè)程序段輸出字符*的個(gè)數(shù)是A、100B、48C、49D、50標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題中while循環(huán)中當(dāng)i為偶數(shù)時(shí)輸出*,而i為100時(shí)跳出循環(huán),所以輸出49個(gè)*,答案為C。15、下列關(guān)于return語句的敘述中,正確的是A、任何函數(shù)的函數(shù)體中至少有一個(gè)return語句B、任何函數(shù)的函數(shù)體中最后一條語句必須是return語句C、如果函數(shù)的返回類型為void,則其函數(shù)體中可以沒有return語句D、如果函數(shù)的返回類型為int,則其函數(shù)體中可以沒有return語句標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查函數(shù)返回類型,函數(shù)如果返回為void,那么函數(shù)體內(nèi)可以沒有return語句,如果函數(shù)有返回值,那么在函數(shù)體中就必須有return語句。16、下列關(guān)于運(yùn)算符重載的敘述中正確的是A、跟普通函數(shù)一樣,可以為重載的運(yùn)算符函數(shù)的參數(shù)設(shè)置默認(rèn)值B、通過重載,可以改變一個(gè)運(yùn)算符原有的優(yōu)先級和操作數(shù)個(gè)數(shù)C、只能重載C++中已經(jīng)有的運(yùn)算符,不能定義新運(yùn)算符D、C++中已有的運(yùn)算符都可以重載標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查運(yùn)算符重載,重載不能改變運(yùn)算符運(yùn)算對象的個(gè)數(shù);不能改變運(yùn)算符的優(yōu)先級別;不能改變運(yùn)算符的結(jié)合性;重載運(yùn)算符的函數(shù)不能有默認(rèn)值,否則就改變了運(yùn)算符參數(shù)的個(gè)數(shù);不能定義新的運(yùn)算符,某些運(yùn)算符不能重載。所以答案為C。17、下列關(guān)于內(nèi)聯(lián)函數(shù)的敘述中,正確的是A、內(nèi)聯(lián)函數(shù)就是在一個(gè)函數(shù)體內(nèi)定義的函數(shù)B、內(nèi)聯(lián)函數(shù)必須通過關(guān)鍵字inline來定義C、在類體中定義的函數(shù),都是內(nèi)聯(lián)函數(shù)D、內(nèi)聯(lián)函數(shù)不需要return語句標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:在類體中定義的成員函數(shù),C++系統(tǒng)會自動將它們作為內(nèi)聯(lián)函數(shù)處理,而在類外定義的成員函數(shù),系統(tǒng)并不把它們默認(rèn)為內(nèi)聯(lián)函數(shù),內(nèi)聯(lián)函數(shù)可以用return,以可以不用,所以只有選項(xiàng)C正確。18、下列運(yùn)算符只能重載為成員函數(shù)的一組是A、+-*/B、=()[]->C、><>=<=D、+=-=*=/=標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查重載運(yùn)算符,C++規(guī)定有的運(yùn)算符(如賦值運(yùn)算符、下標(biāo)運(yùn)算符、函數(shù)調(diào)用運(yùn)算符)必須定義為類的成員函數(shù)。所以本題選B。19、已知函數(shù)func的原型為intfunc(int,int);下列重載函數(shù)原型中錯(cuò)誤的是A、charfunc(int,int);B、boolfunc(int,int,bool);C、intfunc(int,char*);D、floatfunc(int,int,int);標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查函數(shù)重載相關(guān)知識,重載函數(shù)是函數(shù)的一種特殊情況,為方便使用,C++允許在同一范圍中聲明幾個(gè)功能類似的同名函數(shù),但是這些同名函數(shù)的形式參數(shù)(指參數(shù)的個(gè)數(shù)、類型或者順序)必須不同,也就是說用同一個(gè)運(yùn)算符完成不同的運(yùn)算功能。A選項(xiàng)的形參都與原函數(shù)相同,所以不能作為重載函數(shù)。20、已知表達(dá)式--a中的"--"是作為成員函數(shù)重載的運(yùn)算符,則與--a等效的運(yùn)算符函數(shù)調(diào)用形式為A、a.operator--(1)B、operator--(a)C、operator--(a,1)D、a.operator--()標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查重載自減運(yùn)算符--,根據(jù)重載的規(guī)則,只有D選項(xiàng)能夠正確調(diào)用重載函數(shù)。21、計(jì)算數(shù)列第n項(xiàng)的函數(shù)定義如下:inta(intn){if(n==0)return0;elseif(n==1)return1;elseif(n==2)return2;elsereturna(n-1)+a(n-3);}若執(zhí)行函數(shù)調(diào)用表達(dá)式a(4),函數(shù)a被調(diào)用的次數(shù)是A、3B、4C、5D、6標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查遞歸函數(shù)調(diào)用,執(zhí)行a(4)=a(3)+a(1),而a(3)=a(2)+a(0),總共執(zhí)行函數(shù)為a(4)、a(3)、a(2)、a(0)、a(1)五次,所以答案C正確。22、有如下類定義和變量定義:classA{public:A(){data=0;}~A(){}intGetData()const{returndata;}voidSetData(intn){data=n;}private:intdata;};constAa;Ab;下列函數(shù)調(diào)用中錯(cuò)誤的是A、a.GetData();B、a.SetData(10);C、b.GetData();D、b.SetData(10);標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查常對象,如果一個(gè)對象被定義為常對象,那么它不能調(diào)用該對象的非const型的成員函數(shù),所以B選項(xiàng)錯(cuò)誤,a為常對象,調(diào)用了SetData這個(gè)非const型的成員函數(shù)。23、建立一個(gè)類對象時(shí),系統(tǒng)自動調(diào)用A、析構(gòu)函數(shù)B、構(gòu)造函數(shù)C、靜態(tài)函數(shù)D、友元函數(shù)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查默認(rèn)構(gòu)造函數(shù),如果用戶定義的類中沒有顯式的定義任何構(gòu)造函數(shù),編譯器就會自動為該類型生成默認(rèn)構(gòu)造函數(shù),建立一個(gè)對象時(shí),系統(tǒng)會自動執(zhí)行默認(rèn)構(gòu)造函數(shù)。24、下列關(guān)于繼承和派生的敘述中,正確的是A、派生類中新定義的成員函數(shù)可以訪問基類的所有成員B、在私有繼承的情況下,派生類中新定義的成員函數(shù)不能訪問基類的保護(hù)成員C、基類對象可以賦值給派生類對象D、如果派生類沒有實(shí)現(xiàn)基類的一個(gè)純虛函數(shù),則該派生類是一個(gè)抽象類標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查繼承與派生,派生類中的成員訪問基類中的成員由派生方式?jīng)Q定,如果派生類私有繼承基類,那么就不能新定義的成員函數(shù)就不能訪問基類的私有成員,所以A選項(xiàng)錯(cuò)誤。在私有繼承的情況下,派生類中新定義的成員函數(shù)可以訪問基類的保護(hù)成員?;悓ο笤谀撤N情況下可以賦值給派生類對象。25、在公有繼承的情況下,允許派生類中新定義的成員函數(shù)直接訪問的基類成員只包括A、公有成員和保護(hù)成員B、公有成員C、公有成員、保護(hù)成員和私有成員D、保護(hù)成員標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查繼承與派生,派生類中的成員訪問基類中的成員由派生方式?jīng)Q定,本題主要考查公用繼承方式對基類的訪問權(quán)限,根據(jù)公用繼承的特性,A選項(xiàng)正確。26、有如下程序:#includeusingnamespacestd;classBase{public:voidfun(){cout<<"Base::fun"<A、Base.fun();B、Base->fun();C、Base::fun();D、fun();標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查派生類對基類成員的訪問屬性,派生類公用繼承基類,所以派生類可以直接使用基類的公用成員,題目中輸出了Base::fun,所以可以推斷派生類一定是調(diào)用了基類的fun函數(shù),只有C選項(xiàng)正確調(diào)用了基類的fun函數(shù),所以C選項(xiàng)正確。27、有如下類定義:classCup{public:voidSetPrice(doubleval);private:doubleprice;};若要在類體外給出對成員函數(shù)SetPrice的定義,下列選項(xiàng)中正確的是A、voidCup::SetPrice(doubleval){price=val;}B、voidCup.SetPrice(doubleval){price=val;}C、voidSetPrice(doubleval){Cup::price=val;}D、voidSetPrice(doubleval){Cup.price=val;}標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查如何在類體外定義成員函數(shù),在類體外定義成員函數(shù)需要使用作用域運(yùn)算符::,只有A選項(xiàng)符合定義格式,所以A選項(xiàng)正確。28、有如下類定義:classBox{public:Box(inth,intw,intl):width(w),length(l),height(h){}private:intlength,width,height;};Box類中3個(gè)數(shù)據(jù)成員的初始化順序?yàn)锳、length,height,widthB、length,width,heightC、height,width,lenthD、width,length,height標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查派生類的構(gòu)造函數(shù),C++初始化類成員時(shí),是按照聲明的順序初始化的,而不是按照出現(xiàn)在初始化列表中的順序,所以B選項(xiàng)正確。29、有如下程序:#include#includeusingnamespacestd;classMyBag{public:MyBag(stringbr,stringcr):brand(br),color(cr){++count;}~MyBag(){--count;}staticintGetCount(){returncount;}private:stringbrand,color;staticintcount;};intMyBag::count=0;intmain(){MyBagone("CityLife","Gray"),two("Micky","Red");cout<A、111B、132C、232D、233標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查構(gòu)造函數(shù)和析構(gòu)函數(shù),以及靜態(tài)數(shù)據(jù)成員,定義one,two時(shí),構(gòu)造函數(shù)被執(zhí)行了兩次,所以count為2,后續(xù)又定義了一個(gè)指針對象,所以count加1變?yōu)榱?,當(dāng)刪除那個(gè)指針對象時(shí),執(zhí)行析構(gòu)函數(shù),count減1,所以是2,答案C正確。30、有如下程序:#include#includeusingnamespacestd;classTV{public:TV(ints=41):size(s){cout<<’N’;}TV(constTV&t):size(t.size){cout<<’C’;}~TV(){cout<<’D’;}voidPrint()const{cout<Print();deleteroom3;return0;}運(yùn)行時(shí)的輸出結(jié)果是A、NC54B、NCN54DC、NNN54DDDD、NCN54DDD標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查構(gòu)造函數(shù)相關(guān)知識,本題中定義一個(gè)對象room1,輸出N,定義room2時(shí)輸出C,定義room3時(shí)輸出N,然后執(zhí)行room3.Print時(shí),輸出54,最后執(zhí)行三個(gè)析構(gòu)函數(shù)輸出DDD,所以答案為D。31、有如下類定義:classPoint{public:Point(intxx=0,intyy=0):x(xx),y(yy){}private:intx,y;};classCircle:publicPoint{public:Circle(intr):radius(r){}private:intradius;};派生類Circle中數(shù)據(jù)成員的個(gè)數(shù)為A、1B、2C、3D、5標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查如何定義派生類以及派生類對基類成員的訪問,聲明派生類的一般形式為:class派生類名:[繼承方式]基類名題目中公用繼承,所以也繼承基類的數(shù)據(jù)成員,所以總共有3個(gè)數(shù)據(jù)成員,所以C選項(xiàng)正確。32、有如下程序:#includeusingnamespacestd;classPoint{public:Point(intxx=0,intyy=0):x(xx),y(yy){}voidSetX(intxx){x=xx;}voidSetY(intyy){y=yy;}private:intx,y;};classCircle:publicPoint{public:Circle(intr):radius(r){}intGetRadius(){returnradius;}private:voidSetRadius(intr){radius=r;}intradius;};intmain(){Circlec1(5);c1.SetX(1);//①c1.SetY(2);//②c1.SetRadius(10);//③cout<A、①B、②C、③D、④標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查對象成員的引用,在類外引用對象的數(shù)據(jù)成員時(shí),只能訪問public成員而不能訪問private成員所以C選項(xiàng)錯(cuò)誤。33、有如下程序:#include#includeusingnamespacestd;classPerson{public:Person(stringn):name(n){}~Person(){cout<<’P’;}private:stringname;};classDate{public:Date(inty=2012,intm=12,intd=21):year(y),month(m),day(d){}~Date(){cout<<’D’;}private:intyear,month,day;};classStudent:publicPerson{public:Student(stringn,inty,intm,intd,charc):birthday(y,m,d),sex(c),Person(n){}~Student(){cout<<’S’;}private:Datebirthday;charsex;};intmain(){Studentstu1("Zhang",1990,10,1,’F’);return0;}運(yùn)行時(shí)的輸出結(jié)果是A、SB、SPC、SPDD、SDP標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查派生類的析構(gòu)函數(shù),派生類的析構(gòu)函數(shù)執(zhí)行順序?yàn)橄葮?gòu)造的后析構(gòu),后構(gòu)造的先析構(gòu),所以執(zhí)行Studentstu1("Zhang",1990,10,1,’F’);時(shí),依次執(zhí)行person、Date、Student構(gòu)造函數(shù),然后依次執(zhí)行Student、Date、person的析構(gòu)函數(shù),所以輸出為SDP,D選項(xiàng)正確。34、有如下程序:#include#includeusingnamespacestd;classInstrument{public:Instrument(stringt="樂器",stringn="無名"):type(t),name(n){}stringGetType()const{return"樂器";}virtualstringGetName()const{return"無名";}protected:stringtype,name;};classPiano:publicInstrument{public:Piano(stringn,stringt="鋼琴"):Instrument(t,n){}stringGetType()const{return"鋼琴";}stringGetName()const{returnname;}};intmain(){Instrument*pi=newPiano("星空");cout<GetType()<<’-’<GetName();deletepi;return0;}運(yùn)行時(shí)的輸出結(jié)果是A、樂器-星空B、樂器-無名C、鋼琴-星空D、鋼琴-無名標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查虛函數(shù)的運(yùn)用,本題中基類Instrument,派生類Piano,其中虛函數(shù)為GetName,當(dāng)定義Instrument*pi=newPiano("星空")時(shí),調(diào)用派生類的GetType函數(shù),得到type為樂器,name為星空,所以輸出樂器-星空。選項(xiàng)A正確。35、下列關(guān)于函數(shù)模板的敘述中,錯(cuò)誤的是A、從模板實(shí)參表和從模板函數(shù)實(shí)參表獲得信息矛盾時(shí),以模板實(shí)參的信息為準(zhǔn)B、對于常規(guī)參數(shù)所對應(yīng)的模板實(shí)參,任何情況下都不能省略C、虛擬類型參數(shù)沒有出現(xiàn)在模板函數(shù)的形參表中時(shí),不能省略模板實(shí)參D、模板實(shí)參表不能為空標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:虛擬類型參數(shù)出現(xiàn)在模板函數(shù)的形參表中時(shí),可以省略模板實(shí)參。所以D選項(xiàng)錯(cuò)誤。36、在定義一個(gè)類模板時(shí),模板形參表是用一對括號括起來的,所采用的括號是A、()B、[]C、<>D、{}標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查模板的定義,使用的括號為<>,所以答案為C選項(xiàng)。37、下列關(guān)于C++流的敘述中,正確的是A、與鍵盤、屏幕、打印機(jī)和通信端口的交互都可以通過流類來實(shí)現(xiàn)B、從流中獲取數(shù)據(jù)的操作稱為插入操作,向流中添加數(shù)據(jù)的操作稱為提取操作C、cin是一個(gè)預(yù)定義的輸入流類D、輸出流有一個(gè)名為open的成員函數(shù),其作用是生成一個(gè)新的流對象標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查輸入輸出流,從流中獲取數(shù)據(jù)的操作稱為提取操作,向流中添加數(shù)據(jù)的操作稱為插入操作,cin是一個(gè)標(biāo)準(zhǔn)輸入流類,open并不是輸出流的一個(gè)成員函數(shù)。38、若磁盤上已存在某個(gè)文本文件,其全路徑文件名為d:\ncre\test.txt,下列語句中不能打開該文件的是A、ifstreamfile("d:\ncre\test.txt");B、ifstreamfile("d:\\ncre\\test.txt");C、ifstreamfile;file.open("d:\\ncre\\test.txt");D、ifstream*pFile=newifstream("d:\\ncre\\test.txt");標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查文件流的一些操作,根據(jù)文件打開的相關(guān)知識,A選項(xiàng)中不能正確打開該文件。國家二級C++機(jī)試(選擇題)模擬試卷第3套一、選擇題(本題共40題,每題1.0分,共40分。)1、程序流程圖中帶有箭頭的線段表示的是()。A、圖元關(guān)系B、數(shù)據(jù)流C、控制流D、調(diào)用關(guān)系標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。在程序流程圖中,用標(biāo)有名字的箭頭表示控制流。所以選擇C。2、結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括()。A、多態(tài)性B、自頂向下C、模塊化D、逐步求精標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)的思想包括:自頂向下、逐步求精、模塊化、限制使用goto語句,所以選擇A。3、軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A、低內(nèi)聚低耦合B、高內(nèi)聚低耦合C、低內(nèi)聚高耦合D、高內(nèi)聚高耦合標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是高內(nèi)聚低偶合、模塊大小規(guī)模適當(dāng)、模塊的依賴關(guān)系適當(dāng)?shù)取DK的劃分應(yīng)遵循一定的要求,以保證模塊劃分合理,并進(jìn)一步保證以此為依據(jù)開發(fā)出的軟件系統(tǒng)可靠性強(qiáng),易于理解和維護(hù)。模塊之間的耦合應(yīng)盡可能的低,模塊的內(nèi)聚度應(yīng)盡可能的高。4、在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A、可行性分析報(bào)告B、軟件需求規(guī)格說明書C、概要設(shè)計(jì)說明書D、集成測試計(jì)劃標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:A)錯(cuò)誤,可行性分析階段產(chǎn)生可行性分析報(bào)告。C)錯(cuò)誤,概要設(shè)計(jì)說明書是總體設(shè)計(jì)階段產(chǎn)生的文檔。D)錯(cuò)誤,集成測試計(jì)劃是在概要設(shè)計(jì)階段編寫的文檔。B)正確,需求規(guī)格說明書是后續(xù)工作如設(shè)計(jì)、編碼等需要的重要參考文檔。5、算法的有窮性是指()。A、算法程序的運(yùn)行時(shí)間是有限的B、算法程序所處理的數(shù)據(jù)量是有限的C、算法程序的長度是有限的D、算法只能被有限的用戶使用標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:算法原則上能夠精確地運(yùn)行,而且人們用筆和紙做有限次運(yùn)算后即可完成。有窮性是指算法程序的運(yùn)行時(shí)間是有限的。6、對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。A、快速排序B、冒泡排序C、直接插入排序D、堆排序標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:除了堆排序算法的比較次數(shù)是O(nlog2n),其他的都是n(n-1)/2。7、下列關(guān)于棧的敘述正確的是()。A、棧按"先進(jìn)先出"組織數(shù)據(jù)B、棧按"先進(jìn)后出"組織數(shù)據(jù)C、只能在棧底插入數(shù)據(jù)D、不能刪除數(shù)據(jù)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是按"先進(jìn)后出"的原則組織數(shù)據(jù)的,數(shù)據(jù)的插入和刪除都在棧頂進(jìn)行操作。8、在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()。A、需求分析階段B、概念設(shè)計(jì)階段C、邏輯設(shè)計(jì)階段D、物理設(shè)計(jì)階段標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:E-R圖轉(zhuǎn)換成關(guān)系模型數(shù)據(jù)則是把圖形分析出來的聯(lián)系反映到數(shù)據(jù)庫中,即設(shè)計(jì)出表,所以屬于邏輯設(shè)計(jì)階段。9、有三個(gè)關(guān)系R、S和T如下:由關(guān)系R和S通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。A、并B、自然連接C、笛卡爾積D、交標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以B)錯(cuò)誤。笛卡爾積是用R集合中元素為第一元素,S集合中元素為第二元素構(gòu)成的有序?qū)?,所以C)錯(cuò)誤。根據(jù)關(guān)系T可以很明顯的看出是從關(guān)系R與關(guān)系S中取得相同的關(guān)系組所以取得是交運(yùn)算,選擇D)。10、設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為()。A、課號,成績B、學(xué)號,成績C、學(xué)號,課號D、學(xué)號,姓名,成績標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:學(xué)號是學(xué)生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號和課號,所以選擇C。11、下列符號中能夠作為C++標(biāo)識符的是A、ClassB、gpa4.0C、1481quanzhanD、-score標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:用來表示變量、符號常量、函數(shù)、數(shù)組類型等實(shí)體名字的有效字符序列稱為標(biāo)識符,標(biāo)識符由字母、數(shù)字、和下劃線3種字符組成,且第一個(gè)字符必須為字母或者下劃線,只有A選項(xiàng)正確。12、已知枚舉類型聲明語句為:enumCOLOR{WHITE,YELLOW,GREEN=6,RED,BLACK=10};則枚舉常量RED的值為A、2B、3C、7D、8標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:枚舉常量的定義enum枚舉類型名{常量1,常量2,常量3,.......};其中GREEN=6,BLACK=10,那么RED為7,答案為C。13、執(zhí)行語句序列intn=0;for(inti=60;i>0;i-=3)n++;之后,變量n的值是A、20B、21C、60D、61標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查for循環(huán)語句,i每次減1,所以for循環(huán)執(zhí)行20次。選項(xiàng)A正確。14、常量4.2、4.2f、4L的數(shù)據(jù)類型分別是A、float、float、doubleB、double、float、longC、double、double、floatD、float、float、long標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查實(shí)型變量,4.2默認(rèn)為double,4.2f為float型的、4L為long型的。所以B選項(xiàng)正確。15、下列語句或語句序列中錯(cuò)誤的是A、inta;constint*point=&a;B、constinta=10;C、constint*point=10;D、constint*point=newint(10);標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查常指針,C選項(xiàng)中不能直接將整型變量賦值給常指針,所以C選項(xiàng)錯(cuò)誤。16、在一個(gè)有參函數(shù)的原型聲明中可有可無的語法成分是A、形參類型B、形參變量C、函數(shù)名D、函數(shù)返回類型標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:函數(shù)原型,包含返回值,函數(shù)名,參數(shù)類型,而形參變量可有可無,所以答案為B選項(xiàng)。17、在名為BigNumber的類的類體中對運(yùn)算符函數(shù)double進(jìn)行了如下聲明:operatordouble(BigNumber);函數(shù)聲明中有一個(gè)明顯的錯(cuò)誤,這個(gè)錯(cuò)誤就是A、參數(shù)表中不應(yīng)該有任何參數(shù)B、缺少對函數(shù)返回類型的說明C、參數(shù)聲明中缺少參數(shù)變量D、函數(shù)聲明中缺少函數(shù)體標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查類型轉(zhuǎn)換函數(shù),其一般形式如下:operator類型名(){實(shí)現(xiàn)轉(zhuǎn)換的語句}在函數(shù)名前面不能指定函數(shù)類型,函數(shù)沒有參數(shù),所以A選項(xiàng)錯(cuò)誤。18、已知在一程序中已定義函數(shù)doubleMak(intm,doublen);則下列函數(shù)中不可在同一程序中重載的是A、intMak(intm,doublen);B、doubleMak(intm,intn);C、doubleMak(doublem,intn);D、doubleMak(intn);標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查函數(shù)重載相關(guān)知識,C++允許在同一范圍中聲明幾個(gè)功能類似的同名函數(shù),但是這些同名函數(shù)的形式參數(shù)(指參數(shù)的個(gè)數(shù)、類型或者順序)必須不同,也就是說用同一個(gè)運(yùn)算符完成不同的運(yùn)算功能。返回值類型對區(qū)別重載函數(shù)沒有意義。所以答案為A選項(xiàng)。19、關(guān)于賦值運(yùn)算符=的重載,下列表述中錯(cuò)誤的是A、=的重載函數(shù)必須且只能有一個(gè)參數(shù)B、一個(gè)類即使沒有重載=,也可以用=為該類的對象賦值C、為了實(shí)現(xiàn)像"x=y=z;"這樣的連續(xù)賦值,=的重載函數(shù)的返回值必須聲明為引用D、=可以重載為一個(gè)類的友元函數(shù)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查賦值運(yùn)算符重載,賦值運(yùn)算符只能作為類的成員函數(shù)重載,所以D選項(xiàng)錯(cuò)誤。20、下面是重載為非成員函數(shù)的運(yùn)算符函數(shù)原型,其中錯(cuò)誤的是A、MyClassoperator*(MyClass);B、MyClassoperator+(MyClass,int);C、MyClass&operator-=(MyClass&,MyClass);D、MyClass&operator=(MyClass&,MyClass);標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查賦值運(yùn)算符重載,賦值運(yùn)算符只能作為類的成員函數(shù)重載,所以D選項(xiàng)錯(cuò)誤。21、有如下函數(shù)定義:voidswap(inta,int&b){intc=a;a=b;b=c;}若執(zhí)行語句序列intx=0,y=1;swap(x,y);則變量x和y的值分別是A、0和0B、0和1C、1和0D、1和1標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:參數(shù)傳遞有三種:傳值(value),傳址(address),和傳引用(reference)傳值時(shí)子函數(shù)(被調(diào)用者)復(fù)制父函數(shù)(調(diào)用者)傳遞的值,這樣子函數(shù)無法改變父函數(shù)變量的值。函數(shù)swap的第一個(gè)參數(shù)就是傳值調(diào)用,所以它的值不會改變傳址時(shí)父函數(shù)將變量的地址傳遞給子函數(shù),這樣子函數(shù)可以能過改寫地址里的內(nèi)容改變父函數(shù)中的變量傳引用則是一種看起來像傳值調(diào)用,而實(shí)際上功能同傳址一樣的傳遞方式。子函數(shù)可以改寫父函數(shù)的變量值。函數(shù)swap的第二個(gè)參數(shù)就是傳引用調(diào)用,可以改變其值,所以執(zhí)行完函數(shù)后,b值與a值相同,即都是0,A選項(xiàng)正確。22、下列運(yùn)算符中,不能被重載的是A、::B、=C、[]D、++標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查運(yùn)算符重載,不能重載的運(yùn)算符只有5個(gè):.、.*、::、sizeof、?:。所以選擇A選項(xiàng)。23、用于定義類的必不可少的C++關(guān)鍵字是A、autoB、returnC、classD、public標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題定義類的基礎(chǔ)知識,定義類時(shí)使用的關(guān)鍵字為class,所以C選項(xiàng)正確。24、有如下類聲明:classWd{inta;public:intb;intc;private:intd;protected:inte;};其中訪問權(quán)限為私有的成員變量有A、a和bB、b和cC、a和dD、d和e標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查類成員的訪問控制,如果沒有顯式聲明成員訪問性質(zhì),則默認(rèn)為私有,所以本題中a和d都為類的私有成員。25、有如下類聲明:classTe{public:Te();//①Tete;//②Te*pte;//③voidf(Te&rte);//④};在標(biāo)注號碼的的四個(gè)語句中,錯(cuò)誤的是A、①B、②C、③D、④標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查類的定義和對象的定義,題目中定義類Te中又定義了Te類型的對象te,這樣陷入循環(huán)中,所以②是錯(cuò)誤的,答案為B選項(xiàng)。26、當(dāng)一個(gè)派生類對象結(jié)束其生命周期時(shí),自動做的事情是A、先調(diào)用派生類的析構(gòu)函數(shù)后調(diào)用基類的析構(gòu)函數(shù)B、先調(diào)用基類的析構(gòu)函數(shù)后調(diào)用派生類的析構(gòu)函數(shù)C、如果派生類沒有定義析構(gòu)函數(shù),則只調(diào)用基類的析構(gòu)函數(shù)D、如果基類沒有定義析構(gòu)函數(shù),則只調(diào)用派生類的析構(gòu)函數(shù)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:執(zhí)行派生類析構(gòu)函數(shù)的順序是:先執(zhí)行派生類析構(gòu)函數(shù),再執(zhí)行基類的析構(gòu)函數(shù),所以A選項(xiàng)正確。27、當(dāng)派生類從一個(gè)基類保護(hù)繼承時(shí),基類中的一些成員在派生類中成為保護(hù)成員,這些成員在基類中原有的訪問屬性是A、任何B、私有C、保護(hù)或私有D、公有或保護(hù)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:派生類保護(hù)繼承基類,那么基類的公用成員和保護(hù)成員在派生類中成為保護(hù)成員,私有成員不可訪問,所以D選項(xiàng)正確。28、有如下類定義:classXX{intxdata;public:XX(intn=0):xdata(n){}};classYY:publicXX{intydata;public:YY(intm=0,intn=0):XX(m),ydata(n){}};其中YY類的對象所包含的數(shù)據(jù)成員的個(gè)數(shù)是A、4B、3C、2D、1標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:派生類公用繼承基類,那么基類中私有不可訪問,保護(hù)成員依舊是保護(hù)成員,公有成員依舊是公有成員;保護(hù)繼承基類,那么基類的公用成員和保護(hù)成員在派生類中成為保護(hù)成員,私有成員不可訪問;私有繼承那么公有成員和保護(hù)成員變?yōu)樗接?,私有成員不可訪問。本題中派生類繼承基類的私有成員,不可直接訪問但是可以通過基類的成員函數(shù)使用基類的私有數(shù)據(jù)成員,加上派生類的本身的數(shù)據(jù)成員,共有2個(gè)數(shù)據(jù)成員,C選項(xiàng)正確。29、有如下程序:#includeusingnamespacestd;classCup{public:Cup(doubleval=5.8):price(val){}voidSetPrice(doubleval){price=val;}doubleGetPrice()const{returnprice;}private:doubleprice;};intmain(){constCupc1(4.5);Cupc2(29.8);c1.SetPrice(5.8);//①c2.SetPrice(12.8);//②c1.GetPrice();//③c2.GetPrice();//④return0;}在標(biāo)注號碼的語句行中存在語法錯(cuò)誤的是A、①B、②C、③D、④標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查常對象,常對象只能引用常成員函數(shù),不能引用非常成員函數(shù),所以①是錯(cuò)誤的。答案為A選項(xiàng)。30、有如下類定義:classBag{public:Bag(strings="Small",stringcr="Black"):size(s),color(cr){}~Bag(){}private:stringsize,color;};若執(zhí)行語句Bag*ptr,my,colleage[2],&sister=my;則Bag類的構(gòu)造函數(shù)被調(diào)用的次數(shù)是A、2次B、3次C、4次D、5次標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查默認(rèn)析構(gòu)函數(shù),題中定義了一個(gè)對象和包含2個(gè)元素的一維對象數(shù)組,而對象指針不占用空間,對象引用也不會占用內(nèi)存空間,所以不調(diào)用構(gòu)造函數(shù),那么析構(gòu)函數(shù)就執(zhí)行3次,答案為B。31、N610060099)有如下程序:#include#includeusingnamespacestd;classMyBag{public:MyBag(stringbr,stringcr):brand(br),color(cr){cout<<++count;}~MyBag(){--count;}staticintGetCount(){returncount;}private:stringbrand,color;staticintcount;};intMyBag::count=0;intmain(){MyBagone("CityLife","Gray"),two("Micky","Red");MyBag*ptr=newMyBag("Coach","Black");deleteptr;cout<A、2B、3C、1232D、1233標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查靜態(tài)數(shù)據(jù)成員和構(gòu)造函數(shù)和析構(gòu)函數(shù),題目中定義了三個(gè)對象,那么一次輸出count值,即123,銷毀ptr后,執(zhí)行析構(gòu)函數(shù),count減1,count為2,所以選項(xiàng)C正確。32、有如下程序:#includeusingnamespacestd;classTV{public:TV(ints=41):size(s){}voidPrint(){cout<<’/’<<’N’<A、/N41/C54B、/N41/S54C、/C41/C54D、/C41/N54標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查了常對象和常成員函數(shù),本題中定義了常對象room1,執(zhí)行room1.Print();時(shí),引用常成員函數(shù)Print,輸出/C41,執(zhí)行TVroom2(54)時(shí)輸出/N54,所以答案為D。33、有如下類定義:classShape{public:___________________//虛函數(shù)Draw的聲明};橫線處缺失的虛函數(shù)Draw的聲明是A、virtualvoidDraw();B、voidvirtualDraw();C、voidDraw()virtual;D、voidDraw(virtual);標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查虛函數(shù)的定義,在成員函數(shù)前面加上virtual時(shí)成為虛函數(shù)。A選項(xiàng)正確。34、有如下類定義:classPoint{public:voidSetX(intxx){x=xx;}voidSetY(intyy){y=yy;}private:intx,y;};classCircle:publicPoint{public:intGetRadius(){returnradius;}private:voidSetRadius(intr){radius=r;}intradius;friendvoidshow();};在派生類Circle中函數(shù)show()可訪問的成員的個(gè)數(shù)為A、1B、3C、5D、7標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查派生類對基類成員的訪問屬性,派生類公用繼承基類,基類的私有成員不可訪問,派生類的友元函數(shù)可以訪問本類的所以成員以及基類的公用成員,所以可以訪問的成員為5個(gè),其中基類2個(gè),本類中3個(gè),所以C選項(xiàng)正確。35、有如下程序:#include#includeusingnamespacestd;classFather{public:Father(strings):name(s){cout<<’F’;}~Father(){}private:stringname;};classMother{public:Mother(strings):name(s){cout<<’M’;}~Mother(){}private:stringname;};classChild:publicMother,publicFather{public:Child(strings1,strings2,strings3,inta):Father(s1),Mother(s2),name(s3),age(a){cout<<’C’;}~Child(){}private:stringname;intage;};intmain(){Childson("Zhang","Li","Ming",20);return0;}運(yùn)行時(shí)的輸出結(jié)果是A、CB、FMCC、MFCD、FMC20標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:執(zhí)行派生類構(gòu)造函數(shù)的順序是:1、調(diào)用基類構(gòu)造函數(shù),2、調(diào)用子對象構(gòu)造函數(shù),3、再執(zhí)行派生類析構(gòu)函數(shù),4、執(zhí)行基類的析構(gòu)函數(shù)。所以本題中執(zhí)行構(gòu)造函數(shù)為先執(zhí)行基類Mother的構(gòu)造函數(shù)、然后執(zhí)行基類Father的構(gòu)造函數(shù),再執(zhí)行派生類的構(gòu)造函數(shù)函數(shù),所以輸出MFC,答案C正確。36、有如下程序:#include#includeusingnamespacestd;classAnimal{public:virtualstringGetType()const{return"Animal";}virtualstringGetVoice()const{return"Voice";}};classDog:publicAnimal{public:stringGetType()const{return"Dog";}stringGetVoice()const{return"Woof";}}

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論