國家二級C++機試(選擇題)模擬試卷13(共211題)_第1頁
國家二級C++機試(選擇題)模擬試卷13(共211題)_第2頁
國家二級C++機試(選擇題)模擬試卷13(共211題)_第3頁
國家二級C++機試(選擇題)模擬試卷13(共211題)_第4頁
國家二級C++機試(選擇題)模擬試卷13(共211題)_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

國家二級C++機試(選擇題)模擬試卷13(共9套)(共211題)國家二級C++機試(選擇題)模擬試卷第1套一、選擇題(本題共24題,每題1.0分,共24分。)1、下面程序的輸出結(jié)果為()。#include<iostream.h>classTestClass{public:TestClass(){val++;}staticintval;};intTestClass::val=0:voidmain(){TestClasscs1;cout<<cs1.val<<"";TestClasscs2;TestClasscs3,cs4;cout<<cs2.val<<endl;}A、03B、13C、14D、24標(biāo)準(zhǔn)答案:C知識點解析:由主函數(shù)main入手,定義TestClass類的對象cs1,執(zhí)行cs1.val,其中val為靜態(tài)變量,根據(jù)“intTestClass::val=0;”初始化,TestClass中的TestClass(){val++;}構(gòu)造函數(shù)執(zhí)行后,val值為1。主函數(shù)中接著定義對象cs2,cs3,cs4。執(zhí)行“cout<<cs2.val<<endl:”中的val值為4。2、有如下程序:#include<iostream>usingnamespacestd;classTestClass{protected:TestClass0{tout<<’x’;}TestClass(charc){cout<<c;}};classTestClass1:publicTestClass{public:TestClass1(charc){cout<<c;}};intmain(){TestClass1d1(’y’);return0:}執(zhí)行這個程序,屏幕上將顯示輸出()。A、yB、yxC、xyD、yy標(biāo)準(zhǔn)答案:C知識點解析:程序中的類TestClass為基類,TestClass1為TestClass的派生類。由main主函數(shù)入手。定義TestClassl類型的對象d1,參數(shù)值為’y’。TestClass1類繼承TestClass,所以主函數(shù)中“TestClass1dl(y);”語句首先調(diào)用基類中的“TestClass(){cout<<’x’;}”輸出x,然后調(diào)用“TestClass1(charc){cout<<c;}”輸出y,即答案為“xy”。3、下列敘述中錯誤的是A、具有兩個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)一定屬于非線性結(jié)構(gòu)B、具有兩個以上指針域的鏈?zhǔn)浇Y(jié)構(gòu)一定屬于非線性結(jié)構(gòu)C、具有兩個以上葉子結(jié)點的數(shù)據(jù)結(jié)構(gòu)一定屬于非線性結(jié)構(gòu)D、具有一個根結(jié)點且只有一個葉子結(jié)點的數(shù)據(jù)結(jié)構(gòu)也可能是非線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識點解析:非線性結(jié)構(gòu),數(shù)學(xué)用語,其邏輯特征是一個結(jié)點元素可能有多個直接前趨和多個直接后繼。常見的非線性結(jié)構(gòu)有:二維數(shù)組,多維數(shù)組,廣義表,樹(二又樹等),圖。4、有如下程序段:inti=0,j=1;nt&r=i;//①r=j;//②int*p=&i;//③*p=&r;//④其中會產(chǎn)生編譯錯誤的語句是()。A、④B、③C、②D、①標(biāo)準(zhǔn)答案:A知識點解析:本題考查指針和引用。①為引用,使用正確;④中&r表示一個地址,而,*p已經(jīng)是一個值了,不能將一個指針賦值給一個值,所以編譯錯誤。5、軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是()。A、編輯軟件B、操作系統(tǒng)C、教務(wù)管理系統(tǒng)D、瀏覽器標(biāo)準(zhǔn)答案:B知識點解析:軟件根據(jù)應(yīng)用目標(biāo)的不同,是多種多樣的。軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件。系統(tǒng)軟件是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務(wù)的軟件。支撐軟件是介于系統(tǒng)軟件和應(yīng)用軟件之問,協(xié)助用戶開發(fā)軟件的工具性軟件,包括輔助和支持開發(fā)和維護應(yīng)用軟件的工具軟件,還包括輔助管理人員控制開發(fā)進程和項目管理的工具軟件。6、存在定義inta[10],x,*pa;,若pa=&a[0],下列的哪個選項和其他3個選項不是等價的?()A、x*pa;B、x=*(a+1);C、x=*(pa+1);D、x=a[1];標(biāo)準(zhǔn)答案:A知識點解析:選項B)、C)、D)都是獲取a(1)元素,而選項A)是獲取a(0)的元素。7、有如下程序:classBase{public:intdata;};classDerivedl:publicBase{};classDerived2:protectedBase{};intmain(){Derived1d1;Derived2d2;d1.data=0;//①d2.data=0;//②retum0;}下列關(guān)于程序編譯結(jié)果的描述中,正確的是()。A、①②皆無編譯錯誤B、①有編譯錯誤,②無編譯錯誤C、①無編譯錯誤,②有編譯錯誤D、①②皆有編譯錯誤標(biāo)準(zhǔn)答案:C知識點解析:本題考查公用繼承和保滬繼承對基類成員的訪問屬性。在公用繼承中,基類的公用成員和保護成員在派生類中保持原有訪問屬性,其私有成員仍為基類私有。在受保護繼承中,基類的公用成員和保護成員在派生類中成了保護成員,其私有成員仍為基類私有。本題中Deljvedl公用繼承Base,所以①編譯正確,Derived2保護繼承Base,所以②編譯不正確。8、在C++中,cin是一個()。A、類B、對象C、模板D、函數(shù)標(biāo)準(zhǔn)答案:B知識點解析:本題考查流對象cin,屬于基礎(chǔ)知識,cin是輸入流對象,負(fù)責(zé)從鍵盤獲取數(shù)據(jù),然后送到內(nèi)存。本題答案為B。9、下列描述中正確的是()。A、軟件測試應(yīng)該由程序開發(fā)者來完成B、程序經(jīng)調(diào)試后一般不需要再測試C、軟件維護只包括對程序代碼的維護D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點解析:為了達到好的測試效果,應(yīng)該由獨立的第三方進行測試工作。因為從心理學(xué)角度講,程序人員或設(shè)計方在測試自己的程序時,要采取客觀的態(tài)度是會不同程度地存在障礙的,所以選項A)錯誤。在程序調(diào)試時,修改了一個錯誤的同時可能引入了新的錯誤,解決的辦法是在修改了錯誤之后,必須進行回歸測試,所以選項B)錯誤。所謂軟件維護,就是將交付的軟件投入運行,并在運行使用中不斷地維護,根據(jù)新提出的需求進行必要而且可能的擴充和刪改,所以選項C)錯誤。10、類MyClass的定義如下:classMyClass{public:MyClass(){value=0;}SetVariable(inti){value=i;}private;intvalue;);則對下列語句序列正確的描述是()。MyClass*P,my;p=&my;A、語句p=&my;是把對象my賦值給指針變量PB、語句Myaass*p,my;會調(diào)用兩次類MyClass的構(gòu)造函數(shù)C、對語句*p.SetVariable(5)的調(diào)用是正確的D、語句p->SetVariable(5)與語句my.SetVariable(5)等價標(biāo)準(zhǔn)答案:D知識點解析:選項A),語句p=&my;是把對象my的地址值賦值給指針變量p;選項B),語句MyClass*p,my;,由于p只是一個指向?qū)ο蟮闹羔槪虼硕x指針p不調(diào)用構(gòu)造函數(shù),所以此語句只調(diào)用一次構(gòu)造函數(shù);對成員函數(shù)的引用可以通過兩種形式:指針->成員函數(shù)(形參表)或者對象名.成語函數(shù)名(形參表),故選項C)錯誤,選項D)正確。11、在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()。A、需求分析階段B、概念設(shè)計階段C、邏輯設(shè)計階段D、物理設(shè)計階段標(biāo)準(zhǔn)答案:C知識點解析:邏輯結(jié)構(gòu)設(shè)計的任務(wù):概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),為了能夠用某一DBMS實現(xiàn)用戶需求,還必須將概念結(jié)構(gòu)進一步轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)模型,這正是數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計所要完成的任務(wù)。它包括從E-R圖向關(guān)系模式轉(zhuǎn)換和邏輯模式規(guī)范化及調(diào)整、實現(xiàn)。12、關(guān)于new運算符的下列描述中,錯誤的是()。A、它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組B、使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以通過運算符delete刪除C、使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù)D、使用它創(chuàng)建對象數(shù)組時必須指定初始值標(biāo)準(zhǔn)答案:D知識點解析:用new創(chuàng)建對象是不用顯式調(diào)用構(gòu)造函數(shù)的,它自己會自動調(diào)用。13、執(zhí)行語句序列()。inti=0;while(i<25)i+=3;cout<<i;輸出結(jié)果是A、24B、25C、27D、28標(biāo)準(zhǔn)答案:C知識點解析:此題考查的是循環(huán)語句while的使用。i為3的倍數(shù),當(dāng)i=24時,i<25,執(zhí)行while的循環(huán)體i+=3,則i=27,不滿足i<25的條件,結(jié)束循環(huán)。14、有如下程序段:inti=l;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個‘*’。15、有如下程序:#includeusingnamespacestd;classComplex{doublere,im;public:Complex(doubler,doublei):re(r),im(i){}doublereal()const{returnre;}doubleimage()const{returnim;}Complex&operator+=(Complexa){re+=a.re;im+=a.im;return*this;}};ostream&operator<<(ostream&s,constComplex&z){returns<<’(’<A、(1,-2)B、(2,3)C、(3,5)D、(3,1)標(biāo)準(zhǔn)答案:D知識點解析:此題考查了運算符重載應(yīng)用。因為x和y都是Complex類的對象,Complex類中已經(jīng)重載了+=運算符,表達式x+=y(tǒng)就等價與x.operator+=(y),執(zhí)行后得到(3,1);接著計算cout<<(x+=y(tǒng)),其等價于調(diào)用operator<<(cout,(x+=y(tǒng))),最后輸出結(jié)果是(3,1)。16、在對函數(shù)進行原型聲明時,下列語法成分中,不需要的是()。A、函數(shù)返回類型B、函數(shù)參數(shù)列表C、函數(shù)名D、函數(shù)體標(biāo)準(zhǔn)答案:D知識點解析:在C++中函數(shù)在使用之前要預(yù)先聲明,這種聲明在標(biāo)準(zhǔn)C++中稱為函數(shù)原型。函數(shù)給出了函數(shù)名、返回類型以及在調(diào)用函數(shù)時必須指明參數(shù)個數(shù)和類型。17、有類定義如下:classType{public:Type(inti=0);Typeoperator一(int);friendTypeoperator+(Type,Type);private:intval;};若有對象定義Typecl;則下列語句序列中,錯誤的是()。A、Type(3)+c1;B、cl+Type(3);C、3一cl;D、c1—3;標(biāo)準(zhǔn)答案:C知識點解析:由于在類Type中對“-”進行了重載,所以根據(jù)“-”重載的形式定義,c1-3是正確的,而3-c1是錯誤的表達式。18、如果派生類以protected方式繼承基類,則原基類的protected成員和public成員在派生類中的訪問屬性分別是()。A、public和publicB、public和protectedC、protected和publicD、protected和protected標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是基類成員在派生類中的訪問屬性。派生類中的成員不能訪問基類中的私有成員,可以訪問基類中的公有成員和保護成員。派生類從基類公有繼承時,基類的公有成員和保護成員在派生類中仍然是公有成員和保護成員;派生類從基類私有繼承時,基類的公有成員和保護成員在派生類中都變成私有成員;派生類從基類保護繼承時,基類的公有成員在派生類中變成保護成員,基類的保護成員在派生類中仍然是保護成員。19、下列代碼段聲明了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知識點解析:Student類公有繼承自Person類,Undergraduate類私有繼承自Srudent類。所以Undergraduate類是從Student類私有繼承的。20、如果表達式a>=b中的“>=”是作為非成員函數(shù)重載的運算符,則可以等效地表示為()。A、a.operator>=(b)B、b.operatotr>=(a)C、operator>=(a,b)D、operator>=(b,a)標(biāo)準(zhǔn)答案:C知識點解析:運算符函數(shù)作為非成員函數(shù)時,沒有隱含的this指針,因此所有的操作數(shù)必須出現(xiàn)在參數(shù)表中,對于二元運算符,參數(shù)表中有兩個參數(shù),分別代表第一操作數(shù)和第二操作數(shù),且順序不能改變。21、下列關(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ù)的局部變量類型。22、有如下函數(shù)模板定義:temp1ate<typenameT1,TypenameT2>T1Fun(T2n){returnn*5.0;}若要求以int型數(shù)據(jù)9作為函數(shù)實參調(diào)用該模板,并返回一個double型數(shù)據(jù),則該調(diào)用應(yīng)表示為()。A、FUN(9)B、FUN<9>C、FUN<double>[9]D、FUN<9>(double)標(biāo)準(zhǔn)答案:C知識點解析:根據(jù)函數(shù)模板的定義,在選項C的調(diào)用中,把double類型傳遞給T1,int型傳遞給T2。23、下列關(guān)于模板的敘述中,正確的是()。A、如果一個類中存在純虛函數(shù),這個類就是類模板B、函數(shù)模板不能有形式參數(shù)表C、類模板是一種參數(shù)化類型的類,是類的生成器D、類模板中不能包含構(gòu)造函數(shù)標(biāo)準(zhǔn)答案:C知識點解析:對于函數(shù)模板,數(shù)據(jù)類型本身成了它的參數(shù),是一種參數(shù)化類型的函數(shù)。對于類模板,數(shù)據(jù)類型本身成了它的參數(shù),因而是一種參數(shù)化類型的類,是類的生成器。24、下列關(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è)備就是指鍵盤。國家二級C++機試(選擇題)模擬試卷第2套一、選擇題(本題共21題,每題1.0分,共21分。)1、下列運算符函數(shù)中肯定不屬于類FunNumber的成員函數(shù)的是()。A、intoperator一(FunNumber);B、FunNumberoperator一();C、FunNumberoperator一(int);D、intoperator一(FunNumber,F(xiàn)unNumber);標(biāo)準(zhǔn)答案:D知識點解析:本題考查運算符重載的一些規(guī)則:①一般情況下,單目運算符最好重載為類的成員函數(shù),雙目運算符則最好重載為類的友元函數(shù);②雙目運算符=、()、[]、一>不能重載為類的友元函數(shù);③類型轉(zhuǎn)換函數(shù)只能定義為一個類的成員函數(shù),而不能定義為類的友元函數(shù);④若一個運算符的操作需要修改對象的狀態(tài),選擇重載為成員函數(shù)較好;⑤若運算符所需的操作數(shù)(尤其是第一個操作數(shù))希望有隱式類型轉(zhuǎn)換,則只能選用友元函數(shù);⑥當(dāng)運算符函數(shù)是一個成員函數(shù)時,最左邊的操作數(shù)(或者只有最左邊的操作數(shù))必須是運算符類的一個類對象(或者是對該類對象的引用);如果左邊的操作數(shù)必須是一個不同類的對象,或者是一個內(nèi)部類型的對象,該運算符函數(shù)必須作為一個友元函數(shù)來實現(xiàn)。所以答案為D。2、下列關(guān)于數(shù)據(jù)庫設(shè)計的敘述中,正確的是()。A、在需求分析階段建立數(shù)據(jù)字典B、在概念設(shè)計階段建立數(shù)據(jù)字典C、在邏輯設(shè)計階段建立數(shù)據(jù)字典D、在物理設(shè)計階段建立數(shù)據(jù)字典標(biāo)準(zhǔn)答案:A知識點解析:數(shù)據(jù)庫設(shè)計目前一般采用生命周期法,即將整個數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)分解成目標(biāo)獨立的若干階段。分別是:需求分析階段、概念設(shè)計階段、邏輯設(shè)計階段、物理設(shè)計階段、編碼階段、測試階段、運行階段、進一步修改階段。數(shù)據(jù)字典是對系統(tǒng)中數(shù)據(jù)的詳盡描述,是各類數(shù)據(jù)屬性的清單。對數(shù)據(jù)設(shè)計來講,數(shù)據(jù)字典是進行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果。3、必須用一對大括號括起來的程序段是()。A、switch語句中的cIise標(biāo)號語句B、if語句的分支C、循環(huán)語句的循環(huán)體D、函數(shù)的函數(shù)體標(biāo)準(zhǔn)答案:D知識點解析:本題考查c++基本控制結(jié)構(gòu),A、B、c三個選項中的大括號不是必須的,而D選項中的函數(shù)體必須使用大括號。4、軟件生命周期是指A、軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程B、軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程C、軟件的開發(fā)過程D、軟件的運行維護過程標(biāo)準(zhǔn)答案:A知識點解析:軟件生命周期是指軟件產(chǎn)品從提出、實現(xiàn)、使用、維護到停止使用、退役的過程。5、以下程序的輸出結(jié)果是()。#include<iostream>usingnamespacestd;voidfun(char**q){++q;cout<<*q<<end1;}main(){staticchar*s[]={’’HI","HELLO’’,’’TEST’’};char**p;p=s;fun(p);system(’’PAUSE’’);return0;}A、為空B、HIC、HELLOD、TEST標(biāo)準(zhǔn)答案:C知識點解析:由程序main主函數(shù)入手,調(diào)用fun函數(shù),在fun函數(shù)中執(zhí)行“cout<<*q<<end1;”語句實現(xiàn)程序輸出。主函數(shù)中變量char*s[]為指針數(shù)組,char**p表示p指向的字符指針數(shù)據(jù)。*p就代表p指向的字符指針。語句“p=s;"表明p指向字符指針s,而**p則是s[]中的第一個字符串“HI”。主函數(shù)將變量p傳值給函數(shù)fun(char**q)中的q,在函數(shù)體內(nèi)部首先執(zhí)行“++q”語句,就是將q的指針指向s中的下一個字符串,即“HEILO”,所以輸出語句“cout<<*q<<end1:”輸出該字符串值。6、數(shù)據(jù)獨立性是數(shù)據(jù)庫技術(shù)的重要特點之一,所謂數(shù)據(jù)獨立性是指()。A、數(shù)據(jù)與程序獨立存放B、不同的數(shù)據(jù)被存放在不同的文件中C、不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點解析:數(shù)據(jù)獨立性是指數(shù)據(jù)庫中數(shù)據(jù)獨立于應(yīng)用程序而不依賴于應(yīng)用程序,即數(shù)據(jù)與程序間的互不依賴性。也就是說數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)與存取方式的改變不會影響應(yīng)用程序。數(shù)據(jù)的獨立性包括物理獨立性和邏輯獨立性兩級。①物理獨立性:數(shù)據(jù)的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)、.存取方式等)的改變,如存儲設(shè)備的更換、物理存儲的更換、存取方式改變等都不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化。②邏輯獨立性:數(shù)據(jù)庫總體邏輯結(jié)構(gòu)的改變,如修改數(shù)據(jù)模式、增加新的數(shù)據(jù)類型、改變數(shù)據(jù)間聯(lián)系等,不需要相應(yīng)的應(yīng)用程序改變,這就是數(shù)據(jù)的邏輯獨立性。7、數(shù)據(jù)庫系統(tǒng)的三級模式不包括()。A、概念模式B、內(nèi)模式C、外模式D、數(shù)據(jù)模式標(biāo)準(zhǔn)答案:D知識點解析:數(shù)據(jù)庫系統(tǒng)的三級模式包括概念模式、外模式和內(nèi)模式(物理模式)。8、有三個關(guān)系R、S和T如下:其中關(guān)系T由關(guān)系R和S通過某種操作得到,該操作為()。A、選擇B、投影C、交D、并標(biāo)準(zhǔn)答案:D知識點解析:由關(guān)系T中的數(shù)據(jù)可以看出,其數(shù)據(jù)由關(guān)系R和s的數(shù)據(jù)組成。所以關(guān)系T是由關(guān)系R和T通過并運算得到的。9、已知類MyClass聲明如下:classMyClass{intn:public:MyClass(intk):n(k){}intgetValue()const{returnn;}};在下列數(shù)組定義中正確的是()。A、MyClassxl[2];B、MyClassx212]--{newMyClass(1),newMyClass(2)};C、MyClass木x312];D、MyClass*x412]={MyClass(1),MyClass(2));標(biāo)準(zhǔn)答案:C知識點解析:考查的是對象數(shù)組。選項A中在建立對象數(shù)組時也同樣需要調(diào)用構(gòu)造函數(shù);選項B和D的類型不匹配,B中不能將指針傳給非指針,D中是將非指針傳給指針。10、()提供了類對外部的接口,私有成員是類的內(nèi)部實現(xiàn),而保護成員不允許外界訪問,但允許派生類的成員訪問,這樣既有一定的隱藏能力,又提供了開放的接口。A、公有成員B、私有成員C、私有成員函數(shù)D、保護成員標(biāo)準(zhǔn)答案:A知識點解析:此題考查的是公有成員的特點。公有成員允許可使用者訪問,提供了類對外部的接口。11、下列語句中,錯誤的是()。A、constintbuffeF256;B、constdouble*point;C、intconstbuffer=256;D、double*constpoint;標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是常指針和指針常量的概念。常指針是指向一個常量的指針變量,指針自身的內(nèi)容可以改變但指針指向的內(nèi)容不可以改變:指針常量是一個常量,即不能修改指針自身的內(nèi)容,但可以通過指針修改其所指向的內(nèi)容。D選項中指針常量point沒有初始化.編譯無法通過。12、若要對類BigNumber中重載的類型轉(zhuǎn)換運算符long進行聲明,下列選項中正確的是()。A、operatorlong()const;B、operatorlong(bigNumber);C、longoperatorlong()const;D、longoperatorlong(BigNumber);標(biāo)準(zhǔn)答案:A知識點解析:在重載類型轉(zhuǎn)換符時,由于運算符本身已經(jīng)表示出返回值類型,因此不需要返回值類型的聲明。13、已知有數(shù)組定義chara[3][4];下列表達式中錯誤的是()。A、a[2]="WIN"B、strcpy(a[2],"WIN")C、a[2][3]=’W’D、a[0][1]=a[0][1]標(biāo)準(zhǔn)答案:A知識點解析:本題主要是對字符數(shù)組的考查。選項A中a[2]為一個地址,所以不能用等號進行賦值操作。14、下列關(guān)于this指針的描述中,正確的是()。A、類的成員函數(shù)都有this指針B、類的友元函數(shù)都有this指針C、任何與類相關(guān)的函數(shù)都有this指針D、類的非靜態(tài)成員函數(shù)都有this指針標(biāo)準(zhǔn)答案:D知識點解析:this是成員函數(shù)所屬對象的指針,它指向類對象的地址。成員函數(shù)通過這個指針可以知道自己屬于哪一個對象。它隱藏于每個類的非靜態(tài)成員函數(shù)中。15、有如下類定義classMyClasspublic:____________Private:intdata;};若要為MyClass類重載流輸入運算符>>,使得程序中可以“cin>>obj;”形式輸入MyClass類的對象obj,則橫線處的聲明語句應(yīng)為()。A、friendistream&operator>>(istream&is,MyClass&a);B、friendistream&operator>>(istream&is,MyClassa);C、istream&operator>>(istream&is,MyClass&a);D、istream&operator>>(istream&is,MyClassa);標(biāo)準(zhǔn)答案:A知識點解析:C++的輸入運算符>>作為非類成員函數(shù)重載。在一個類中,可將輸入運算符>>聲明為友元函數(shù),在類MyClass重載輸入運算符>>的形式如選項A所示。16、關(guān)于函數(shù)重載,下列敘述中錯誤的是()。A、重載函數(shù)的函數(shù)名必須相同B、重載函數(shù)必須在參數(shù)個數(shù)或類型上有所不同C、重載函數(shù)的返回值類型必須相同D、重載函數(shù)的函數(shù)體可以有所不同標(biāo)準(zhǔn)答案:C知識點解析:此題考查的是函數(shù)重載。在C++語言中,允許定義一系列函數(shù)名相同,但形參的個數(shù)和類型不完全相同的函數(shù),即函數(shù)的重載。重載函數(shù)對返回值類型不做要求,返回值類型也不參與區(qū)分函數(shù)的重載形式。17、計算斐波那契數(shù)列第n項的函數(shù)定義如下:intfib(intn){if(n==0)return1;elseif(n=1)return2;elsereturnfib(n-1)+fib(n-2);}若執(zhí)行函數(shù)調(diào)用表達式fib(2),函數(shù)fib被調(diào)用的次數(shù)是()。A、1B、2C、3D、4標(biāo)準(zhǔn)答案:B知識點解析:斐波那契數(shù)列是遞歸函數(shù),所以fib(2)=fib(1)+fib(0)=2+1=3。因而執(zhí)行函數(shù)調(diào)用表達式fib(2)時,函數(shù)fib被調(diào)用的次是2次。18、建立一個有成員對象的派生類對象時,各構(gòu)造函數(shù)體的執(zhí)行次序為()。A、派生類、成員對象類、基類B、成員對象類、基類、派生類C、基類、成員對象類、派生類D、基類、派生類、成員對象類標(biāo)準(zhǔn)答案:C知識點解析:建立派生類對象的時候,構(gòu)造函數(shù)的執(zhí)行順序如下:執(zhí)行基類的構(gòu)造函數(shù),調(diào)用的順序按照基類被繼承時候的順序(自左向右)。然后是執(zhí)行成員對象的構(gòu)造函數(shù),調(diào)用順序按照各個成員對象在類中的聲明順序(自上而下),最后是執(zhí)行派生類的構(gòu)造函數(shù)。19、有如下程序#include<iostream>#include<iomanip>usingnamespacestd;classMyClass{public:MyClass(){cout<<’A’;}MyClass(chafc){cout<<c;}~MyClass(){cout<<’B’;}};intmain(){MyClassp1,*p2;p2=newMyClass(’X’);deletep2;return0;}執(zhí)行這個程序屏幕上將顯示輸出()。A、ABXB、ABXBC、AXBD、AXBB標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是構(gòu)造函數(shù)和析構(gòu)函數(shù)。構(gòu)造函數(shù)在對象被創(chuàng)建的時候由系統(tǒng)自動調(diào)用,而析構(gòu)函數(shù)在對象的生存期即將結(jié)束的時候由系統(tǒng)自動調(diào)用。此題中,主程序在創(chuàng)建MayClass類的對象p1時,調(diào)用MayClass類的默認(rèn)構(gòu)造函數(shù),輸出字母A;然后在創(chuàng)建*p2對象時,調(diào)用帶字母參數(shù)的構(gòu)造函數(shù),輸出字母X;語句deletep2:調(diào)用析構(gòu)函數(shù),輸出字母B;在主函數(shù)退出時,調(diào)用析構(gòu)函數(shù)清除對象p1,輸出字母B。20、有如下類聲明:classMyBASE{intk;public:voidset(intn){k=n;}intgetoconst{returnk;}};classMyDERIVED:protectedMyBASE{protected:intj;public:voidset(intm,intn){MyBASE::set(m);j=n;}intget()const{returnMyBASE::get()+j;}};則類MyDERIVED中保護的數(shù)據(jù)成員和成員函數(shù)的個數(shù)是()。A、4B、3C、2D、1標(biāo)準(zhǔn)答案:B知識點解析:此題考查的是派生與繼承中的訪問權(quán)限。protected派生:private->不可見;protected->private;public->protected。21、下列語句都是程序運行時的第1條輸出語句,其中一條語句的輸出效果與其他三條語句不同,該語句是()。A、cout<<internal<<12345;B、cout<<left<<12345:C、cout<<right<<12345;D、cout<<setw(6)<<12345;標(biāo)準(zhǔn)答案:D知識點解析:選項A,B,C都沒有指輸出數(shù)據(jù)的寬度,所以在輸出時,按實際字符的寬度輸出,而選項D指定輸出字符的寬度為6,而實際輸出的寬度等于5,所以最后一個字符用空格補齊。國家二級C++機試(選擇題)模擬試卷第3套一、選擇題(本題共24題,每題1.0分,共24分。)1、下列敘述中正確的是A、算法就是程序B、設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計C、設(shè)計算法時只需要考慮結(jié)果的可靠性D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點解析:所謂算法是指解題方案的準(zhǔn)確而完整的描述。是一組嚴(yán)謹(jǐn)?shù)囟x運算順序的規(guī)則,并且每一個規(guī)則都是有效的,且是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。算法不等于程序,也不等于計算方法。設(shè)計算法時不僅要考慮對數(shù)據(jù)對象的運算和操作,還要考慮算法的控制結(jié)構(gòu)。2、下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進行查找的是()。A、順序存儲的有序線性表B、線性鏈表C、二叉鏈表D、有序線性鏈表標(biāo)準(zhǔn)答案:A知識點解析:二分法查找只適應(yīng)于順序存儲的有序表。有序表是指線性表中的元素按值非遞減排序(即從小到大,但允許相鄰元素值相等)的表。3、對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為()。A、9B、10C、45D、90標(biāo)準(zhǔn)答案:C知識點解析:線性表的長度為n,最壞情況下冒泡排序需要比較的次數(shù)為n(n-1)/2。4、下列排序方法中,最壞情況下比較次數(shù)最少的是()。A、冒泡排序B、簡單選擇排序C、直接插入排序D、堆排序標(biāo)準(zhǔn)答案:D知識點解析:冒泡排序、簡單選擇排序和直接插入排序法在最壞的情況下比較次數(shù)為:n(n—1)/2。而堆排序法在最壞的情況下需要比較的次數(shù)為O(log2n)。其中堆排序的比較次數(shù)最少。5、下列敘述中正確的是A、算法的復(fù)雜度是指算法所處理的數(shù)據(jù)量B、算法的復(fù)雜度是指算法程序中指令的數(shù)量C、算法的復(fù)雜度是指算法控制結(jié)構(gòu)的復(fù)雜程度D、算法的復(fù)雜度包括時間復(fù)雜度與空間復(fù)雜度標(biāo)準(zhǔn)答案:D知識點解析:算法分析的目的在于選擇合適算法和改進算法。一個算法的評價主要從時間復(fù)雜度和空間復(fù)雜度來考慮。6、數(shù)據(jù)流程圖(DFD圖)是()。A、軟件概要設(shè)計的工具B、軟件詳細(xì)設(shè)計的工具C、結(jié)構(gòu)化方法的需求分析工具D、面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ邩?biāo)準(zhǔn)答案:C知識點解析:本題考查數(shù)據(jù)流程圖DFD的概念。對于面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法,按照DeMarco的定義,“結(jié)構(gòu)化分析就是使用數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、結(jié)構(gòu)化英語、判定表和判定樹等工具,來建立一種新的、稱為結(jié)構(gòu)化規(guī)格說明的目標(biāo)文檔”。結(jié)構(gòu)化分析方法的實質(zhì)是著眼于數(shù)據(jù)流,自項向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。數(shù)據(jù)流圖(DFD-DataFlowDiagram)是描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)的功能建模。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。由此可得數(shù)據(jù)流程圖是結(jié)構(gòu)化方法的需求分析工具。7、在下列函數(shù)原型中,可以作為類AA構(gòu)造函數(shù)的是()。A、voidAA(int);B、intAA();C、AA(int)const;D、AA(int);標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是構(gòu)造函數(shù)的概念。構(gòu)造函數(shù)是類的一個特殊成員函數(shù),它與類同名,并且沒有返回值。選項A、B不符合要求。選項c中函數(shù)AA,會更新對象的數(shù)據(jù)成員。8、程序流程圖中帶有箭頭的線段表示的是()。A、圖元關(guān)系B、數(shù)據(jù)流C、控制流D、調(diào)用關(guān)系標(biāo)準(zhǔn)答案:C知識點解析:程序流程圖是一種傳統(tǒng)的、應(yīng)用廣泛的軟件過程設(shè)計工具,通常也稱為程序框圖。其中,用帶箭頭的線段表示控制流,用柜形表示加工步驟,用菱形表示邏輯條件。9、在數(shù)據(jù)庫管理技術(shù)的發(fā)展中,數(shù)據(jù)獨立性最高的是()。A、人工管理B、文件系統(tǒng)C、數(shù)據(jù)庫系統(tǒng)D、數(shù)據(jù)模型標(biāo)準(zhǔn)答案:C知識點解析:在人工管理階段,數(shù)據(jù)無法共享,冗余度大,不獨立,完全依賴程序;在文件系統(tǒng)階段,數(shù)據(jù)共享性差;在數(shù)據(jù)庫系統(tǒng)階段,共享性好,獨立性高。10、下列關(guān)于對象概念的描述中,正確的是()。A、對象就是C語言中的結(jié)構(gòu)變量B、對象代表著正在創(chuàng)建的系統(tǒng)中的一個實體C、對象是一個狀態(tài)和操作(或方法)的封裝體D、對象之間的信息傳遞是通過消息進行的標(biāo)準(zhǔn)答案:D知識點解析:對象之間的信息傳遞是通過消息進行的。對象=方法(函數(shù))+屬性(數(shù)據(jù)),而C語言的結(jié)構(gòu)體其實就是不同類型數(shù)據(jù)的組合。并沒有處理數(shù)據(jù)的方法。11、對于int*pa[5];的描述,正確的是()。A、pa是一個指向數(shù)組的指針,所指向的數(shù)組是5個int型元素B、pa是一個指向某個數(shù)組中第5個元素的指針,該元素是int型變量C、pa[5]表示某個數(shù)組的第5個元素的值D、pa是一個具有5個元素的指針數(shù)組,每個元素是一個int型指針標(biāo)準(zhǔn)答案:A知識點解析:語句“int*p[5]”表示一個數(shù)組p,它的大小是5,里面存放的數(shù)據(jù)類型是int*,也就是整型指針。稱之為指針數(shù)組(從右向左解析這個表示)。12、下列存儲類標(biāo)識符中,可見性與存在性不一致的是()。A、外部類B、自動類C、內(nèi)部靜態(tài)類D、寄存器類標(biāo)準(zhǔn)答案:C知識點解析:可見性是函數(shù)內(nèi)部,存在整個程序中,第二次調(diào)用值不變。13、有如下程序:撕ncludeusingnamespacestd;classAA{intk;protected:intn;voidsetK(intk){this一>k=k;}public:voidsetN(intn){this一>n=n;}};classBB:publicAA{/*類體略*/};intmain(){BBx;x.n=1;//1x.setN(2);//2x.k=3://3x.setK(4);//4return0;}在標(biāo)注號碼的四條語句中正確的是()。A、1B、2C、3D、4標(biāo)準(zhǔn)答案:B知識點解析:本題考查公用繼承對基類成員的訪問屬性。在公用繼承中,基類的公用成員和保護成員在派生類中保持原有訪問屬性,其私有成員仍為基類私有。所以本題中n、k和setK變?yōu)榱伺缮惖谋Wo成員,不能直接使用,即1、3、4錯誤,所以B選項正確。14、若已定義了類Vehicle,則下列派生類定義中,錯誤的是()。A、classCar:vehicle{/*類體略*/};B、classCar:publiccar{/*類體略*/};C、classCar:publicVehicle{/*類體略*/):D、classCar:virtualpublicVehicle{/*類體略*/};標(biāo)準(zhǔn)答案:B知識點解析:類Car不能派生自它本身。15、下列選項可以做C++標(biāo)識符的是()。A、_256B、fat/pigC、deleteD、Schar標(biāo)準(zhǔn)答案:A知識點解析:標(biāo)識符的命名規(guī)則:①所有標(biāo)識符必須由一個字母(a~Z或A~Z)或下劃線()開頭;②標(biāo)識符的其他部分可以用字母、下劃線或數(shù)字(0~9)組成;③大小寫字母表示不同意義,即代表不同的標(biāo)識符,如cout和Cout。16、有如下程序:#inc1ude<iostream>usingnamespacestd;intmain(){intsum;for(inti=0;i<6;i+=3){sum=i;for(intj=i;j<6;j++)sum+=j;}cout<<sum<<end1;retum0;}運行時的輸出結(jié)果是()。A、3B、10C、12D、15標(biāo)準(zhǔn)答案:D知識點解析:由題干可以知道,外層循環(huán)會進行兩次,且第一次的結(jié)果我們可以不去理會和計算,讀者仔細(xì)觀察能發(fā)現(xiàn),在第一次的循環(huán)以后sum和j都會被重新賦值,所以外層第二次循環(huán)如下:此時i=3,sum=3內(nèi)層循環(huán)開始如下:j=3,j<6,sum=6;j=4,j<6,sum=10,j=5,j<6,sum=15,j=6退出內(nèi)層循環(huán)。得到sum=15。17、有如下類定義:classAA{inta:public:AA(intn=0):a(n){}};classBB:publicAA{public:BB(intn)______};其中橫線處缺失部分是()。A、:a(n){}B、:AA(n){}C、{a(n);}D、{a=n;}標(biāo)準(zhǔn)答案:B知識點解析:根據(jù)派生類構(gòu)造函數(shù)的一般格式:<派生類名>(<總參數(shù)表>):<基類名1>(<參數(shù)表1>),…<基類名n>(<參數(shù)表n>),<成員對象名1>(<參數(shù)表n+1>),…<成員對象名m>(<參數(shù)表n+m>)<派生類構(gòu)造函數(shù)體>。在派生類BB的構(gòu)造函數(shù)總參數(shù)表后面應(yīng)該接上基類名AA和其參數(shù)。18、有如下程序#inc1ude<iostream>#inc1ude<iomanip>usingnamespacestd;c1assMyClass{public:MyClass(){cout<<’A’;)MyClass(charc){cout<<c;}~MyClass(){cout<<’B’;}};intmain(){MyClassp1,*p2;p2newMyClass(’X’);deletep2;retum0;}執(zhí)行這個程序屏幕上將顯示輸出()。A、ABXB、ABXBC、AXBD、AXBB標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是構(gòu)造函數(shù)和析構(gòu)函數(shù)。構(gòu)造函數(shù)在對象被創(chuàng)建的時候由系統(tǒng)自動調(diào)用,而析構(gòu)函數(shù)在對象的生存期即將結(jié)束的時候由系統(tǒng)自動調(diào)用。此題中,主程序在創(chuàng)建MayClass類的對象p1時,調(diào)用MayClass類的默認(rèn)構(gòu)造函數(shù),輸出字母A:然后在創(chuàng)建.p2對象時,調(diào)用帶字母參數(shù)的構(gòu)造函數(shù),輸出字母X;語句deletep2;調(diào)用析構(gòu)函數(shù),輸出字母B:在主函數(shù)退出時,調(diào)用析構(gòu)函數(shù)清除對象p1,輸出字母B。19、有如下類定義: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的公有,不能訪問其它成員。20、生成派生類對象時,派生類構(gòu)造函數(shù)調(diào)用基類構(gòu)造函數(shù)的條件是()。A、無需任何條件B、基類中顯示定義了構(gòu)造函數(shù)C、派生類中顯式定義了構(gòu)造函數(shù)D、派生類構(gòu)造函數(shù)明確調(diào)用了基類構(gòu)造函數(shù)標(biāo)準(zhǔn)答案:A知識點解析:因為派生類從基類中繼承,它含有基類中的數(shù)據(jù)成員和函數(shù)成員,所以當(dāng)生成派生類對象時,能無條件的調(diào)用基類的構(gòu)造函數(shù)。21、有如下程序:#includeusingnamespacestd;classVAC{public;intf()const{return3;}intf(){return5;}};Intmain(){VACv1;constVACv2;cout<A、53B、35C、55D、33標(biāo)準(zhǔn)答案:A知識點解析:此題考查的是常成員函數(shù)的應(yīng)用。VAC類中說明了兩個函數(shù),一個是常成員函數(shù),一個是普通函數(shù);在主函數(shù)中說明了兩個對象,通過普通對象v1調(diào)用的是普通函數(shù),輸出5;通過常對象V2調(diào)用的是常成員函數(shù),輸出3。22、下列關(guān)于運算符函數(shù)的描述中,錯誤的是()。A、運算符函數(shù)的名稱總是以operator為前綴B、運算符函數(shù)的參數(shù)可以是對象C、運算符函數(shù)只能定義為類的成員函數(shù)D、在表達式中使用重載的運算符相當(dāng)于調(diào)用運算符重載函數(shù)標(biāo)準(zhǔn)答案:C知識點解析:C++把重載的運算符視為特殊的函數(shù),稱為運算符函數(shù)。編譯系統(tǒng)能夠依據(jù)使用運算符的不同環(huán)境,即參數(shù)(操作數(shù))的數(shù)量或類型的差異,區(qū)分同一運算符的不同含義。運算符函數(shù)作為非成員函數(shù)時,所有的操作數(shù)必須出現(xiàn)在參數(shù)表中。23、若有函數(shù)模板mySwap和一些變量定義如下:()。template<classT>voidmySwap(Tx,Ty);doubled1,d2;inti1,i2;下列對mySwap的調(diào)用中,錯誤的是A、mySwap(i1,i2)B、mySwap(d1,d2)C、mySwap(i1,d1)D、mySwap<int>(i2,d2)標(biāo)準(zhǔn)答案:C知識點解析:按照函數(shù)模板mySwap的定義,變量x和y應(yīng)該是同一類型,而在選項C的定義中變量i1和d1屬于不同的數(shù)據(jù)類型。24、有如下程序:#include<iostream>#include<iomanip>usingnamespacestd;intmain(){cout.fill(’*’);cout<<left<<setw(4)<<123<<"OK"<<endl;return0;}執(zhí)行這個程序的輸出結(jié)果是()。A、123*OKB、123*OK**C、*123OKD、*123**OK標(biāo)準(zhǔn)答案:A知識點解析:此題考查了輸出流的格式控制。cout的fill()是設(shè)置填充字符;left和endl分別是使輸出數(shù)據(jù)左對齊和換行:setw()函數(shù)的作用是設(shè)置輸入輸出的寬度,此設(shè)置效果只對以此輸入或輸出有效。此題中,輸出整數(shù)123時寬度為4且左對齊,得到“123*”;輸出字符串“OK”/寬度沒有定義實際大小輸出,結(jié)果得到OK;故最后得到的輸出結(jié)果是123*OK。國家二級C++機試(選擇題)模擬試卷第4套一、選擇題(本題共18題,每題1.0分,共18分。)1、在面向?qū)ο蠓椒ㄖ?,不屬于“對象”基本特點的是()。A、一致性B、分類性C、多態(tài)性D、標(biāo)識唯一性標(biāo)準(zhǔn)答案:A知識點解析:對象具有如下特征;標(biāo)識惟一性、分類性、多態(tài)性、封裝性、模塊獨立性。2、軟件生命周期中的活動不包括()。A、市場調(diào)研B、需求分析C、軟件測試D、軟件維護標(biāo)準(zhǔn)答案:A知識點解析:軟件的生命周期描述了軟件從產(chǎn)生到最終消亡的全過程,生命周期中的活動包括需求分析、軟件設(shè)計(分為概要設(shè)計和詳細(xì)設(shè)計)、軟件實現(xiàn)、軟件測試和軟件維護,不包括市場調(diào)研。3、從工程管理角度看,軟件設(shè)計一般分為兩步完成,它們是()。A、概要設(shè)計與詳細(xì)設(shè)計B、數(shù)據(jù)設(shè)計與接口設(shè)計C、軟件結(jié)構(gòu)設(shè)計與數(shù)據(jù)設(shè)計D、過程設(shè)計與數(shù)據(jù)設(shè)計標(biāo)準(zhǔn)答案:A知識點解析:軟件設(shè)計是開發(fā)階段最重要的步驟.從工程管理的角度來看可分為兩步:概要設(shè)計和詳細(xì)設(shè)計.概要設(shè)計是將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu),確定系統(tǒng)級接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式;詳細(xì)設(shè)計是指確立每個模塊的實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用適應(yīng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。從技術(shù)觀點來看,軟件設(shè)計包括軟件結(jié)構(gòu)設(shè)計(定義軟件系統(tǒng)各主要部件之間的關(guān)系)、數(shù)據(jù)設(shè)計(將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu))、接口設(shè)計(描述軟件內(nèi)部、軟件與協(xié)作系統(tǒng)之間以及軟件與人之間如何通信)、過程設(shè)計(把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程)四個步驟。4、數(shù)據(jù)庫系統(tǒng)的核心是()。A、數(shù)據(jù)模型B、數(shù)據(jù)庫管理系統(tǒng)C、數(shù)據(jù)庫D、數(shù)據(jù)庫管理員標(biāo)準(zhǔn)答案:B知識點解析:數(shù)據(jù)庫管理系統(tǒng)(DBMS)是數(shù)據(jù)庫的機構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務(wù)等。所以,數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)系統(tǒng)的核心。5、數(shù)據(jù)庫系統(tǒng)的三級模式不包括()。A、概念模式B、內(nèi)模式C、外模式D、數(shù)據(jù)模式標(biāo)準(zhǔn)答案:D知識點解析:數(shù)據(jù)庫系統(tǒng)的三級模式包括概念模式、外模式和內(nèi)模式(物理模式)。6、一般情況下,當(dāng)對關(guān)系R和S進行自然連接時,要求R和S含有一個或者多個共有的()。A、記錄B、行C、屬性D、元組標(biāo)準(zhǔn)答案:C知識點解析:自然連接要滿足兩個條件:一是兩關(guān)系之間有公共域。二是通過共域的相等值進行連接。7、下列關(guān)于運算符重載的描述中,錯誤的是()。A、可以通過運算符重載在C++中創(chuàng)建新的運算符B、賦值運算符只能重載為成員函數(shù)C、運算符函數(shù)重載為類的成員函數(shù)時,第一操作數(shù)是該類對象D、重載類型轉(zhuǎn)換運算符時不需要聲明返回類型標(biāo)準(zhǔn)答案:A知識點解析:運算符重載應(yīng)盡可能保持其原有的基本語義,而不是創(chuàng)建新的運算符。重載的運算符應(yīng)該體現(xiàn)為原運算符的功能在新數(shù)據(jù)類型上的延伸,它的使用應(yīng)當(dāng)使程序中算法的表達式顯得更流暢、自然,使閱讀程序的人在不借助于其他說明資料的情況下就能夠正確理解。8、有如下程序:#include<iostream>usingnamespacestd;voidf1(intax,int&y){intz=x;x=y;y=z;}voidf2(intx,inty){intz=x;x=y;y=z;}intmain(){intx=10,y=26;f1(x,y);f2(x,y);cout<<y<<end1;return0;}運行時的輸出結(jié)果是()。A、10B、16C、26D、36標(biāo)準(zhǔn)答案:A知識點解析:子函數(shù)f1中的形參是引用變量,所以執(zhí)行子函數(shù)實現(xiàn)了變量x,y值的交換,變量x的值等于26,而變量y的值等于10。而子函數(shù)f2中的形參是普通變量,因為C++的函數(shù)之間的參數(shù)傳遞是傳值,所以執(zhí)行函數(shù)f2不能實現(xiàn)變量x,y值的交換。9、下列關(guān)于模板形參的描述中,錯誤的是()。A、模板形參表必須在關(guān)鍵字template之后B、模板形參表必須用括弧()括起來C、可以用class修飾模板形參D、可以用typename修飾模板形參標(biāo)準(zhǔn)答案:B知識點解析:聲明一個函數(shù)模板的格式是:template<<模板形參表聲明>><函數(shù)聲明>,其中的<模板形參表聲明>是由一個或多個<模板形參>組成(如果是多個,需要用逗號隔開)。每個<模板形參>具有下面的幾種形式:①typename<參數(shù)表>②class<參數(shù)名>③<類型修飾><參數(shù)名>由此可知,模板形參表必須用括弧

