版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
國家二級(jí)(C++)筆試模擬試卷14(共9套)(共436題)國家二級(jí)(C++)筆試模擬試卷第1套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、下列敘述正確的是()。A、算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)B、算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)C、算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止D、以上3種描述都不對標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)。算法的空間復(fù)雜度是指算法執(zhí)行過程中所需的存儲(chǔ)空間。2、有下列二叉樹,對此二叉樹中序遍歷的結(jié)果是()。A、ABCDEFB、BDAECFC、ABDCEFD、ABCDFE標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:對二叉樹的中序遍歷是指:首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。在遍歷左、右子樹時(shí),注意依舊按照“左子樹-根結(jié)點(diǎn)-右子樹”的順序。3、源程序的文檔化不包括()。A、符號(hào)名的命名要有實(shí)際意義B、正確的文檔形式C、良好的視覺組織D、正確的程序注釋標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:源程序的文檔化主要包括3點(diǎn):(1)符號(hào)名應(yīng)具有一定實(shí)際的含義,便于理解程序功能:(2)正確的程序注釋;(3)良好的視覺組織。利用空格、空行、縮進(jìn)等技巧使程序?qū)哟吻逦?、下列敘述中錯(cuò)誤的是()。A、一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)B、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率無關(guān)C、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)D、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)分為順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu),一個(gè)數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)。順序結(jié)構(gòu)中數(shù)據(jù)元素所占的存儲(chǔ)空間是連續(xù)的,而鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,數(shù)據(jù)元素所占的存儲(chǔ)空間不一定是連續(xù)的。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)。5、下列敘述中正確的是()。A、在模塊化程序設(shè)計(jì)中,一個(gè)模塊應(yīng)該盡量多的包括與其他模塊聯(lián)系的信息B、在自頂向下、逐步細(xì)化的設(shè)計(jì)過程中,首先應(yīng)設(shè)計(jì)解決問題的第一個(gè)細(xì)節(jié)C、在模塊化程序設(shè)計(jì)中,一個(gè)模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則D、在程序設(shè)計(jì)過程中,不能同時(shí)采用結(jié)構(gòu)化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì)方法標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在模塊化程序設(shè)計(jì)中,模塊之間的聯(lián)系可以通過程序的控制結(jié)構(gòu)來實(shí)現(xiàn),在自頂向下、逐步細(xì)化的設(shè)計(jì)過程中,首先要考慮全局目標(biāo),而不是細(xì)節(jié)。在程序設(shè)計(jì)中,模塊化和結(jié)構(gòu)化可以同時(shí)使用,一個(gè)模塊的內(nèi)部結(jié)構(gòu)也要符合結(jié)構(gòu)化設(shè)計(jì)原則。6、下列工具中為需求分析常用工具的是()。A、PADB、PFDC、N-SD、DFD標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:需求分析常用的工具有數(shù)據(jù)洗圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。PAD(問題分析圖)、PFE(程序流程用)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。7、下列是軟件調(diào)試技術(shù)的是()。A、錯(cuò)誤推斷B、集成測試C、回溯法D、邊界值分析標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:軟件調(diào)試技術(shù)包括強(qiáng)行排錯(cuò)法、回溯法和原因排除法。邊界值分析、錯(cuò)誤推斷都是黑盒測試的方法。8、兩個(gè)或兩個(gè)以上模塊之間聯(lián)系的緊密程度稱為()。A、耦合性B、內(nèi)聚性C、復(fù)雜性D、數(shù)據(jù)傳輸特性標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:耦合性是模塊間互相連接的緊密徽的度量,取決于各個(gè)模塊之間接口的復(fù)雜度、調(diào)用方式以及哪些信息通過接口。9、在對象方法中,一個(gè)對象請求另一個(gè)對象為其服務(wù)的方式是通過發(fā)送()來實(shí)現(xiàn)。A、調(diào)用語句B、命令C、中令D、消息標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在面向?qū)ο蠓椒ㄖ校瑢ο笾g通過消息進(jìn)行通信。消息中只包含傳遞者的要求,它告訴接受者需要做哪些處理,但并不指示接受者應(yīng)該怎么完成這些處理,接受者獨(dú)立決定采用什么方式完成所需的處理。10、設(shè)計(jì)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)屬于()。A、需求分析B、概念設(shè)計(jì)C、邏輯設(shè)計(jì)D、物理設(shè)計(jì)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:物理設(shè)計(jì)階段主要解決選擇文件存儲(chǔ)結(jié)構(gòu)和確定文件存取方法的問題,包括:選擇存儲(chǔ)結(jié)構(gòu)、確定存取方法、選擇存取路徑、確定數(shù)據(jù)的存放位置。二、選擇題(本題共25題,每題1.0分,共25分。)11、在C++語言中函數(shù)返回值的類型是由()決定的。A、調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)B、return語句中的表達(dá)式類型C、定義該函數(shù)時(shí)所指定的函數(shù)類型D、調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:函數(shù)類型決定了函數(shù)返回值的類型。函數(shù)值返回類型可以由編譯器自動(dòng)完成類型轉(zhuǎn)換。在函數(shù)有返回值的調(diào)用中,編譯器將return后面的表達(dá)式的類型,強(qiáng)制轉(zhuǎn)換為該函數(shù)定義時(shí)指定的返回值類型。12、下列描述正確的是()。A、表示m>n為true或m<n為true的表達(dá)式為m>n&&m<nB、switch語句結(jié)構(gòu)中必須有default語句C、if語句結(jié)構(gòu)中必須有else語句D、如果至少有一個(gè)操作數(shù)為true,則包含”||”運(yùn)算符的表達(dá)式為true標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題主要考查Ct+語言的基本語法,選項(xiàng)A中應(yīng)該為m>n||m<n:選項(xiàng)B中default語句可有可無;選項(xiàng)C中訂可以單獨(dú)作為一條語句,不必須和else搭配。13、使用ifstream流類定義流對象并打開磁盤文件時(shí),文件的隱含打開方式為()。A、ios::in.B、ios::outC、ios::inlios::outD、沒有默認(rèn)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:使用ifstream流類定義流對象并打開磁盤文件時(shí),文件沒有默認(rèn)的打開方式。其中ios::in是為輸入而打開;iso::out是為輸出而打開。14、下列各類函數(shù)中,不是類的成員函數(shù)的是()。A、構(gòu)造函數(shù)B、抽象類C、派生類D、以上都不對標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:構(gòu)造函數(shù)包括默認(rèn)構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù)等,析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣屬于類的特殊的成員函數(shù)。而友元函數(shù)則是為了增加類的訪問靈活行而允許其他類的成員函數(shù)成全局函數(shù)訪問類的內(nèi)部變量或成員函數(shù)的一種機(jī)制,其缺點(diǎn)是破壞了類的封裝性。15、下列運(yùn)算符中不能在C++中重載的是()。A、?:B、+C、-D、<=標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查運(yùn)算符的重載。Ct+中,“::、*、、?:”這4個(gè)運(yùn)算符不能重載。16、考慮函數(shù)原型voidtest(inta,intb=7,charz=‘*’),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是()。A、test(5);B、test(5,8);C、test(6,’#’);D、test(0,0,’x’);標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:題中函數(shù)聲明帶有默認(rèn)參數(shù),那么在C選項(xiàng)的調(diào)用中,將會(huì)把字符型實(shí)參#賦值給整型形參b,這不符合參數(shù)傳遞規(guī)則。17、類MyClass的定義如下:classMyClass{public:MyClass(){value=0;}SetVariable(inti){value=i}private:intvalue;};則對下列語句序列正確的描述是()。MyClass*P,my;p=&my;A、語句p=&my;是把對象my賦值給指針變量PB、語句MyClass*p,my;會(huì)調(diào)用兩次類MyClass的構(gòu)造函數(shù)C、對語句*P.SetVariabte(5)的調(diào)用是正確的D、語句p->SetVariable(5)與語句my.SetVariable(5)等價(jià)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:語句p=&my,是把對象my的地址值賦值給指針變量P;語句MyClass*p,my;,由于p只是一個(gè)指向?qū)ο蟮闹羔?,因此定義指針p不調(diào)用構(gòu)造函數(shù),所以此語句只調(diào)用一次構(gòu)造函數(shù);討成員函數(shù)的引用可以通過兩種形式:指針->成員函數(shù)(形參表)或者對象名、成語函數(shù)名(形參表)。18、下面關(guān)于break語句的描述中,不正確的是()。A、break可以用于循環(huán)體內(nèi)B、break語句可以在for循環(huán)語句中出現(xiàn)多次C、break語句可以在switch語句中出現(xiàn)多次D、break語句可用于if條件判斷語句內(nèi)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查的是break語句的使用。break可以結(jié)束switch語句和for循環(huán)語句,但是不能使用在條件判斷語句內(nèi)。19、如果表達(dá)式-x/y中的“--”和“/”是作為友元函數(shù)重載的運(yùn)算符,采用運(yùn)算符函數(shù)用格式,該表達(dá)式還可表示為()。A、operator/(x.operator--(),y);B、operator/(operator--(x),y);C、x.operator--().operator/(y);D、y.operator/(operator--(x));標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考核運(yùn)算符的重載。假定已經(jīng)作為某個(gè)類的成員函數(shù)重載了二元運(yùn)算符+,且c1、c2都是該類的對象,則c1。operator+(c2)與c1+c2含義相同。如果+作為該類的非成員函數(shù)重載,則operator+(c1,c2)與c1+c2含義相同。同理,運(yùn)算符“/”作為友元函數(shù)重載,則(--x)/y與表達(dá)式operator/((--x),y)相同。前綴運(yùn)算符“--”作為友元函數(shù)重載,則--x與operator--(x)相同,所以組合起來是operator/(operator-(x),y);,即B選項(xiàng)。20、已知類A有公用數(shù)據(jù)成員a,并重載了“=”運(yùn)算符,且有Aobj2;constA*ptrnewA;則下列語句錯(cuò)誤的是()。A、ptr->a=100;B、ptr=&obj2;C、ptr++;D、obj2=*ptr;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查const修飾符的作用。注意:const位置不同,其修飾的部分也是不同的。本題中const修飾的是ptr所指的對象本身,所以,ptr是可以重新指向新的對象,而ptr->a則無法被更新。21、可以用p.a的形式訪問派生類對象p的基類成員a,其中a是()。A、私有繼承的公有成員B、公有繼承的私有成員C、公有繼承的保護(hù)成員D、a有,繼承的公有成員標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:只有公有繼承的公有成員才能被派生類的對象直接訪問,其他的情況都會(huì)因?yàn)樵L問權(quán)限問題產(chǎn)生錯(cuò)誤。22、下面程序的運(yùn)行結(jié)果為()。#include<iostream.h>classA{intnumpublic:A(inti){num=i;}A(A&a){Bum=a.num++;}voidprint(){cout<<Bum;}};voidmain(){Aa(1),b(a);A.print();B.print();}A、11B、12C、21D、22標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查考生對拷貝構(gòu)造函數(shù)的掌握。因?yàn)?+運(yùn)算是右結(jié)合的,所以在使用a對b賦值時(shí),b的num變?yōu)?而a的hum變?yōu)?(先賦值再自加)。23、設(shè)有定義charstr[80]以下不能將輸人數(shù)據(jù)nrst\nsecond\<CR)讀取到數(shù)組str的語句是()。A、cin.get(str,strlen(str));B、cin.getline(str,strlen(str));C、cin>>str;D、dn.read(str,strlen(str));標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查cin流對象的幾種成員函數(shù)get,getline,read及流提取符>>的使用規(guī)則。24、下列程序的輸出結(jié)果為()。#include<iostream.h)classTestClass{public:TestClass(){val++;}static,intval;};intTestClass::val=0;voidmain(){TestClasscs1;cout<<csl.val<<““;TestClasscs2;TestClasscs3,cs4;coA、03B、13C、14D、24標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:由主函數(shù)main入手,定義TestClass類的對象cs1,執(zhí)行es1.va1,其中va1為靜態(tài)變量,根據(jù)“tntTestClass::val=0:”初始化,TestClass中的TestClass(){val++;}構(gòu)造函數(shù)執(zhí)行后,val值為1。主函數(shù)中接著定義對象cs2,cs3,cs4。執(zhí)行“cout<<cs2.va1<<end1”中的val值為4,所以輸出為14。25、有以下類定義classMyClass{private:intid;Chargender;Char*phone;public:MyClass():id(0),gender(‘#’),phone(NULL){}MyClass(intno,charge=’#’,char*ph=NULL){id=no;gender=ge;phone=ph;});下列類對象定義語句中錯(cuò)誤的是()。A、MyClassmyObj;B、MyClassmyObj(11,);C、MyClassmyObj(12,’m’);D、MyClassmyObj(12);標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查構(gòu)造函數(shù)的應(yīng)用。對象建立用初始化列表對數(shù)據(jù)成員進(jìn)行時(shí),列表中的參數(shù)類型要與構(gòu)造函數(shù)中形參類型一致。B選項(xiàng)中第二個(gè)參數(shù)為是字符串,而構(gòu)造函數(shù)中第二個(gè)形參為char型,兩者不一致造成錯(cuò)誤。26、下列是關(guān)于派生類聲明的開始部分,其中正確的是()。A、classvirtualB:publicAB、virtualclassB:publicAC、classB:publicAvirtualD、classB:virtualpublicA標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:聲明派生類的一般形式:class派生類名:[繼承方式]基類名。其中繼承方式包括public,private,protected。而virtual為C++中的關(guān)鍵宇,所以選項(xiàng)C錯(cuò)。虛函數(shù)的使用方法是在基類用virtual聲明成員函數(shù)為虛函數(shù)。27、如果類A被說明成類B的友元,則()。A、類A的成員即類B的成員B、類B的成員即類A的成員C、類A的成員函數(shù)不得訪問類B的成員D、類B不一定是類A的友元標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查的是友元類的定義:類A為類B的友元類,則類A的所有成員函數(shù)都是類B的友元函數(shù),但反之則不一定成立。28、下列關(guān)于構(gòu)造函數(shù)和析構(gòu)函數(shù)的描述,錯(cuò)誤的是()。A、析構(gòu)函數(shù)中調(diào)用虛函數(shù)采用靜態(tài)聯(lián)編B、對虛析構(gòu)函數(shù)的調(diào)用可以采用動(dòng)態(tài)聯(lián)編C、當(dāng)基類的析構(gòu)函數(shù)是虛函數(shù)時(shí),其派生類的析構(gòu)函數(shù)也一定是虛函數(shù)D、構(gòu)造函數(shù)可以聲明為虛函數(shù)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:構(gòu)造函數(shù)的主要作用是對數(shù)據(jù)成員初始化。構(gòu)造函數(shù)不能聲明為虛函數(shù),這是因?yàn)樵趫?zhí)行構(gòu)造函數(shù)時(shí)類對象還未完成建立過程,當(dāng)然談不上函數(shù)與類對象的關(guān)聯(lián)。29、若有如下程序:#include<iostream>usingnamespacestd;classTestClass{public:voidwho(){cout<<“TestClass”<<endl;}};classTestClassl:publicTestClass{public:voidwho(){cout<<“TestClassl”<<endl;intmain(){TestCA、TestClasslB、TestClassC、0D、無輸出標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:程序中的TestClass1為TestClass的派生類,主函數(shù)main中定義TestClass對象*p,TestClass1對象obj1,然后p引用obj1,執(zhí)行p->who()則是調(diào)用基類中的who函數(shù),輸出TestClass。30、若有如下程序:#include<iostream>usingnamespacestd;ClassTestClass1{private:inta;public:TestClassl(inti){a=i;}voiddisp(){cout<<a<<“,”;}};ClassTestClass2{private:intb;publicA、10,10,10B、10,12,14C、8,10,12D、8,12,10標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:首先定義TestClass3的對象Obj,參數(shù)為10。其中TestClass3為TestClassl和TestClass2的派生類。然后調(diào)用disp成員函數(shù)。Disp中首先執(zhí)行“TestClassl::disp();”,然后執(zhí)行“TestClass2::disp();”,最后執(zhí)行輸出語句“cout<<c<<end1”。TestClass1(k-2),所以第一個(gè)輸出8,TestClass2(k+2),第二個(gè)輸出12,最后一個(gè)本類中的輸出即為10。31、在下列程序的橫線處填上適當(dāng)?shù)膬?nèi)容,使程序執(zhí)行后的輸出結(jié)果為ABCD。#include<iostream>usingnamespacestd;classA{public:A(){cout<<‘A’;}};ClassB:{public:B(){cout<<‘B’;}};classC:virtualpublicA{public:C(){cout<<‘C’;}};classD:pA、publicAB、privateAC、protectedAD、virtualpublicA標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:由主函數(shù)main入手,定義了類D對象obj。其中D為類B和C的公有繼承,A是C的虛基類。題目中要求的輸出結(jié)果為“ABCD”,依次為類A,類B,類C,類D沖構(gòu)造函數(shù)的輸出語句。為了保證基類通過多條路徑被派生類“voidprint()const”,輸出為print2。32、有如下程序:#include<iostream)usingnamespacestd;classAA{intn;public:AA(intk):n(k){}intget(){returnn;}intget()const{returnn+1;}};intmain(){AAa(5);constAAb(6);COUt<<A.get()<<b.get();return0A、55B、57C、75D、77標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查模板函數(shù)的應(yīng)用,表達(dá)式int(1.1)和int(4.2)是將1.1和4.2強(qiáng)制轉(zhuǎn)換為整型。33、有如下程序:#include<iostream.h>Usingnamespacestd;ClassDemo{public:Demo(){cout<<“defaultconstructor\n”;}Demo(constDemo&x){cont<<“copyconstructor\n”;}};Demousercode(Demob){Democ(b);returnc;}intmain(){A、1和1B、1和2C、2和3D、2和4標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查的是引用調(diào)用,因?yàn)楹瘮?shù)swap引用調(diào)用參數(shù)a,所以在swap函數(shù)中a的變化會(huì)改變主函數(shù)中a的值,即a自加1,但b的值并未改變。34、有如下程序:#include<iostream>usingnamespacestd;classDA{intk;public:DA(intx=1):k(x){}~DA(){cout<<k;}};intmain(){DAd[]={DA(3),DA(3),DA(3)};DA*p=newDA[2];delete[]p;return();}這個(gè)程序的輸出結(jié)果是()。A、111B、333C、11333D、11133標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題是兩個(gè)循環(huán)語句和一個(gè)判斷語句的嵌套。For循環(huán)的作用是在i等于10的時(shí)候跳出循環(huán)本題的答案為B。35、有如下程序:#include<iostream>usingnamespacestd;classMyClass{public:MyClass(intx):val(x){}voidPrint()const{cout<<“const:val=”<<<val<<‘\’;}voidPrint(){cout<<“val=”<<val<<‘t’;}private:intva1;};intmain(){consA、val=10const:val=20B、const:val=10const:val=20C、const:val=10val=20D、val=10val=20標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查提派生類中構(gòu)造函數(shù)的定義。派生類的構(gòu)造首先要調(diào)用基類的構(gòu)造函數(shù),對基類成員初始化;然后對派生類中的新增成員初始化。格式:派生類名(構(gòu)造函數(shù)形參表)基類構(gòu)造函數(shù)(形參表)。三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)36、在程序設(shè)計(jì)階段應(yīng)該采取______和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,繼而用某種程序設(shè)計(jì)語言寫成程序。標(biāo)準(zhǔn)答案:自頂向下。知識(shí)點(diǎn)解析:程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié),逐步使問題具體化,對復(fù)雜的問題,應(yīng)該設(shè)計(jì)一些于目標(biāo)作為過渡。上述方法概括為:自頂向下,逐步細(xì)化。37、二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲(chǔ)結(jié)構(gòu)必須是______。標(biāo)準(zhǔn)答案:順序存儲(chǔ)戊順序方式存儲(chǔ)。知識(shí)點(diǎn)解析:二分法查找對表的、要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲(chǔ)。38、在面向?qū)ο蠓椒ㄖ?,______描述的是具有相似屬性與操作的一組對象。標(biāo)準(zhǔn)答案:類。知識(shí)點(diǎn)解析:在面向?qū)ο蠓椒ㄖ校丫哂邢嗤瑢傩院头椒ǖ膶ο蠓Q為類,類是對象的抽象,對象是類的實(shí)例。39、常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。標(biāo)準(zhǔn)答案:模塊。知識(shí)點(diǎn)解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。40、數(shù)據(jù)庫系統(tǒng)其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式,其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。標(biāo)準(zhǔn)答案:外模式。知識(shí)點(diǎn)解析:數(shù)據(jù)庫系統(tǒng)的三級(jí)模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫的物理存儲(chǔ)結(jié)構(gòu)和存取方法,概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。四、填空題(本題共10題,每題1.0分,共10分。)41、在任何類中都有三種訪問權(quán)限的數(shù)據(jù)成員,分別是public、private和______。標(biāo)準(zhǔn)答案:protected。知識(shí)點(diǎn)解析:C++中,類的三種訪問權(quán)限分別為:公有,私有和保護(hù)。42、虛函數(shù)必須是類的______。標(biāo)準(zhǔn)答案:成員函數(shù)。知識(shí)點(diǎn)解析:虛函數(shù)是允許在派生類中重新定義與基類同名的函數(shù),并且通過基類指針成引用來訪問基類和派生類中的同名函數(shù).在基類中用virtual聲明成員函數(shù)為虛函數(shù),所以虛函數(shù)是類的成員函數(shù)。43、內(nèi)聯(lián)函數(shù)是通過______來實(shí)現(xiàn)的,因此內(nèi)聯(lián)函數(shù)是真正的函數(shù)。標(biāo)準(zhǔn)答案:編譯器。知識(shí)點(diǎn)解析:本題考查內(nèi)聯(lián)函數(shù)的基本概念。內(nèi)聯(lián)函數(shù)是通過編譯囂,只是在調(diào)用的時(shí)候,像宏一樣展開。內(nèi)聯(lián)函數(shù)比普通函數(shù)的效率更高。44、下列程序的運(yùn)行結(jié)果是______。#include<iomanip.h>intFunc(int*a,intn){ints=1;for(inti=0;i<n;i++)s*=*a++;returns;}voidmain(){inta[]:{1,2,3,4,5,6,7,8};intb=Func(a,6)+Func(&a[5],2);cout<<“b=“<(b<<endl;}標(biāo)準(zhǔn)答案:b=762。知識(shí)點(diǎn)解析:本題考查了。a++的用法。*a++作為表達(dá)式時(shí),先計(jì)算*a作為表達(dá)式的值,然后使指針變量a本身增1,在本惠中,s*=*a++等同于3=s**a,a++,S后面第一個(gè)*是乘號(hào)。45、以下程序的執(zhí)行結(jié)果為______。#include<iostream.h>classA{public:A(){cout<<“a”;}~A(){cout<<“b”;}};classB:publicA{public:B(){cout<<“c”;)~B(){cout<<“d”;}};voidmain(){Bb;}標(biāo)準(zhǔn)答案:acdb。知識(shí)點(diǎn)解析:本題考查在繼承中構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序。先調(diào)用基類的構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù),調(diào)用析構(gòu)函數(shù)時(shí)的順序是先調(diào)用派生類的析構(gòu)函數(shù),后調(diào)用基類的析構(gòu)函數(shù)。46、請?jiān)谙铝谐绦蛑械臋M線處填寫正確的語句。#include<iostream>usingnamespacestd;classBase{public:voidfun(){cout<<“Basefun”<<endl;});classDerivde:publicBase{public:voidfun(){//調(diào)用基類的函數(shù)fun()cout<<“Derivedfun”<<endl;}};標(biāo)準(zhǔn)答案:Base::fun()。知識(shí)點(diǎn)解析:本題考查的是派生類對基類成員的訪問。本題中派生類Derived覆蓋了基類Base中的fun(),如果需要調(diào)用基類中的fun(),則需要使用域運(yùn)算符“::”。故應(yīng)填寫B(tài)ase::fun()。47、在下面橫線上填上適當(dāng)?shù)恼Z句,完成程序。#include<iostream>usingnamespacestd;classBase{intx;public:Base(inti){x=i;}~Base(){});classDerived:publicBase{public:______//完成類Derive構(gòu)造函數(shù)的定義};ihtmain(){Derivedobj標(biāo)準(zhǔn)答案:Derived(inti;Base(i){}。知識(shí)點(diǎn)解析:程序中,類Derived是基類Base的公有派生。在類Derived的構(gòu)造函數(shù)應(yīng)該包括調(diào)用基類構(gòu)造函數(shù)使基類的數(shù)據(jù)成員得以初始化,48、下列程序?qū)、y和z按從小到大的順序排列,請將下面的函數(shù)模板補(bǔ)充完整。template<classT>voidorder(){Talif(x>y){a=x;x=y(tǒng);y=a;}if(y>z){a=y(tǒng);y=Z;z=a;}if(x>y){a=X;X=y;y=a;}}標(biāo)準(zhǔn)答案:T&x,T&y,T&z。知識(shí)點(diǎn)解析:本題要填入的是函數(shù)的形參表,此函數(shù)的功能是:x、y和z按從小到大的順序排列,那么就涉及到改變傳入的實(shí)參值的情況,因此要采用引用傳遞的方式。所以本惠空白處應(yīng)填入,T&x,T&y,T&z。49、下列程序完成從文件讀取文件顯示的同時(shí)寫入第二個(gè)文件,則在程序中劃線部分應(yīng)該出現(xiàn)的語句是______。#include<iostream.h>#include(fstream.h)voidmain(){fstreamfilel,file2;charfnl[10],fn2[10],ch;cout<<“輸入源文件名”;cin>>fnl;cout<<“輸入目標(biāo)文件名”;cin>>fn2;filel.open(fnl,ios::i標(biāo)準(zhǔn)答案:file2.open(fn2,ios::out);知識(shí)點(diǎn)解析:fetream沒有默認(rèn)的打開模式,因此在打開文件時(shí)必須在ios_base::out.10s_base::in、ios_base::in/ios_base::out這三個(gè)打開模式中指定一個(gè)。50、operator是運(yùn)算符重載時(shí)必須使用的關(guān)鍵字,它和被重載的運(yùn)算符連在一起,作為運(yùn)算符函數(shù)的專用函數(shù)名,務(wù)必把該函數(shù)說明為______的。標(biāo)準(zhǔn)答案:public。知識(shí)點(diǎn)解析:本題考查C++中運(yùn)算符重載的固定格式和要求。C++中不論用成員函數(shù)還是友元函數(shù)重載運(yùn)算符都必須用關(guān)鍵宇operator,都必須將函數(shù)聲明為公有的。國家二級(jí)(C++)筆試模擬試卷第2套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、下列敘述中錯(cuò)誤的是A、二又樹不是線性結(jié)構(gòu)B、線性表是非線性結(jié)構(gòu)C、線性鏈表是線性結(jié)構(gòu)D、棧與隊(duì)列是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:線性表肯定是線性結(jié)構(gòu).二叉樹是非線性結(jié)構(gòu);線性鏈表是線性結(jié)構(gòu),棧與隊(duì)列是特殊的線性表,也是線性結(jié)構(gòu);線性表是線性結(jié)構(gòu)。2、一棵二叉樹中所含最少的結(jié)點(diǎn)數(shù)是A、0B、1C、2D、3標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:這是考查概念,空二叉樹中所含最少的結(jié)點(diǎn)數(shù)是0個(gè)。3、在最壞情況下,冒泡排序所需要的比較次數(shù)為A、n/2B、(n+1)/2C、n(n-1)/2D、n(n+1)/2標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:只能死記公式。4、數(shù)據(jù)結(jié)構(gòu)分為A、表、隊(duì)列、堆棧和樹B、邏輯結(jié)構(gòu)C、存儲(chǔ)結(jié)構(gòu)D、邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:考查知識(shí)點(diǎn).直接選擇D。5、在面向?qū)ο蠓椒ㄖ校瑢?shí)現(xiàn)信息隱蔽是通過對象的某一特性來實(shí)現(xiàn)的,這個(gè)特性是A、封裝B、類C、對象D、繼承標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:封裝是面向?qū)ο蠓椒ㄖ械囊环N信息隱蔽技術(shù)。6、在軟件生存周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是A、概要設(shè)計(jì)B、需求分析C、可行性分析D、詳細(xì)設(shè)計(jì)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在需求分析階段中,要求能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能。正確答案為B。7、在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示A、模塊之間的調(diào)用關(guān)系B、程序的組成成份C、數(shù)據(jù)的流向D、控制程序的執(zhí)行順序標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在數(shù)據(jù)流圖中.用標(biāo)有名字的箭頭來表示數(shù)據(jù)流.8、下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是A、數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致B、數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)C、數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余D、數(shù)據(jù)庫系統(tǒng)避免了一切冗余標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C和D兩者的描述劉象一樣,結(jié)果必然在這兩者之中。D太絕對,所以C正確。9、下列關(guān)于關(guān)系運(yùn)算的敘述中正確的是A、投影、選擇、連接是從二維表的行的方向來進(jìn)行運(yùn)算B、投影、選擇、連接是從二維表的列的方向來進(jìn)行運(yùn)算C、并、交、差是從二維表的列的方向來進(jìn)行運(yùn)算D、以上三種說法都不對標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:A和B是互相矛盾的.答案必然是這兩者之一。在關(guān)系模型的數(shù)據(jù)語言中,常規(guī)的集合運(yùn)算(并、交、差、笛卡爾積等),是將關(guān)系(即二維表)看成是元組的集合,這些運(yùn)算主要是從二維表的行的方向來進(jìn)行的;投影、選擇、連接等運(yùn)算主要是從二維表的列的方向來進(jìn)行運(yùn)算。正確答案是B。10、數(shù)據(jù)的獨(dú)立性是數(shù)據(jù)庫技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指A、數(shù)據(jù)與程序獨(dú)立存放B、不同的數(shù)據(jù)被存放在不同的文件中C、不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:數(shù)據(jù)獨(dú)立性是指物理獨(dú)立性和邏輯獨(dú)立性。物理獨(dú)立性是指由于數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與邏輯結(jié)構(gòu)之間由系統(tǒng)提供映象,使得當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改。邏輯獨(dú)立性是指由于數(shù)據(jù)的局部邏輯結(jié)構(gòu)與總體邏輯結(jié)構(gòu)之間也由系統(tǒng)提供映象,使得當(dāng)總體邏輯結(jié)構(gòu)改變時(shí),其局部邏輯結(jié)構(gòu)可以不變,從而根據(jù)局部邏輯結(jié)構(gòu)編寫的應(yīng)用程序也可以不必修改。由此可知,選項(xiàng)A、B和C中的說法都是錯(cuò)誤的。正確答案是D。二、選擇題(本題共25題,每題1.0分,共25分。)11、一個(gè)C++程序由函數(shù)A(),B(),C()和函數(shù)P()構(gòu)成,在函數(shù)A()中分別調(diào)用了函數(shù)B()和函數(shù)C(),在函數(shù)B()中調(diào)用了函數(shù)A(),且在函數(shù)P()中也調(diào)用了函數(shù)A(),則可以說A、函數(shù)B()中調(diào)用的函數(shù)A()是函數(shù)A()的間接遞歸調(diào)用B、函數(shù)A()被函數(shù)B()調(diào)用是直接遞歸調(diào)用C、函數(shù)P()直接遞歸調(diào)用了函數(shù)A()D、函數(shù)P()中調(diào)用的函數(shù)A()是函數(shù)P()的嵌套標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考察遞歸調(diào)用。遞歸調(diào)用分為直接遞歸和間接遞歸。AO屬于間接遞歸。12、下面不正確的描述為A、調(diào)用函數(shù)時(shí),實(shí)參可以是表達(dá)式B、調(diào)用函數(shù)時(shí),實(shí)參與形參可以共用內(nèi)存單元C、調(diào)用函數(shù)時(shí),將為形參分配內(nèi)存單元D、調(diào)用函數(shù)時(shí),實(shí)參與形參的類型必須一致標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:函數(shù)調(diào)用時(shí)用實(shí)參替換形參,如果實(shí)參為表達(dá)式,將為表達(dá)式的值創(chuàng)建一個(gè)臨時(shí)對象,然后將該實(shí)參替換形參。替換的實(shí)質(zhì)是變量間的拷貝,當(dāng)然這種拷貝需要為形參分配內(nèi)存。需要注意的是:形參在編譯時(shí)不分配內(nèi)存,在運(yùn)行時(shí)才分配內(nèi)存。13、存取指針?biāo)傅闹禃r(shí),采用的運(yùn)算符是A、#B、&C、%D、*標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:對指針?biāo)赶虻牡刂啡≈禃r(shí),采用的存取運(yùn)算符為*。&為取地址符。14、已知語句intm=10;則下列表示引用的表示中正確的是A、int&x=m;B、int&y=10;C、int&z;D、float&t=&m;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:引用比較特殊,即必須指向一個(gè)已有的同類型變量。引用是已有變量的別名,故選項(xiàng)C是錯(cuò)誤的,選項(xiàng)D中變量類型不同,而選項(xiàng)B中是常數(shù)。15、下面程序段的正確輸出是intw=4,x=3,y=2,z=1;cout<<(w<x?w:z<y?z:x)<<endl;A、0B、1C、2D、3標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題為表達(dá)式作為變量進(jìn)行輸出,而且表達(dá)式為兩個(gè)三日表達(dá)式的嵌套,只要掌握了該三目表達(dá)式的含義,可以正確得出答案為B。16、若變量都已正確說明,則以下程序段的輸出結(jié)果是a=2;b=3;printf(a>b?"***a=%d":"###b=%d",a,b);A、沒有正確的輸出格式控制B、輸出為:***a=2C、輸出為:###b=2D、輸出為:***a=2###b=2標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題實(shí)際,亡是考場C語言中的格式化輸入輸出知識(shí)。一般來說,學(xué)習(xí)C++的考生先前都學(xué)習(xí)過C語言,如果能夠深刻理解這兩種具有血緣關(guān)系的語言中對于輸入輸出的控制方式,則能夠更好的理解面向?qū)ο蟮谋举|(zhì)。同時(shí)本題也考察了三日表達(dá)式的知識(shí)。如果邏輯表達(dá)式為真,則執(zhí)行冒號(hào)之前的,否則執(zhí)行冒號(hào)之后的表達(dá)式。17、若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輔出結(jié)果是main(){intn;cin>>n;if(n++<10)cout<<n<<endl;elsecout<<n--<<endl;}A、11B、10C、9D、8標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考察的是后置自增運(yùn)算符的知識(shí),這類題考生往往做錯(cuò),以原因不能正確拆解。題中if語句可以拆解為:if(9<10),n+1=10,cout<<10<<endl;自增所代表的加一操作要緊跟在原表達(dá)式后面,而不是原語句后面。18、以下程序的輸出結(jié)果是main(){inta=4,b=5,c=0,d;d=!a&&!b||!c;cout<<d<<cndl;}A、1B、0C、非0的數(shù)D、-1標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考察邏輯運(yùn)算,只要考生掌握了邏輯運(yùn)算的優(yōu)先級(jí)就可以正確得到答案為A。或優(yōu)先級(jí)最高,&&和!!的優(yōu)先級(jí)相同,則按照從左到右的順序計(jì)算。19、以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)coBtlnlle;if(i==5)break;i++;}}A、1B、10C、6D、死循環(huán),不能確定次數(shù)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題需要考生仔細(xì)分析,掌握扎實(shí)的基本功,并且熟悉continue和break在循環(huán)語句中的作用。當(dāng)i=0時(shí),執(zhí)行第一個(gè)if語句,為真,跳過后面的第二個(gè)if和i++,重新判斷while的條件,此時(shí)i并沒有任何改變,依然是0,因此將陷入一個(gè)無限循環(huán)中。20、以下程序的輸出結(jié)果是main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}cout<<a<<endl;}A、31B、13C、10D、20標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題也是考察switch語句中的break的作用,由于題中所有的case分支都沒有break,故將順序執(zhí)行這些分支。只要考生耐心按照流程將數(shù)據(jù)累加到a上,就可以得到正確答案為A。21、下列程序執(zhí)行后的輸出結(jié)果是#include<string.h>main(){chararr[2][4];strcpy(arr,"you");strcpy(arr[1],"me");arr[0][3]=’&’;cout<<arr<<endl;}A、you&meB、youC、meD、err標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考察二維數(shù)組的標(biāo)識(shí)方式。Arr作為數(shù)組名單獨(dú)使用時(shí)表示一個(gè)指向數(shù)組首部的指針,故you放在數(shù)組第一行的前三列arr[0][0]、arr[0][1]、arr[0][2]中。Arr[1]表示指向第二行的指針,因此me放在數(shù)組第二行的前兩列arr[1][0]、arr[1][1]中。而&則直接按照兩維下標(biāo)放到第一行的第四列中。那么輸出的時(shí)候默認(rèn)按照從左到右,先上后下的順序。因此本題的正確答案為A。22、下列程序執(zhí)行后的輸出結(jié)果是voidfuncl(inti);voidfunc2(inti);charst[]="hello,frlend!";voidfuncl(inti){cout<<st[i];if(i<3){i+=2;func2(i);}}voidfunc2(inti){cout<<st[i];if(i<3){i+=2;funcl(i);}}main(){inti=0;furicl(i);cout<<endl;}A、helloB、helC、hloD、hlm標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考察遞歸調(diào)用。分析func1可知,當(dāng)i=0時(shí),首先輸出h,然后i變?yōu)?.調(diào)用fune(2),則輸出str[2],應(yīng)為1。分析到此就可以排除選項(xiàng)A和B。然后調(diào)用funcl(4),此時(shí)輔出str[4],為o,故可以選擇正確答案為C。23、有以下程序main(intargc,chara*argv[]){intn,i=0;while(argv[1][i]!=’\0’){n=fun();i++;}cout<<n*argc<<endl;}intfun(){s=0;s+=1;returns;}假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文件exam.exe,若鍵入以下命令行exam123<回車>則運(yùn)行結(jié)果為A、6B、8C、3D、4標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考察靜態(tài)變量的使用規(guī)則??忌枰⒁獾氖莝為靜態(tài)變量,每次進(jìn)入fun函數(shù)時(shí)s還保留使用原來的值,因此while循環(huán)將最終返回的是各位數(shù)之和,而argc表示參數(shù)的個(gè)數(shù),此處為1,因此正確答案為A。24、設(shè)有如下定義structss{[10];intage;charsex;}std[3],*p=std;下面各輸入語句中錯(cuò)誤的是A、cin>>(*p).age);B、cin>>);C、cin>>std[0].sex);D、cin>>(p->.sex));標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:std是一個(gè)數(shù)組,其內(nèi)可以存放三個(gè)結(jié)構(gòu)體類型的數(shù)據(jù)。當(dāng)std單獨(dú)使用的時(shí)候表示一個(gè)指針,指向該數(shù)組首地址。因此不能直接用std和點(diǎn)操作符進(jìn)行配對使用。指針操作符->只能和指針配對使用,點(diǎn)操作符只能和有名對象或變量配對使用。25、有以下程序main(){inti=10,j=1;cout<<i--<<","<<++j<<endl;執(zhí)行后輸出結(jié)果是A、9,2B、10,2C、9,1D、10,1標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題還是考察前置和后置自增與自減運(yùn)算符的使用方法。在i輸出時(shí),還是10,輸出之后才變成9,而++j則是先加一在將新值輸出。26、有以下程序main(){chara,b,c,*d;a=’\’;b=’\xbc’;c=’\0xab’;d="\0127";cout<<a<<b<<c<<*d<<endl;}編譯時(shí)出現(xiàn)錯(cuò)誤,以下敘述中正確的是A、程序中只有a=’\=;語句不正確B、b=’\xbc’;語句不正確C、d="\0127";語句不正確D、a=’\’;和c=’\0xab’;語句都不正確標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考察C++中各種類型在輸出時(shí)的轉(zhuǎn)化關(guān)系。斜杠為轉(zhuǎn)義控制字符,其后必須緊跟一個(gè)字符,故首先可以確定的是a的賦值語句是錯(cuò)誤的,根據(jù)選項(xiàng)我們直接看c的賦值語句是否正確。斜杠后跟。表示其后為八進(jìn)制,其值從0到7,因此c的賦值語句也是錯(cuò)誤的.據(jù)此可以判斷本題的正確答案應(yīng)該為D。27、設(shè)有以下類和對象的定義:classA{public:intm;…};Ak1,k2,*p1,*p2;則下面針對成員變量m的引用,錯(cuò)誤的是A、k1.m=1B、k2->m=2C、p1->m=3D、(*p2).m=4標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題也是考察有名對象和無名對象的使用規(guī)則。對有名對象,要使用點(diǎn)操作符,無名對象要使用箭頭運(yùn)算符。據(jù)此可以判斷正確答案為B。28、設(shè)有基類定義:classCbase{private:inta;protected:intb;public:intc;};派生類采用何種繼承方式可以使成員變量b成為自己的私有成員A、私有繼承B、保護(hù)繼承C、公有繼承D、私有、保護(hù)、公有均可標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:類的繼承中有三種繼承方式,他們和類的訪問級(jí)別相結(jié)合在派生類中可以產(chǎn)生多種訪問級(jí)別?;愔谐蓡T為保護(hù)的,在派生類中要為私有的,可以采用私有繼承?;愔械谋Wo(hù)成員在振生類中不是私有就是保護(hù),即級(jí)別只能降低而不能升高?;愔械墓谐蓡T則可能為私有、保護(hù)和私有。29、以下有關(guān)類與結(jié)構(gòu)體的敘述不正確的是A、結(jié)構(gòu)體中只包含數(shù)據(jù);類中封裝了數(shù)據(jù)和操作B、結(jié)構(gòu)體的成員對外界通常是開放的;類的成員可以被隱蔽C、用struct不能聲明一個(gè)類型名;而class可以聲明一個(gè)類名D、結(jié)構(gòu)體成員默認(rèn)為publicl類成員默認(rèn)為private標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題同樣考察的是結(jié)構(gòu)體和類之間的區(qū)別和聯(lián)系。30、以下有關(guān)成員函數(shù)特征的敘述不正確的是A、成員函數(shù)一定是內(nèi)聯(lián)函數(shù)B、成員函數(shù)可以重載C、成員函數(shù)可以設(shè)置缺省參數(shù)值D、成員函數(shù)可以是靜態(tài)的標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題是一個(gè)綜合題,考察幾種常用的修飾詞與成員函數(shù)之間的關(guān)系。Inline和static均可以修飾成員函數(shù)的。31、定義靜態(tài)成員函數(shù)的主要目的是A、方便調(diào)用B、有利于數(shù)據(jù)隱蔽C、處理類的靜態(tài)成員變量D、便于繼承標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:聲明為static的類成員或者成員函數(shù)便能在類的范圍內(nèi)共同享,這樣的成員稱做靜態(tài)成員和靜態(tài)成員函數(shù)。靜態(tài)成員函數(shù)由于與對象無關(guān)系,所以在其中是不能對類的普通成員進(jìn)行直接操作的。靜態(tài)成員函數(shù)不接受隱含的this自變量。所以,它就無法訪問自己類的非靜態(tài)成員。那么一旦某個(gè)成員函數(shù)被聲明為靜態(tài)的,就不能訪問非靜態(tài)成員了么?解決方法是將引用傳遞給需要使用的對象能夠讓靜態(tài)的成員函數(shù)訪問到對象的非靜態(tài)數(shù)據(jù)。32、有關(guān)構(gòu)造函數(shù)的說法中錯(cuò)誤的是A、構(gòu)造函數(shù)名字和類的名字一樣B、構(gòu)造函數(shù)在說明類變量時(shí)自動(dòng)執(zhí)行C、構(gòu)造函數(shù)無任何函數(shù)類型D、構(gòu)造函數(shù)有且只有一個(gè)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考察構(gòu)造函數(shù)的有關(guān)概念。構(gòu)造函數(shù)在面向?qū)ο笤O(shè)計(jì)和開發(fā)中占據(jù)重要地位,考生需要扎實(shí)掌握。構(gòu)造函數(shù)不能返回類型,但是可以有參數(shù),可以重載。據(jù)此可以選擇正確答案為D。33、關(guān)于友元的描述中錯(cuò)誤的是A、友元函數(shù)可以訪問該類的私有數(shù)據(jù)成員B、一個(gè)類的友元類中的成員函數(shù)都是這個(gè)類的友元函數(shù)C、友元可以提高程序的運(yùn)行效率D、類和類之間的友元關(guān)系可以繼承標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:暫無解析34、閱讀以下程序#includc<iostream.h>voldmain(){Charline[10];cin>>line;cout<<line<<endl;}如運(yùn)行時(shí)輸入Thisisexample.<CR>,則程序的輸出結(jié)果是A、ThisB、ThisisC、ThisisaD、Thisisanexample.標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考察C++中cin輸入流對象的使用規(guī)則,其特點(diǎn)是以空格、回車和tab為分隔符。因此this和is之間的空格告訴cin對象停止接收后面的數(shù)據(jù)、故正確答案為A。35、下列程序執(zhí)行結(jié)果是#include<iostream.h>classA{public:inta;A():a(10){cout<<a<<endl;}};voidmain(){Aobj1;Aobj2(obj1);cout<<""<<o(jì)bj2.a<<endl;}A、1010B、編譯錯(cuò)誤缺少拷貝構(gòu)造函數(shù)C、10隨機(jī)數(shù)D、隨機(jī)數(shù)隨機(jī)數(shù)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考察拷貝構(gòu)造函數(shù)的知識(shí)。如果類中沒有實(shí)現(xiàn)拷貝構(gòu)造函數(shù),則編譯器會(huì)為其自動(dòng)生成一個(gè)。對于本題這種簡單對象,默認(rèn)生成的拷貝構(gòu)造函數(shù)可以完成數(shù)據(jù)成員的自動(dòng)賦值,對于復(fù)雜對象.則可能需要顯式定義拷貝構(gòu)造函數(shù)。三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)36、在深度為5的完全二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)最多為【】。標(biāo)準(zhǔn)答案:16知識(shí)點(diǎn)解析:在深度為5的完全二叉樹中,就屬深度為5的滿二叉樹中的葉子結(jié)點(diǎn)的個(gè)數(shù)最多,這些葉子結(jié)點(diǎn)均在最后一層(即第5層)上。又根據(jù)二叉樹的性質(zhì)1:在二叉樹的第k層上,最多有2k-1(k≥1)個(gè)結(jié)點(diǎn)。因此,在第5層上最多的結(jié)點(diǎn)數(shù)為25-1=16。37、在一個(gè)容量為25的循環(huán)隊(duì)列中,若頭指針front=15,尾指針rear=6,則該循環(huán)隊(duì)列中共有【】個(gè)元素。標(biāo)準(zhǔn)答案:16知識(shí)點(diǎn)解析:設(shè)循環(huán)隊(duì)列的容量為m.如果rear>front.則循環(huán)隊(duì)列中的元素個(gè)數(shù)為rear-front;如果rear<front,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為m+(rear-front)。在本題中,front=15,rear=6,即rear<front,因此,循環(huán)隊(duì)列中的元素個(gè)數(shù)為m+(rear-front)=25+(6-15)=16。38、符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)為:順序結(jié)構(gòu),選擇結(jié)構(gòu)和【】。標(biāo)準(zhǔn)答案:循環(huán)結(jié)構(gòu)(或重復(fù)結(jié)構(gòu))知識(shí)點(diǎn)解析:符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)為:順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)(或重復(fù)結(jié)構(gòu))。39、在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為【】。標(biāo)準(zhǔn)答案:數(shù)據(jù)字典知識(shí)點(diǎn)解析:在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為數(shù)據(jù)字典。40、數(shù)據(jù)庫管理最本質(zhì)的特點(diǎn)是實(shí)現(xiàn)數(shù)據(jù)的共享。為了實(shí)現(xiàn)數(shù)據(jù)的共享,保證數(shù)據(jù)的獨(dú)立性、完整性和安全性,需要有一組軟件來管理數(shù)據(jù)庫中的數(shù)據(jù),處理用戶對數(shù)據(jù)庫的訪問,這組軟件稱為【】。標(biāo)準(zhǔn)答案:數(shù)據(jù)庫管理系統(tǒng)(DBMS)知識(shí)點(diǎn)解析:數(shù)據(jù)庫管理最本質(zhì)的特點(diǎn)是實(shí)現(xiàn)數(shù)據(jù)的共享。為了實(shí)現(xiàn)數(shù)據(jù)的共享,保證數(shù)據(jù)的獨(dú)立性、完整性和安全性,需要有一組軟件來管理數(shù)據(jù)庫中的數(shù)據(jù),處理用戶對數(shù)據(jù)庫的訪問,這組軟件就是數(shù)據(jù)庫管理系統(tǒng)(DBMS)。四、填空題(本題共10題,每題1.0分,共10分。)41、在任何類中都有三種訪問權(quán)限的數(shù)據(jù)成員,這三種權(quán)限是public、private和【】。標(biāo)準(zhǔn)答案:protected知識(shí)點(diǎn)解析:本題考察類的訪問權(quán)限,屬于基本知識(shí),考生應(yīng)熟練掌握。42、下列程序的輸出結(jié)果是【】。#include<iostream.h>voidmain(){chara[]="abcdabcabfgacd"inti1=0,i2=0,i=0;while(a[i]){if(a[i]="a")i1++;if(a[i]=="b")i2++;i++;}cout<<i1<<""<<i2<<end1;}標(biāo)準(zhǔn)答案:43知識(shí)點(diǎn)解析:分析while循環(huán)體可以判斷出:i1用于統(tǒng)計(jì)字符串中字符a的數(shù)量,i2用于統(tǒng)計(jì)字符b的數(shù)量。因此,考察數(shù)組a的內(nèi)容可得其數(shù)量分別為4和3。43、如下程序編譯時(shí)發(fā)生錯(cuò)誤,錯(cuò)誤的原因是show函數(shù)實(shí)現(xiàn)語句錯(cuò)誤,則正確的語句應(yīng)該為【】。#include<iostream.h>classtest{private:intnum;public:test(int)voidshow();};test::test(intn){num=n;}test::show(){cout<<num<<end1;}voidmain(){testT(10);T.show();}標(biāo)準(zhǔn)答案:voidtest::show(){cout<<num<<end1;}知識(shí)點(diǎn)解析:show成員函數(shù)的聲明和實(shí)現(xiàn)不一致,即實(shí)現(xiàn)部分應(yīng)有void修飾符,這樣才能編譯通過。44、下列程序的運(yùn)行結(jié)果是【】。#include<iomanip.h>intFunc(int*a,intn){ints=1;for(inti=0;i<n;i++)s*=*a++;returns;}voidmain(){inta[]={1,2,3,4,5,6,7,8);intb=Func(a,6)+Fnnc(&a[5],2);cout<<"b="<<b<<end1;}標(biāo)準(zhǔn)答案:b=762知識(shí)點(diǎn)解析:考生要注意*和++運(yùn)算的優(yōu)先級(jí)問題,此外要注意的是a作為整個(gè)數(shù)組的首地址傳遞給func函數(shù)。45、下列程序的輸出結(jié)果為【】。#inelude<iostream.h>int&max(int&x,int&y){return(x>y?x:y);}voidmain(){intn=3,m=12;max(m,n)++cout<<"m="<<m<<",n="<<n<<end1;}標(biāo)準(zhǔn)答案:m=13,n=3知識(shí)點(diǎn)解析:本題考察引用作為形參進(jìn)行參數(shù)傳遞的知識(shí)。max函數(shù)的功能是返回較大的那個(gè)數(shù),而max(m,n)++的作用是將較大值再進(jìn)行增一運(yùn)算。46、下面程序編譯時(shí)發(fā)現(xiàn)ma[3]=9錯(cuò)誤,其原因是【】。#include<iostream.h>classFunArray{int*pa;//指向一個(gè)數(shù)組空間intsize;//數(shù)組元素個(gè)數(shù)public:FunArray(inta[],intthesize):pa(A),size(thesize){}intSize(){returnsize;}}};voidmain(){ints[]={3,7,2,1,5,4};FunArrayma(s,sizeof(s)/sizeof(int));ma[3]=9cout<<ma[3]<<end1;}標(biāo)準(zhǔn)答案:沒有重載[]運(yùn)算符知識(shí)點(diǎn)解析:ma不是一般的數(shù)組,而是一個(gè)新定義的類,盡管該類封裝了一個(gè)數(shù)組,但新類并沒有提供[]操作符的具體實(shí)現(xiàn),因此是錯(cuò)誤的。47、下列程序的執(zhí)行結(jié)果是【】。#include<iostream.h>classStudent{public:Student(intxx){x=xx;}virtualfloatcalcFuition();protected:intx;}floatStudent::calcTuition(){returnfloat(x*x)classGraduateStudent:publicStudent{public:GraduateStudent(intxx):Student(xx){}floatcalcTuition()};floatGraduateStudent::calcTuition(){returnfloat(x*2);}voidmain(){Students(20);GraduateStudentgs(30);cout<<s.calcTuition()<<""<<gs.calcTuition()==end1;//計(jì)算學(xué)生s和研究生gs的學(xué)費(fèi)}標(biāo)準(zhǔn)答案:40060知識(shí)點(diǎn)解析:本題考察繼承和虛函數(shù)的使用。48、下列程序中需要清理動(dòng)態(tài)分配的數(shù)組,劃線處應(yīng)有的語句是【】。#include<iostream,h>classperson{intage,tall;public:person(){age=0;tall=40;cout<<"Ababyisborn."<<end1;}person(inti){age=i,tall=40,cout<<"Aoldperson."<<end1;}person(inti,inti){age=i;tall=j;cout<<"aoldpersonwithtall."<<end1;}~person(){cout<<"persondead."<<end1;}voidshow(){cout<<"age="<<age<<",tall="<<tall<<end1;}};voidmain(){person*ptr;ptr=newperson[3];ptr[0]=person()ptr[1]=person(18);ptr[2]=person(20,120);for(inti=0;i<3;i++)ptr[i].show();______}標(biāo)準(zhǔn)答案:delete[]ptr知識(shí)點(diǎn)解析:本題考察對象數(shù)組的銷毀方法,注意刪除對象數(shù)組時(shí),[]內(nèi)不要指定大小。49、下列程序完成從文件讀取文件顯示的同時(shí)寫入第二個(gè)文件,則在程序中劃線部分應(yīng)該出現(xiàn)的語句是【】。#include<iostream,h>#include<fstream,h>voidmain(){fstreamfilel,file2;charfnl[10],fn2[10],ch;cout<<"輸入源文件名";cin>>fn1;cout<<"輸入目標(biāo)文件名";cin>>fn2;file1.open(fn1,ios::in);______while((ch=file1.get())!=EOF){cout<<ch;file2.put(ch)}file1,close()file2,close();}標(biāo)準(zhǔn)答案:file2,open(fn2,ios::out)知識(shí)點(diǎn)解析:本題考察文件流進(jìn)行操作時(shí)的使用方式,需要指定打開方式。如果考生具有C語言的文件使用知識(shí)的話,應(yīng)該可以很容易的理解其操作方式。50、下列程序的輸出結(jié)果是非曲直【】。#include<iostream,h>classbase{intx,y;public:base(inti,intj){x=i;y=j;}virtualintadd(){returnx+y;}};classthree:publicbase{intz;public:three(inti,intj,intk):base(i,j){z=k;}intadd(){return(base::add()+z);}};voidmain(){three*q=newthree(lO,20,30);cout<<q->add()<<end1;}標(biāo)準(zhǔn)答案:60知識(shí)點(diǎn)解析:本題考察繼承中子類對父類的繼承方式,注意子類的add成員函數(shù),它直接使用了父類的成員函數(shù)進(jìn)行運(yùn)算。國家二級(jí)(C++)筆試模擬試卷第3套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、下列語言不屬于高級(jí)語言的是()。A、C語言B、機(jī)器語言C、FORTRAN語言D、C++語言標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:暫無解析2、數(shù)據(jù)庫系統(tǒng)的核心是()。A、數(shù)據(jù)模型B、數(shù)據(jù)庫管理系統(tǒng)C、軟件工具D、數(shù)據(jù)庫標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:暫無解析3、下列敘述中正確的是()。A、在模塊化程序設(shè)計(jì)中,一個(gè)模塊應(yīng)盡量多的包括與其他模塊聯(lián)系的信息B、在自頂向下、逐步細(xì)化的設(shè)計(jì)過程中,首先應(yīng)設(shè)計(jì)解決問題的每一個(gè)細(xì)節(jié)C、在模塊化程序設(shè)計(jì)中,一個(gè)模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則D、在程序設(shè)計(jì)過程中,不能同時(shí)采用結(jié)構(gòu)化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì)方法標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無解析4、下列敘述中正確的是()。A、線性鏈表中的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的B、線性鏈表中的表頭元素一定存儲(chǔ)在其他元素的前面C、線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面D、線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)J頃序也是任意的標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無解析5、以下關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中,正確的是()。A、數(shù)據(jù)庫只存在數(shù)據(jù)項(xiàng)之間的聯(lián)系B、數(shù)據(jù)庫的數(shù)據(jù)之間和記錄之間都存在著聯(lián)系C、數(shù)據(jù)庫的數(shù)據(jù)之間和記錄之間都不存在著聯(lián)系D、數(shù)據(jù)庫的數(shù)據(jù)項(xiàng)之間無聯(lián)系,記錄之間存在聯(lián)系標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:暫無解析6、調(diào)試程序過程中主要會(huì)發(fā)現(xiàn)三類錯(cuò)誤,不包括()。A、語法錯(cuò)誤B、邏輯錯(cuò)誤C、例外錯(cuò)誤D、常規(guī)錯(cuò)誤標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無解析7、關(guān)系R和關(guān)系S的并運(yùn)算是()。A、由關(guān)系R和關(guān)系S的所有元組合并組成的集合,再刪去重復(fù)的元組B、由屬于R而不屬于S的所有元組組成的集合C、由既屬于R又屬于S的元組組成的集合D、由R和S的元組連接組成的集合標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無解析8、在結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中強(qiáng)調(diào)程序的效率。與程序的效率相比,結(jié)構(gòu)化程序設(shè)計(jì)思想更重視程序的()。A、安全性B、一致性C、可理解性D、合理性標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無解析9、下述內(nèi)容中()不屬于軟件工程管理的范疇。A、軟件管理學(xué)B、軟件心理學(xué)C、軟件工程經(jīng)濟(jì)D、軟件工程環(huán)境標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無解析10、為了使模塊盡可能獨(dú)立,要求()。A、模塊的內(nèi)聚程序要盡量高,且各模塊間的耦合程度要盡量強(qiáng)B、模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱C、模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱D、模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:暫無解析二、選擇題(本題共25題,每題1.0分,共25分。)11、關(guān)于面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,下列說法正確的是()。A、“封裝性”指的是將不同類型的相關(guān)數(shù)據(jù)組合在一起,作為一個(gè)整體進(jìn)行處理B、“多態(tài)性”指的是對象的狀態(tài)會(huì)根據(jù)運(yùn)行時(shí)要求自動(dòng)變化C、基類的私有成員在派生類的對象中不可訪問,也不占內(nèi)存空間D、在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,結(jié)構(gòu)化程序設(shè)計(jì)方法仍有著重要作用標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無解析12、面向?qū)ο蟪绦蛟O(shè)計(jì)思想的主要特征中不包括()。A、繼承性B、功能分解,逐步求精C、封裝性和信息隱藏D、多態(tài)性標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:暫無解析13、在派生類中重新定義虛函數(shù)時(shí),除了()方面,其他方面都必須與基類中相應(yīng)的虛函數(shù)保持一致。A、參數(shù)個(gè)數(shù)B、參數(shù)類型C、函數(shù)名稱D、函數(shù)體標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無解析14、關(guān)于抽象類,下列表述正確的是()。A、抽象類的成員函數(shù)中至少有一個(gè)是沒有實(shí)現(xiàn)的函數(shù)(即無函數(shù)體定義的函數(shù))B、派生類必須實(shí)現(xiàn)作為基類的抽象類中的純虛函數(shù)C、派生類不可能成為抽象型D、抽象類不能用來定義對象標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無解析15、下列關(guān)于構(gòu)造函數(shù)的描述中,錯(cuò)誤的是()。A、構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)B、構(gòu)造函數(shù)在說明類變量時(shí)自動(dòng)執(zhí)行C、構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進(jìn)行初始化D、構(gòu)造函數(shù)可以重載標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無解析16、下面對二維數(shù)組array的定義,正確的是()。A、intarray[][4];B、chararray[3,4];C、floatarray(3)(4);D、floatarray[3][4];標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無解析17、已知程序中已經(jīng)定義了函數(shù)test,其原型是inttest(int,int,int);,則下列重載形式中正確的是()。A、chartest(int,int,int);B、doubletest(int,int,double);C、inttest(int,int,int=0);D、floattest(int,int,float=3.5F);標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:暫無解析18、有如下函數(shù)模板的定義:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在下列對func的調(diào)用中不正確的是()。A、func(3,5);B、func<>(3,5);C、func(3,5.5);D、func<int>(3,5.5);標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無解析19、以下不屬于運(yùn)算符重載應(yīng)注意的問題是()。A、重載的運(yùn)算號(hào)應(yīng)保持其原有的基本語義B、重載的運(yùn)算符應(yīng)盡可能保持其原有的特性C、運(yùn)算符的重載盡量不配套D、使用引用參數(shù)還是非引用函數(shù)標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無解析20、關(guān)于模板,下列說法不正確的是()。A、用類模板定義一個(gè)對象時(shí),不能省略實(shí)參B、類模板只能有虛擬類型參數(shù)C、類模板本身在編譯中不會(huì)生成任何代碼D、類模板的成員函數(shù)都是模板函數(shù)標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:暫無解析21、下列關(guān)于子類型的描述中,錯(cuò)誤的是()。A、子類型關(guān)系是可逆的B、公有派生類的對象可以初始化基類的引用C、只有公有的繼承下,派生類是基類的子類型D、子類型關(guān)系是可傳遞的標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無解析22、如果有以下的函數(shù)定義及變量聲明:voidfun(doublea,doubleb,double&d,charc=’*’){switch(c){case’+’:d=a+b;break;case’-’:d=a-b;break;case’*’:d=a*b;break;case’/’:d=a/b;break;}}voidmain(){doubler;┇}則下列函數(shù)中,調(diào)用正確的是()。A、r=fun(60,5,7);B、r=fun(9.8,3.3,r,’-’);C、fun(2.2,1.5,r);D、fun(fun(2,5,r,’+’),3,r,’*’);標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無解析23、有以下程序#include<iostream>usingnamespacestd;classMyClass{public:MyClass(intn){number=n;}//拷貝的構(gòu)造函數(shù)MyClass(MyClass&other){number=other.number;}~MyClass(){}private:intnumber;};MyClassfun(MyClassp){MyClasstemp(p);returntemp;}intmain()MyClassobj1(10),obj2(0);MyClassobi3(obj1);obj2=fun(obj3);return0;}程序執(zhí)行時(shí),MyClass類的拷貝構(gòu)造函數(shù)被調(diào)用的次數(shù)是()。A、5B、4C、3D、2標(biāo)準(zhǔn)答案
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甲狀腺核磁共振成像結(jié)果
- 膝過伸的康復(fù)治療
- 冷鏈倉儲(chǔ)租賃服務(wù)合同
- 教育教學(xué)方法培訓(xùn)承諾書
- 臨時(shí)酒店經(jīng)理合同范本
- 農(nóng)田養(yǎng)殖設(shè)備租賃協(xié)議
- 市政道路供貨施工合同范本
- 微整形未來發(fā)展趨勢報(bào)告
- 機(jī)場登機(jī)系統(tǒng)升級(jí)合同
- 設(shè)計(jì)學(xué)校-寫字樓租賃合同
- 護(hù)理專業(yè)人才培養(yǎng)方案
- 小學(xué)生航海知識(shí)講座
- 心電監(jiān)護(hù)并發(fā)癥預(yù)防及處理
- 甲魚宣傳方案策劃
- 夜班人員的補(bǔ)貼和福利政策
- 河北省石家莊市長安區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期期末語文試卷
- 2023年12月2024年中國鐵路成都局招考聘用高校畢業(yè)生924人(一)筆試歷年高頻考點(diǎn)(難、易錯(cuò)點(diǎn))附答案詳解
- 直播運(yùn)營團(tuán)隊(duì)組織架構(gòu)與各崗位職責(zé)研究
- 慢病管理及遠(yuǎn)程醫(yī)療的應(yīng)用
- 學(xué)校個(gè)性化課程管理制度
- 肺炎支原體性肺炎護(hù)理課件
評論
0/150
提交評論