括起來,而不是(),所以選項B為正確答案.10、已知枚舉類型定義語句為:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};則下列敘述中錯誤的是()。A、枚舉常量NAME的值為1B、枚舉常量NUMBER的值為1C、枚舉常量MINUS的值為6D、枚舉常量PRINT的值為10標(biāo)準(zhǔn)答案:A知識點解析:此題考查的是C++語言的數(shù)據(jù)類型。第一個枚舉常量的值為0;允許程序顯示的定義中指定部分或全部枚舉常量的值,枚舉常量默認(rèn)時,在前一枚舉常量值的基礎(chǔ)上以此增1。11、有如下兩個類定義:classAA{};classBB{AAvl,*v2;BBv3;int*v4;};其中有一個成員變量的定義是錯誤的,這個變量是()。A、v1B、v2C、v3D、v4標(biāo)準(zhǔn)答案:C知識點解析:在定義類的數(shù)據(jù)成員時,類中的數(shù)據(jù)成員可以是任意類型,包括整型、浮點型、字符符型、數(shù)組、指針和引用等,也可以是對象。但是要注意,只有另外一個類的對象,才可以作為該類的成員,即作為類的成員對象存在。自身類的對象是不可以作為自身類的成員存在,但自身類的指針可以。對于本題,在定義類BB時,不能包括其對象v3。12、已知函數(shù)print()沒有返回值,如果在類中將之聲明為常成員函數(shù),正確的是()。A、voidprint()const;B、constvoidprint();C、voidconstprint();D、voidprint(const);標(biāo)準(zhǔn)答案:A知識點解析:const成員函數(shù)表示該成員函數(shù)只能讀類數(shù)據(jù)成員,而不能修改類成員數(shù)據(jù)。定義const成員函數(shù)時,把const關(guān)鍵字放在函數(shù)的參數(shù)表和函數(shù)體之間。13、有如下程序:#include<iostream>usingnamespacestd;classC1{public:~C1(){cout<<1;}};classC2:publicC1{public:~C2(){cout<<2;}};intmain(){C2cb2;C1*cb1;return0;}運行時的輸出結(jié)果是()。A、121B、21C、211D、12標(biāo)準(zhǔn)答案:B知識點解析:在主函數(shù)中定義C2類的對象,當(dāng)程序結(jié)束時,首先調(diào)用C2類的析構(gòu)函數(shù)~C2,輸出2,再調(diào)用Cl類的析構(gòu)函數(shù)~C1,輸出1。所以程序運行的結(jié)果就是21。14、有如下程序:#include<iostream>usingnamespacestd;classA{public:A(inti=0):r1(i){}voidprint(){cout<<’E’<<r1<<’-’;}voidprint()const{cout<<’C’<<r1*r1<<’-’;}voidprint(intx){cout<<’p’<<r1*r1*r1<<’-’;}private:intr1;};mtmain(){Aa1;constAa2(4);a1.print(2);a2.print();return0;}運行時的輸出結(jié)果是()。A、P8-E4B、P8-C16-C、P0-E4-D、P0-C16-標(biāo)準(zhǔn)答案:D知識點解析:在主函數(shù)中創(chuàng)建a1對象時,調(diào)用類A的默認(rèn)構(gòu)造函數(shù),其數(shù)據(jù)成員r1的值等于0。當(dāng)執(zhí)行a1.print(2)語句時,調(diào)用帶參數(shù)的print成員函數(shù),所以輸出結(jié)果為p0-對象a2為常成員,所以其成員變量r1的值等于4,因為常對象只能調(diào)用常成員函數(shù),所以當(dāng)執(zhí)行語句a2.print()語句時,輸出結(jié)果為C14.。15、下列關(guān)于運算符重載的描述中,錯誤的是()。A、∷運算符不能重載B、類型轉(zhuǎn)換運算符只能作為成員函數(shù)重載C、將運算符作為非成員函數(shù)重載時必須定義為友元D、重載[]運算符應(yīng)完成“下標(biāo)訪問”操作標(biāo)準(zhǔn)答案:C知識點解析:C++把重載的運算符視為特殊的函數(shù),稱為運算符函數(shù)。“運算符重載”是針對C++中原有運算符進行的,不可能通過重載創(chuàng)造出新的運算符。16、已知類MyCiock中未顯式定義構(gòu)造函數(shù),并重載了加法運算符,使得下面的語句序列能夠正確執(zhí)行:MyClockc1,c2;//……c2=c1+10;由此可知:為類MyClock重載的“+”運算符函數(shù)的聲明是()。A、friendMyClockoperator+(MyClock,int);B、friendMyClockoperator+(MyClock,MyClock);C、friendMyClockoperator+(int,MyClock);D、MyClockoperator+(MyClock);標(biāo)準(zhǔn)答案:A知識點解析:由表達式c2=c1+10可知,在對“+”進行重載時,第一操作數(shù)是MyCloek類的對象,而第二操作數(shù)是一個整型數(shù)據(jù)。17、下列關(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è)備就是指鍵盤。18、語句ofstreamf(’’SALARY.DAT’’,ios_base::app);的功能是建立流對象f,并試圖打開文件SALARY.DAT與f關(guān)聯(lián),而且()。A、若文件存在,將其置為空文件;若文件不存在,打開失敗B、若文件存在,將文件指針定位于文件尾;若文件不存在,建立一個新文件C、若文件存在,將文件指針定位于文件首;若文件不存在,打開失敗D、若文件存在,打開失??;若文件不存在,建立一個新文件標(biāo)準(zhǔn)答案:B知識點解析:此題考查的是文件打開模式。文件打開模式isobase::app是為添加數(shù)據(jù)而打開(總是在尾部寫),故只有選項B說法正確。國家二級C++機試(選擇題)模擬試卷第5套一、選擇題(本題共17題,每題1.0分,共17分。)1、下列情況中,不會調(diào)用拷貝構(gòu)造函數(shù)的是()。A、用一個對象去初始化同一類的另一個新對象時B、將類的一個對象賦值給該類的另一個對象時C、函數(shù)的形參是類的對象,調(diào)用函數(shù)進行形參和實參結(jié)合時D、函數(shù)的返回值是類的對象,函數(shù)執(zhí)行返回調(diào)用時標(biāo)準(zhǔn)答案:B知識點解析:拷貝構(gòu)造函數(shù)是一個特殊的構(gòu)造函數(shù),它用一個己知的對象初始化一個正在創(chuàng)建的同類對象,它的一般格式是:類名::類名(const類名&引用對象名)。當(dāng)一個類的對象賦值給該類的另一個對象時,是賦值而不是創(chuàng)建對象,所以不會調(diào)用拷貝構(gòu)造函數(shù)。2、若AA為一個類,a為該類的私有整型數(shù)據(jù)成員,getA()為該類的一個非靜態(tài)公有成員函數(shù),功能是返回a的值。如果x為該類的一個對象,要在類外訪問x對象中a的值,正確的訪問格式為()。A、AA.getA()B、x.getA()C、x.a(chǎn)D、AA∷a標(biāo)準(zhǔn)答案:B知識點解析:要在類外訪問x對象中a的值,必須調(diào)用類的非靜態(tài)公有成員函數(shù)getA()。3、下面不屬于需求分析階段任務(wù)的是A、確定軟件系統(tǒng)的功能需求B、確定軟件系統(tǒng)的性能需求C、需求規(guī)格說明書評審D、制定軟件集成測試計劃標(biāo)準(zhǔn)答案:D知識點解析:需求分析階段的工作可分為4個階段:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審。4、在下列字符中,不允許作為C++標(biāo)識符的是()。A、bB、BC、_D、2標(biāo)準(zhǔn)答案:D知識點解析:C++的標(biāo)識符是一個以字母或下劃線開頭的,由字母、數(shù)字、下劃線組成的字符串。5、下列敘述中,錯誤的是()。A、false是一個邏輯型常量B、b是一個字符型常量C、365是一個int常量D、3.1415926是一個double常量標(biāo)準(zhǔn)答案:B知識點解析:字符常量簡稱字符,它以單引號作為起止符號,中間有一個或若干個字符?;蛘咭浴埃堋遍_頭的包括多個字符的字符序列也符合規(guī)定的字符常量。6、下列定義語句中,錯誤的是()。A、intpx*;B、char*acp[10];C、char(*pac)[10];D、int(*p)();標(biāo)準(zhǔn)答案:A知識點解析:指針變量聲明的一般形式為:<數(shù)據(jù)類型>*<變量名>,在選項A)中,*放在變量名的后面,所以是錯誤的。7、下列關(guān)于運算符重載的描述中,錯誤的是()。A、∷運算符不能重載B、類型轉(zhuǎn)換運算符只能作為成員函數(shù)重載C、將運算符作為非成員函數(shù)重載時必須定義為友元D、重載[]運算符應(yīng)完成“下標(biāo)訪問”操作標(biāo)準(zhǔn)答案:C知識點解析:C++把重載的運算符視為特殊的函數(shù),稱為運算符函數(shù)。“運算符重載”是針對C++中原有運算符進行的,不可能通過重載創(chuàng)造出新的運算符。8、有如下函數(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增1不會影響到實參x的值;形參b是傳址調(diào)用,函數(shù)中對b增1同時會改變實參y的值。故最終結(jié)果是0和2。9、下列有關(guān)函數(shù)重載的敘述中,錯誤的是()。A、函數(shù)重載就是用相同的函數(shù)名定義多個函數(shù)B、重載函數(shù)的參數(shù)列表必須不同C、重載函數(shù)的返回值類型必須不同D、重載函數(shù)的參數(shù)可以帶有默認(rèn)值標(biāo)準(zhǔn)答案:C知識點解析:此題考查的是函數(shù)重載的概念。在C++語言中,允許定義一系列函數(shù)名相同,但形參的個數(shù)和類型不完全相同的函數(shù),即函數(shù)的重載。重載函數(shù)對返回值類型不做要求,返回值類型也不參與區(qū)分函數(shù)的重載形式。故選項C錯誤。10、對于語句cout<A、cout是一個輸出流對象B、endl的作用是輸出回車換行C、x是一個變量D、<<稱作提取運算符標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是C++語言的輸出流。符號“<<”是預(yù)定義插入符,提取運算符是“>>”。11、有如下定義:inta[5]={1,3,5,7,9},*p=a;下列表達式中不能得到數(shù)值5的是()。A、a[2]B、a[3]C、*(p+2)D、*p+4標(biāo)準(zhǔn)答案:B知識點解析:此題考查的是指針引用數(shù)組元素。B選項中,a[3]是數(shù)組的第四個元素,即7,其它選項的引用均可得到5。12、有如下類聲明:c1assBase{protected;intamount;public;Base(intn=0):amount(n){}intgetAmount()const{retumamount;}};c1assDerived:publicBase{protected;intvalue;public;Derived(intm,intn):value(m).Base(n){}IntgetData()const{returnvalue+amount;}};已知x是一個Derived對象,則下列表達式中正確的是()。A、x.value+x.getAmount()B、x.getData()—x.gctAmount()C、x.getData()—x.a(chǎn)mountD、x.vabled—x.a(chǎn)ount標(biāo)準(zhǔn)答案:B知識點解析:此題考查的是派生類對基類成員的訪問權(quán)限。派生類中的成員不能訪問基類中的私有成員,可以訪問基類中的公有成員和保護成員。派生類從基類公有繼承時,基類的公有成員和保護成員在派生類中仍然是公有成員和保護成員;派生類從基類私有繼承時,基類的公有成員和保護成員在派生類中都變成私有成員;派生類從基類保護繼承時,基類的公有成員在派生類中變成保護成員,基類的保護成員在派生類中仍然是保護成員。13、已知類IMS中兩個成員函數(shù)的聲明為“voidlisten()const;”與“voidspeak();”,另有兩個對象的定義為“IMSobj1;”與“constIMSobj2;”,則下列語句中,產(chǎn)生編譯錯誤的是()。A、obj1.listen();B、obj1.speak();C、obj2.listen();D、obj2.speak();標(biāo)準(zhǔn)答案:D知識點解析:函數(shù)listen()作為類IMS的常成員函數(shù),一般對象obj1和常對象obj2都可以調(diào)用它,而函數(shù)speak()作為IMS的一般成員函數(shù),則只有一般對象obj1可以調(diào)用,而常對象obj2調(diào)用會產(chǎn)生編譯錯誤。14、下列有關(guān)C++流的敘述中,錯誤的是()。A、C++操作符setw設(shè)置的輸出寬度永久有效B、C++操作符endl可以實現(xiàn)輸出的回車換行C、處理文件I/O時,要包含頭文件fstreamD、進行輸入操作時,eof()函數(shù)用于檢測是否到達文件尾標(biāo)準(zhǔn)答案:A知識點解析:此題考查的是C++流。C++操作符setw()的作用是設(shè)置輸入輸出寬度,且只對當(dāng)前一次有效,并非永久有效,故選項A敘述錯誤。15、有如下程序:#inc1ude<iostream>#inc1ude<iomanip>usingnamespacestd;intmain(){ints[]={123,234};cout<<right<<setfill(’*’)<<setw(6);for(intl=0;1<2;1++){cout<<s[i]<<end1;}return0:}運行時的輸出結(jié)果是()。A、123234B、***123234C、***123***234D、***123234***標(biāo)準(zhǔn)答案:B知識點解析:在輸出語句中定義了輸出的格式是字符寬度為6,并且向右對齊,不足的位用‘—’補齊。在C++中,輸出格式的設(shè)置只對第一次輸出有效,在完成了一個數(shù)據(jù)的輸出后,寬度毆置自動恢復(fù)為0(表示按數(shù)據(jù)實際寬度輸出)。所以對于本題來說,在循環(huán)語句中輸出數(shù)組s[0]中的元素時,按照規(guī)定的格式輸出,其結(jié)果為¨—123,當(dāng)輸出s[1]時,輸出格式已經(jīng)恢復(fù)到按數(shù)據(jù)實際寬度輸出,所以此時輸出為234。16、下列控制格式輸入輸出的操作符中,能夠設(shè)置浮點數(shù)精度的是()。A、setprecisionB、setwC、setfillD、showpoint標(biāo)準(zhǔn)答案:A知識點解析:setprecision(intn):設(shè)置浮點數(shù)的精度(有效位數(shù)或小數(shù)位數(shù)),等價函數(shù)調(diào)用:io.precision(n)。17、若要對Data類中重載的加法運算符成員函數(shù)進行聲明,下列選項中正確的是()。A、Data+(Data);B、Dataoperator+{Data};C、Data+operator{Data};D、operator+(Data,Data);標(biāo)準(zhǔn)答案:B知識點解析:“+”是一個二元運算符,因此作為成員函數(shù)重載時參數(shù)表中只有一個參數(shù),對應(yīng)于第二個操作數(shù),而第一個操作數(shù)是對象本身。運算符函數(shù)的函數(shù)名是由運算符前加關(guān)鍵字operator構(gòu)成的。國家二級C++機試(選擇題)模擬試卷第6套一、選擇題(本題共23題,每題1.0分,共23分。)1、算法的有窮性是指A、算法程序的運行時間是有限的B、算法程序所處理的數(shù)據(jù)量是有限的C、算法程序的長度是有限的D、算法只能被有限的用戶使用標(biāo)準(zhǔn)答案:A知識點解析:算法的有窮性,是指算法必須能在有限的時間內(nèi)做完,即算法必須能在執(zhí)行有限個步驟之后終止。2、下列符號中,正確的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)的保留字。3、下列符號中不屬于C++關(guān)鍵字的是()。A、friendB、namespaceC、continueD、byte標(biāo)準(zhǔn)答案:D知識點解析:此題考查的是C++語言的關(guān)鍵字。Friend是聲明友元函數(shù)或友元類時用到的關(guān)鍵字:namespace是定義或使用名字空間時用到的關(guān)鍵字;continue是終止本次循環(huán)直接開始下一次循環(huán)所用到的關(guān)鍵字;byte是字節(jié)的意思,它不是C++語言中的關(guān)鍵字。4、下列關(guān)于棧的描述中錯誤的是()。A、棧是先進后出的線性表B、棧只能順序存儲C、棧具有記憶作用D、對棧的插入與刪除操作中,不需要改變棧底指針標(biāo)準(zhǔn)答案:B知識點解析:棧是限定在一端進行插入與刪除的線性表。棧頂(top):插入數(shù)據(jù)(即入棧)的一端:棧底(bottom):不能入棧也不能出棧的一端。棧存儲數(shù)據(jù)的原則:“先進后出”或“后進先出”。棧的特性是具有記憶作用。5、下列敘述中正確的是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)變化也是通過隊頭指針和隊尾指針來反映的。6、設(shè)循環(huán)隊列的存儲空間為Q(1:35),初始狀態(tài)為frontrear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運算后,front=15,rear=15,則循環(huán)隊列中的元素個數(shù)為()。A、15B、16C、20D、0或35標(biāo)準(zhǔn)答案:D知識點解析:循環(huán)隊列的隊頭指針和尾指針都等于15.此循環(huán)隊列中元素的個數(shù)有兩種情況,第一種情況是隊頭指針和尾指針都是第一次到達15,此時元素個數(shù)為0:第二種情況是隊頭指針第一次到達15,而尾指針第二次到達15,此時元素個數(shù)為35。7、下列有關(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)用表達式用內(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í)行效率,所以選項D錯誤。8、有以下程序:#include<iostrearn>usingnamespacestd;classR{public:R(intr1,intr2){R1=r1;R2=r2;}voidprint();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論