版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
國家二級(C++)筆試模擬試卷4(共9套)(共444題)國家二級(C++)筆試模擬試卷第1套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為A、GEDHFBCAB、DGEBHFCAC、ABCDEFGHD、ACBFEDHG標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:利用前序和中序遍歷的方法可以確定二叉樹的結(jié)構(gòu),具體步驟如下:①前序遍歷的第一個(gè)結(jié)點(diǎn)A為樹的根結(jié)點(diǎn);②中序遍歷中A的左邊的結(jié)點(diǎn)為A的左子樹,A右邊的結(jié)點(diǎn)為A的右子樹;③再分別對A的左右子樹進(jìn)行上述兩步處理,直到每個(gè)結(jié)點(diǎn)都找到正確的位置。2、樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是A、有且只有1B、1或多于1C、0或1D、至少2標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:樹是一個(gè)或多個(gè)結(jié)點(diǎn)組成的有限集合,其中一個(gè)特定的結(jié)點(diǎn)稱為根,其余結(jié)點(diǎn)分為若干個(gè)不相交的集合。每個(gè)集合同時(shí)又是一棵樹。樹有且只有1個(gè)根結(jié)點(diǎn)。3、如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是A、e3,e1,e4,e2B、e2,e4,e3,e1C、e3,e4,e1,e2D、任意順序標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:由?!昂筮M(jìn)先出”的特點(diǎn)可知:選項(xiàng)A)中e1不可能比e2先小,選項(xiàng)C)中e3不可能比c4先出,且e1不可能比e2先小,選項(xiàng)D)中棧是先進(jìn)后出的,所以不可能是任意順序。選項(xiàng)B)中出棧過程如圖所示:4、在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是A、不限制goto語句的使用B、減少或取消注解行C、程序越短越好D、程序結(jié)構(gòu)應(yīng)有助于讀者理解標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:暫無解析5、程序設(shè)計(jì)語言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和A、對象成分B、變量成分C、語句成分D、傳輸成分標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:程序設(shè)計(jì)語言是用于書寫計(jì)算機(jī)程序的語言,其基本成分有以下4種,數(shù)據(jù)成分:用來描述程序中的數(shù)據(jù)。運(yùn)算成分:描述程序中所需的運(yùn)算。控制成分:用來構(gòu)造程序的邏輯控制結(jié)構(gòu)。傳輸成分:定義數(shù)據(jù)傳輸成分,如輸入輸出語言。6、下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是A、便于用戶、開發(fā)人員進(jìn)行理解和交流B、反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)C、作為確認(rèn)測試和驗(yàn)收的依據(jù)D、便于開發(fā)人員進(jìn)行需求分析標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:軟件需求規(guī)格說明書(SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用:①便于用戶、開發(fā)人員進(jìn)行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)下作的基礎(chǔ)和依據(jù);③作為確認(rèn)測試和驗(yàn)收的依據(jù)。7、下列不屬于軟件工程的3個(gè)要素的是A、工具B、過程C、方法D、環(huán)境標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:軟件工程包括3個(gè)要素,即方法、工具和過程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理、文檔生成;過程支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制、管理。8、單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為A、外模式B、概念模式C、內(nèi)模式D、存儲模式標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:選項(xiàng)A)正確,外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;選項(xiàng)B)不正確,全局?jǐn)?shù)據(jù)視圖的描述稱為概念模式,即數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述;選項(xiàng)C)不正確,物理存儲數(shù)據(jù)視圖的描述稱為內(nèi)模式,即數(shù)據(jù)庫在物理存儲方面的描述;選項(xiàng)D)不正確,存儲模式即為內(nèi)模式。9、將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成A、屬性B、關(guān)系C、鍵D、域標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:數(shù)據(jù)庫邏輯設(shè)計(jì)的主要工作是將E—R圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E—R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E—R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性。實(shí)體集也可以轉(zhuǎn)換成關(guān)系。10、SQL語言又稱為A、結(jié)構(gòu)化定義語言B、結(jié)構(gòu)化控制語言C、結(jié)構(gòu)化查詢語言D、結(jié)構(gòu)化操縱語言標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:結(jié)構(gòu)化查詢語言(StructuredQaeryLanguage,簡稱SQL)是集數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制功能于一體的數(shù)據(jù)庫語言。二、選擇題(本題共25題,每題1.0分,共25分。)11、C++語言對C語言做了很多改進(jìn),C++語言相對于C語言的最根本的變化是A、增加了一些新的運(yùn)算符B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù)C、規(guī)定函數(shù)說明符必須用原型D、引進(jìn)了類和對象的概念標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:C++語言最重要的特點(diǎn)是具為一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,但是C++語言也包含了全部的C語言的特征。12、下列哪個(gè)是C++語言的有效標(biāo)識符?A、_No1B、No.1C、12345D、int標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:標(biāo)識符是一個(gè)以字母或下劃線開始的,由字母、下劃線和數(shù)字組成的字符串,標(biāo)識符不能與任意關(guān)鍵字同名。13、設(shè)有定義intx;floaty;,則10+x+y值的數(shù)據(jù)類型是A、intB、doubleC、floatD、不確定標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:由算術(shù)運(yùn)算符組成的表達(dá)式中,若含有不同類型的操作數(shù),則系統(tǒng)隱含地將低類型轉(zhuǎn)化為高類型,由低至高的順序?yàn)閕nt->float->double。14、下列程序的執(zhí)行結(jié)果為#include<iostream.h>voidmain(){inta=3,b=0;int*p=&a;b=+a++;cout<<*p<<”,”<<b<<endl;}A)3,4B)4,3C)3,4D)4,4(15)下面程序的運(yùn)行結(jié)果為#include<iostream.h>voidmain(){for(inta=0,x=0;!x&&a<=10;a++){a++;}cout<<a<<end1;}A、10B、11C、12D、0標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:*p為所指對象a的值,語句“b=+a++;”等價(jià)于“b=b+a;a=a+1;”。15、下列選項(xiàng),不正確的是A、for(inta=1;a<=10;a++);B、inta=1;do{a++;}while(a<=10)C、inta=l;while(a<=10){a++;}D、for(inta=1;a<=10;a++)a++;標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:在進(jìn)入最后一次循環(huán)時(shí)a=10,在循環(huán)體內(nèi)執(zhí)行“a++;”后a=11,執(zhí)行完該次循環(huán)體計(jì)算for循環(huán)的增量部分后a=12小于10,循環(huán)結(jié)束。16、下面關(guān)于數(shù)組的初始化正確的是A、charstr[]={‘a(chǎn)’,’b’,’c’}B、charstr[2]={‘a(chǎn)’,’b’,’c’}C、charstr[2][3]={{‘a(chǎn)’,’b’},{‘c’,’d’},{‘e’,’f’}}D、charstr()={‘a(chǎn)’,’b’,’c’}標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:本題考查的是基本循環(huán)語句的使用,選項(xiàng)A),選項(xiàng)C)和選項(xiàng)D)都為正確的形式,在選項(xiàng)B)中的while(a<=10)后缺少結(jié)束符分號“;”。17、下列程序的輸出結(jié)果為#include<iostream.h>voidmain(){char*a[]={"hello","the","world"};char**pa=a;pa++;cout<<*pa<<end1;}A、helloB、theC、worldD、hellotheworld標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:本題考查的是字符數(shù)組的初始化,選項(xiàng)B)中用3個(gè)元素初始化大小為2的數(shù)組,越界了;選項(xiàng)C)中應(yīng)該是2行3列的數(shù)組,題中使用3行2列初始化;選項(xiàng)D)中數(shù)組合后應(yīng)用方括號。18、決定C++語言中函數(shù)的返回值類型的是A、return語句中的表達(dá)式類型B、調(diào)用該函數(shù)時(shí)系統(tǒng)隨機(jī)產(chǎn)生的類型C、調(diào)用該函數(shù)時(shí)的主調(diào)用函數(shù)類型D、在定義該函數(shù)時(shí)所指定的數(shù)據(jù)類型標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:本題主要考查的是指針數(shù)組和指向指針的指針之間的關(guān)系,其中a是指針數(shù)組,pa是指向指針數(shù)組行的指針,所以pa自加1相當(dāng)于指向下一行。19、下列程序的輸出結(jié)果是#include<iostream.h>intmin(inta,intb){if(a<b)returna;elsereturnb;return0;}voidmain(){cout<<min(1,min(2,3))<<end1;}A、0B、1C、2D、3標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:C++語言中,在定義該函數(shù)時(shí)所指定的數(shù)據(jù)類型決定函數(shù)的返回值類型。20、下列程序的運(yùn)行結(jié)果為#include<iostream.h>voidprint(doublea){cout<<++a;}voidprint(inta,intb){cout<<b<<a;}Voidmain(){print(1.2);cout<<"";print(3,4);}A、1.234B、2.234C、1.243D、2.243標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:本題考查的是函數(shù)的調(diào)用,第一次調(diào)用min(2,3),因?yàn)?<3,所以返回值為2,第二次調(diào)用min(1,2),因?yàn)閘<2,所以返回1。21、對類成員訪問權(quán)限的控制,是通過設(shè)置成員的訪問控制屬性實(shí)現(xiàn)的,下列不是訪問控制屬性的是A、公有類型B、私有類型C、保護(hù)類型D、友元類型標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:本題考查的是對重載函數(shù)的掌握,因?yàn)?+a是右結(jié)合的,所以a先自加1再輸出,即為2.2,之后調(diào)用函數(shù)print(inta,intb)輸出b和a,即43。22、在類的定義中,用于為對象分配內(nèi)存空間,對類的數(shù)據(jù)成員進(jìn)行初始化并執(zhí)行其他內(nèi)部管理操作的函數(shù)是A、友元函數(shù)B、虛函數(shù)C、構(gòu)造函數(shù)D、析構(gòu)函數(shù)標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:所謂的訪問控制只包含公有類型、私有類型和保護(hù)類型3種,友元可以是一個(gè)函數(shù),也可以是一個(gè)類。23、類的析構(gòu)函數(shù)的作用是A、一般成員函數(shù)的初始化B、類的初始化C、對象的初始化D、刪除類創(chuàng)建的對象標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:構(gòu)造函數(shù)在創(chuàng)建對象時(shí)系統(tǒng)自動(dòng)調(diào)用,其功能是使用給定的值將對象初始化。24、下列說法正確的是A、內(nèi)聯(lián)函數(shù)在運(yùn)行時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方B、內(nèi)聯(lián)函數(shù)在編譯時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方C、類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義D、類的內(nèi)聯(lián)函數(shù)必須在類體外通過加關(guān)鍵字inline定義標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:析構(gòu)函數(shù)就是用來釋放對象的,它的調(diào)用完成之后,對象也就消失了,相應(yīng)的內(nèi)存空間也被釋放了。25、下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是A、靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進(jìn)行初始化B、靜態(tài)數(shù)據(jù)成員不可以被類的對象調(diào)用C、靜態(tài)數(shù)據(jù)成員不能受ptirate控制符的作用D、靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:本題考查的是內(nèi)聯(lián)函數(shù)的定義,引入內(nèi)聯(lián)函數(shù)是為了解決程序中函數(shù)調(diào)用的效率問題,是以目標(biāo)代碼的增加為代價(jià)換取時(shí)間的節(jié)?。灰话愫瘮?shù)在運(yùn)行時(shí)被調(diào)用,而調(diào)用的內(nèi)聯(lián)函數(shù)在編譯時(shí)就被替代了,如果不加inline關(guān)鍵字,則編譯器會將在類說明部分定義的任何函數(shù)都被認(rèn)定為內(nèi)聯(lián)函數(shù)。26、下面對于友元函數(shù)描述正確的是A、友元函數(shù)的實(shí)現(xiàn)必須在類的內(nèi)部定義B、友元函數(shù)是類的成員函數(shù)C、友元函數(shù)破壞了類的封裝性和隱藏性D、友元函數(shù)不能訪問類的私有成員標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:靜態(tài)數(shù)據(jù)成員必須在類體外初始化,它是類的所有對象的共有成員,需要使用類名調(diào)用,靜態(tài)數(shù)據(jù)成員的初始化與權(quán)限控制無關(guān)。27、在公有派生情況下,有關(guān)派生類對象和基類對象的關(guān)系,下列敘述不正確的是A、派生類的對象可以賦給基類的對象B、派生類的對象可以初始化基類的引用C、派生類的對象可以直接訪問基類中的成員D、派生類的對象的地址可以賦給指向基類的指針標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:友元函數(shù)的定義既可以在類內(nèi)部進(jìn)行,也可以在類外部進(jìn)行。它提高了程序的運(yùn)行效率,但破壞了類的封裝性和隱藏性,使得類的非成員函數(shù)可以訪問類的私有成員。28、下面程序的運(yùn)行結(jié)果為#include<iostream,h>classA{public:A(){cout<<"1";}~A(){cout<<"2";}};ClassB:publicA{public:B(){cout<<"3";}~B(){cout<<"4";}};voidmain(){Bb;}A、1234B、1324C、1342D、3142標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:公有繼承的派生類和基類是子類型的關(guān)系,所謂子類型是類型間一般和特殊的關(guān)系,即派生類是基類的子類型或者說基類的操作可以被用于操作派生類的對象。29、下列關(guān)于虛基類的描述,錯(cuò)誤的是A、設(shè)置虛基類的目的是為了消除二義性B、虛基類的構(gòu)造函數(shù)在非虛基類之后調(diào)用C、若同一層中包含多個(gè)虛基類,這些虛基類的構(gòu)造函數(shù)按它們說明的次序凋用D、若虛基類由非虛基類派生而來,則仍然先調(diào)用基類構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:本題考查的是在繼承中構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序,應(yīng)該是先調(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ù)。30、下列關(guān)于多態(tài)性的描述,錯(cuò)誤的是A、C++語言中的多態(tài)性分為編譯時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性B、編譯時(shí)的多態(tài)性可通過函數(shù)重載實(shí)現(xiàn)C、運(yùn)行時(shí)的多態(tài)性可通過模板和虛函數(shù)實(shí)現(xiàn)D、實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的機(jī)制稱為動(dòng)態(tài)綁定標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:虛基類的引入就是為了消除二義性,其構(gòu)造函數(shù)的調(diào)用仍然是按照繼承的順序進(jìn)行的,對于多個(gè)虛基類則按它們說明的次序調(diào)用,慮基類的構(gòu)造函數(shù)選于非虛基類的構(gòu)造函數(shù)執(zhí)行。31、下列關(guān)于多態(tài)性的描述,錯(cuò)誤的是A、C++語言中的多態(tài)性分為編譯時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性B、編譯時(shí)的多態(tài)性可通過函數(shù)重載實(shí)現(xiàn)C、運(yùn)行時(shí)的多態(tài)性可通過模板和虛函數(shù)實(shí)現(xiàn)D、實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的機(jī)制稱為動(dòng)態(tài)綁定標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:編譯時(shí)的多態(tài)性是通過函數(shù)重載和模板體現(xiàn)的,運(yùn)行時(shí)的多態(tài)性是通過虛函數(shù)體現(xiàn)的。32、下列運(yùn)算符中,在C++語言中不能重載的是A、*B、>=C、∷D、/標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:不能被重載的運(yùn)算符還包括:“.”,“.*”,“->*”和“?:”。33、當(dāng)使用fstream流類定義一個(gè)流對象并打開一個(gè)磁盤文件時(shí),文件的隱含打開方式為A、ios∷inB、ios∷outC、ios∷in,|ios∷outD、以上都不對標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:使用fstream類建立文件流必須定義打開方式,否則編譯器無法判斷該文件流是讀還是寫。34、下列程序的運(yùn)行結(jié)果是#include<isotream.h>classA{inta;public:A(){a=0;}A(intaa){a=aa;cout<<a++;}};voidmain(){Ax,y(2),z(3);cout<<end1;}A、0B、23C、34D、25標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:本題考查的是對構(gòu)造函數(shù)的掌握,另外“++”運(yùn)算符是右結(jié)合的,所以在進(jìn)行輸出的時(shí)候都是先把原來的輸出后再自加1。35、下面程序的輸出結(jié)果是#include<iostream.h>classexample{inta;public:example(intb){a=b++;}voidprint(){a=a+1;cout<<a<<"";}voidprint()const{cout<<a<<"";}};voidmain(){examplex(3);constexampley(2);x.print();y.print();}A、22B、43C、42D、32標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:“++”是右結(jié)合的,所以先賦值為3,最后輸出3+1;常成員函數(shù)只有常對象才能調(diào)用,所以輸出2。三、公共基礎(chǔ)填空題(本題共4題,每題1.0分,共4分。)36、以下程序的執(zhí)行結(jié)果是______。#include<iostream.h>voidmain(){intx=5y=2;cout<<!(y==x/2)<<",";cout<<(y!=x%3)<<",";cout<<(x>0&&y<0=<<",";cout<<(x!=y||x>=y)<<endl;}標(biāo)準(zhǔn)答案:0,0,0,1知識點(diǎn)解析:暫無解析37、若要打開二進(jìn)制文件binfile寫方式,輸出到文件尾則應(yīng)為:ofstreambfile("binfile",______);標(biāo)準(zhǔn)答案:ios::out|ios;;ate知識點(diǎn)解析:暫無解析38、頭文件______中包含了處理用戶控制的文件操作所需的信息。標(biāo)準(zhǔn)答案:fstream.h知識點(diǎn)解析:暫無解析39、一個(gè)類中有______個(gè)析構(gòu)函數(shù)。標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:暫無解析四、填空題(本題共9題,每題1.0分,共9分。)40、C++語言中關(guān)鍵字運(yùn)算符有new,delete和______。標(biāo)準(zhǔn)答案:sizeof知識點(diǎn)解析:暫無解析41、以下程序的執(zhí)行結(jié)果是______。#include<iostream.h>int&max(int&x,int&y){return(x>y?x:y);}voidmain(){intn=2,m=l0;max(n,m)--;cout<<"n="<<n<<"m="<<m<<endl;}標(biāo)準(zhǔn)答案:n=2,m=9知識點(diǎn)解析:暫無解析42、多態(tài)具體體現(xiàn)運(yùn)行和編譯兩個(gè)方面,在程序運(yùn)行時(shí)的多態(tài)性通過繼承和______來體現(xiàn),而程序編譯時(shí)多態(tài)性體現(xiàn)函數(shù)和運(yùn)符的重載上。標(biāo)準(zhǔn)答案:虛函數(shù)知識點(diǎn)解析:暫無解析43、從一個(gè)函數(shù)模板產(chǎn)的模板函數(shù)是同名的,因此編譯器用______的解決方法調(diào)用相應(yīng)函數(shù)。標(biāo)準(zhǔn)答案:重載知識點(diǎn)解析:暫無解析44、常用的黑箱測試有等價(jià)分類法、______、因果圖法和錯(cuò)誤推測法4種。標(biāo)準(zhǔn)答案:邊值分析法知識點(diǎn)解析:暫無解析45、以下程序的執(zhí)行結(jié)果是______。#include<iostream.h>voidmain(){inta=o,b=1,c=0,d=20;if(a)d=d-10;elseif(!b)if(!c)d=15:elsed=25;cout<<"d="<<d<<endl;}標(biāo)準(zhǔn)答案:d=20知識點(diǎn)解析:暫無解析46、使用函數(shù)模板的方法是先說明函數(shù)模板,然后實(shí)例化成相應(yīng)的______進(jìn)行調(diào)用執(zhí)行。標(biāo)準(zhǔn)答案:模板函數(shù)知識點(diǎn)解析:暫無解析47、流操作子______向輸出流中插入一個(gè)換行符并刷新輸出緩沖區(qū)。標(biāo)準(zhǔn)答案:endl知識點(diǎn)解析:暫無解析48、由關(guān)系數(shù)據(jù)庫系統(tǒng)支持的完整性約束是指______和參照完整性。標(biāo)準(zhǔn)答案:實(shí)體完整性知識點(diǎn)解析:暫無解析國家二級(C++)筆試模擬試卷第2套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、有下列二叉樹,對此二叉樹前序遍歷的結(jié)果為()。A、ACFXDBEYZB、ABEFXYZCDC、ABCDEFXYZD、ABDYECFXZ標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:對二叉樹的前序遍歷是指先訪問根結(jié)點(diǎn),然后訪問左子樹,最后訪問右子樹。并且在訪問左、右子樹時(shí),先訪問根結(jié)點(diǎn),再依次訪問其左、右子樹。記住3種遍歷的順序:①前序,訪問根→按前序遍歷左子樹→按前序遍歷右子樹:②中序,按中序遍歷左子樹→訪問根→按中序遍歷右子樹;③后序,按后序遍歷左子樹→按后序遍歷右子樹→訪問根。2、A、
B、
C、
D、
標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:就軟件測試而言,它的目的是發(fā)現(xiàn)軟件中的錯(cuò)誤。但是,發(fā)現(xiàn)錯(cuò)誤并不是最終目的,最終目的是通過測試發(fā)現(xiàn)錯(cuò)誤之后還必須診斷并改正錯(cuò)誤,這才是測試的目的。由于測試的目標(biāo)是暴露程序中的錯(cuò)誤,所以從心理學(xué)角度看,由程序的編寫者自己進(jìn)行測試是不恰當(dāng)?shù)摹R虼?,在軟件測試階段通常由其他人員組成測試小組來完成測試工作。經(jīng)過上述分析可知,選項(xiàng)A的說法是正確的,而選項(xiàng)B、C、D的說法是錯(cuò)誤的。3、用鏈表表示線性表的優(yōu)點(diǎn)是A、便于隨機(jī)存取B、花費(fèi)的存儲空間較順序存儲少C、便于插入和刪除操作D、數(shù)據(jù)元素的物理順序與邏輯順序相同標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:鏈?zhǔn)酱鎯Y(jié)構(gòu)克服了順序存儲結(jié)構(gòu)的缺點(diǎn):它的節(jié)點(diǎn)空間可以動(dòng)態(tài)申請和釋放;它的數(shù)據(jù)元素的邏輯次序靠節(jié)點(diǎn)的指針來指示,不需要移動(dòng)數(shù)據(jù)元素。故鏈?zhǔn)酱鎯Y(jié)構(gòu)下的線性表便于插入和刪除操作。4、一些重要的程序語言(如C語言和Pascal語言)允許過程的遞歸調(diào)用。而實(shí)現(xiàn)遞歸調(diào)用中的存儲分配通常用A、棧B、堆C、數(shù)組D、鏈表標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:一些較流行的程序語言允許過程的遞歸調(diào)用。遞歸調(diào)用就是過程調(diào)用本身。遞歸實(shí)現(xiàn)的是:當(dāng)過程每一次執(zhí)行后,都能返回到最近一次調(diào)用它的過程中。這樣各調(diào)用點(diǎn)之間形成一種后進(jìn)先出的關(guān)系,而棧結(jié)構(gòu)正適合來存儲這些調(diào)用點(diǎn)。5、有如下類定義:classPoint{private:staticinthow_many;};______how_many=0;要初始化Point類的靜態(tài)成員how_many,在下畫線處應(yīng)填入的內(nèi)容是A、intB、staticintC、intPoint::D、staticintPoint::標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析6、下列有關(guān)抽象類和純虛函數(shù)的敘述中,錯(cuò)誤的是A、擁有純虛函數(shù)的類是抽象類,不能用來定義對象B、抽象類的派生類若不實(shí)現(xiàn)純虛函數(shù),它也是抽象類C、純虛函數(shù)的聲明以“=0;”結(jié)束D、純虛函數(shù)都不能有函數(shù)體標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:純虛函數(shù)的聲明格式為:virtual函數(shù)類型函數(shù)名(參數(shù)表)=0擁有純虛函數(shù)的類就叫抽象類,如果在派生類中不實(shí)現(xiàn)純虛函數(shù),則派生類也是抽象類。純虛函數(shù)在派生類可以被重新定義,即可以擁有函數(shù)體。7、以下關(guān)于棧的描述中錯(cuò)誤的是()。A、棧是先進(jìn)后出的線性表B、棧只能順序存儲C、棧具有記憶作用D、對棧的插入與刪除操作中,不需要改變棧底指針標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,入棧和出棧都是在棧頂進(jìn)行,它們的操作特點(diǎn)是先進(jìn)后出,因此具有記憶作用。??梢圆捎庙樞虼鎯Γ部梢圆捎面?zhǔn)酱鎯Α?、執(zhí)行如下程序?qū)⑤敵?):#include<iostream>usingnamespacestd;classBase{public:Base(){cout<<"BB";fun();}voidfun(){tout<<"Brim";}};classDerived:publicBase{public:Derived(){cout<<"DD";}voidfun(){cout<<"Dfun";}};intmain(){Derivedd;return0;}A、DDB、BBDfunDDDfunC、BBBfunDDD、DDBBBfun標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:C++中創(chuàng)建一個(gè)類的實(shí)例時(shí),如果該類存在基類,將首先執(zhí)行基類的構(gòu)造函數(shù),然后執(zhí)行該類本身的構(gòu)造函數(shù)。本題中首先執(zhí)行類Base的構(gòu)造函數(shù),所以將先輸出“BB”,然后調(diào)用基類成員函數(shù)fun(),輸出“Bfun”,最后調(diào)用子類Derived的構(gòu)造函數(shù)輸出“DD”。9、有以下程序:#include<iostream>usingnamespacestd;{public:TestClass(intr1,intr2){R1=r1;R2=r2;}voidprint();voidprint()const;private;intR1,R2;};voidTestClass::print(){cout<<R1<<","<<R2<<end1;}voidTestclass::print()constcout<<R1<<<<","<<R2<<end1;}intmain(){TestClassa(5,4);constTestClassb(20,52);b.print();return0;}執(zhí)行后的輸出結(jié)果是()。A、5,4B、20,52C、0,0D、4,5標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析10、鏈表不具有的特點(diǎn)是A、不必事先估計(jì)存儲空間B、可隨機(jī)訪問任一元素C、插入刪除不需要移動(dòng)元素D、所需空間與線性表長度成正比標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:鏈表采用的是鏈?zhǔn)酱鎯Y(jié)構(gòu),它克服了順序存儲結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來指示,不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯Y(jié)構(gòu)也有不足之處:①每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲空間;②鏈?zhǔn)酱鎯Y(jié)構(gòu)是一種非隨機(jī)存儲結(jié)構(gòu)。二、選擇題(本題共25題,每題1.0分,共25分。)11、下面有關(guān)重載函數(shù)的描述中正確的是A、重載函數(shù)必須具有不同的返回值類型B、重載函數(shù)形參個(gè)數(shù)必須不同C、重載函數(shù)必須具有不同的形參列表D、重載函數(shù)名可以不同標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:所謂函數(shù)重載,是指同一個(gè)函數(shù)名可以對應(yīng)多個(gè)函數(shù)的實(shí)現(xiàn)。進(jìn)行函數(shù)重載時(shí),要求同名函數(shù)在參數(shù)個(gè)數(shù)上不同,或者參數(shù)類型上不同。即重載函數(shù)具有不同的形參列表。12、靜態(tài)數(shù)據(jù)成員是為()的數(shù)據(jù)。A、私有B、保護(hù)C、所有對象共享D、類成員標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:靜態(tài)數(shù)成員是一種特殊的數(shù)據(jù)成員。靜態(tài)數(shù)據(jù)成員不屬于某一個(gè)對象,在為對象所分配的空間中不包括靜態(tài)數(shù)據(jù)成員所占的空間。所有對象共享這些靜態(tài)數(shù)據(jù)成員,都可以引用它。13、C++中運(yùn)算符優(yōu)先級由高到低排列正確的是A、::+++||B、<*||,C、sizeof%+::D、,&&newsizeof標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:暫無解析14、下面程序的運(yùn)行結(jié)果是#include"iostream.h"#definesum(a,b)a*bvoidmain(){intx;X=sum(1+2,3);cout<<x;}A、0B、9C、7D、5標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析15、下列程序的輸出結(jié)果是#include<iostream.h>voidmain(){char*str="12123434";intx1=0,x2=0,x3=0,x4=0,i;for(i=0;str[i]!=’\0’;i++)switch(str[i]){case’1’:x4++;case’2’:X3++;case’3’:X2++;case’4’:X1++;}cout<<X1<<","<A、8,6,4,1B、8,6,3,2C、8,8,4,1D、8,6,4,2標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析16、若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是main(){intn;cin>>n;if(n++<10)cout<<n<<end1;elsecout<<n--<<end1;}A、11B、10C、9D、8標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考察的是后置自增運(yùn)算符的知識,題中if語句可以拆解為:if(n<10){n+=1,cout<<n<<endl;}。17、下面程序的運(yùn)行結(jié)果為#include<iostream.h>voidmain(){chara=’3’;switch(a){case’3’:cout<<"3";case’2’:cout<<"2";break;default:cout<<"1";}}A、3B、321C、31D、32標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題主要考查的是switch語句的使用,在第一個(gè)case處,因?yàn)闈M足條件所以輸出字符3,但這個(gè)分支沒有break語句終止,所以會繼續(xù)執(zhí)行下面的分支語句,即輸出字符2,這時(shí)出現(xiàn)break語句,結(jié)束整個(gè)語句,即輸出32。18、下列程序中橫線處正確的語句是()。#includeusingnamespacestd;classTestClass{public:voidfun(){cout<<“TestClass::fun”<A、fun();B、TestClass.fun();C、TestClass::fun();D、TestClass->fun();標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:程序中的TestClass1為TestClass的派生類,TestClass1公有繼承TestClass,所以可以調(diào)用其中的公有成員fun函數(shù),如果要顯示調(diào)用它,那么使用域符號“::”,這樣就實(shí)現(xiàn)了對函數(shù)的顯示調(diào)用,即選擇C)。19、下面程序的結(jié)果是#includeclassA{inta;public:A():a(1){}voidshowa(){cout<<a;}};classB{inta;public:B():a(2){}voidshowa(){cout<<a;}};classC:publicA,publicB{inta;public:C():a(3){}voidshowa(){cout<<a;}};voidmain(){Cc;c.showa();}A、1B、2C、3D、程序有錯(cuò)誤標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:類A,類B,中都有showa()函數(shù),類C繼承后再次重寫showa()函數(shù)就解決了繼承的二義性,這時(shí)c.showa()函數(shù)顯示的就是類C中的showa()的值。20、下面程序的運(yùn)算結(jié)果為()。#include<iostream>usingnamespace~td;inti;intfun(){staticinti=10;return++i;voidmain(){fun();cout<<fun()<<","<<i;}A、10,100B、12,100C、12,12D、11,100標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:fun()中的i為靜態(tài)變量只在函數(shù)中可見,執(zhí)行兩次變?yōu)?2;主函數(shù)中的i為全局變量,fun()對i的修改不影響。21、下面程序的輸出結(jié)果是()。#include<iostream>usingnamespacestd;template<classT>Tmax(Tx,Ty){return(x>=y?x:y);}voidmain(){cout<<max(5,8)<<endl;cout<<max("zhangsan","lisi");}A、8zhangsanB、8lisiC、5zhangsanD、5lisi標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:當(dāng)運(yùn)行max("zhangsan","lisi");時(shí)實(shí)例化為char*max(char*x,char*y),返回的是zhangsan的地址,從而打印出zhangsan的結(jié)果。22、假定MyClass為一個(gè)類,則該類的拷貝初始化構(gòu)造函數(shù)的聲明語句為()。A、MyClass&(MyClassx);B、MyClass(MyClassx)C、MyClass(MyClass&x);D、MyClass(MyClass*x)標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:暫無解析23、下列關(guān)于虛基類的描述,錯(cuò)誤的是()。A、設(shè)置虛基類的目的是為了消除二義性B、虛基類的構(gòu)造函數(shù)在非虛基類之后調(diào)用C、若同一層中包含多個(gè)虛基類,這些虛基類的構(gòu)造函數(shù)按它們說明的次序調(diào)用D、若虛基類由非虛基類派生而來,則仍然先調(diào)用基類構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:暫無解析24、設(shè)intb=12表達(dá)式b+=b-=b*b求值后b的值是_______。A、552B、264C、144D、-264標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:暫無解析25、設(shè)有定義intx;floaty;,則10+x+y值的數(shù)據(jù)類型是A、intB、doubleC、floatD、不確定標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:由算術(shù)運(yùn)算符組成的表達(dá)式中,若含有不同類型的操作數(shù),則系統(tǒng)隱含地將低類型轉(zhuǎn)化為高類型,由低至高的順序?yàn)閕nt->float->double。26、在重載運(yùn)算符函數(shù)時(shí),下面()。運(yùn)算符必須重載為類成員函數(shù)形式。A、+B、-C、++D、->標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:暫無解析27、若有如下語句#include<iostream.h>voidmain(){intx=3;do{x=x-2;cout<<x;}while(!(--x));}則上面程序段A、輸出的是1B、輸出的是1和-2C、輸出的是3和0D、是死循環(huán)標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:do-while語句的一般格式為do循環(huán)體語句while(表達(dá)式);先執(zhí)行循環(huán)體語句一次,再判斷表達(dá)式的值,若為真則繼續(xù)執(zhí)行循環(huán),否則終止循環(huán)。本題中,先執(zhí)行x=x-2,即為1。判斷表達(dá)式的值,!(--x)為真,x=0,繼續(xù)循環(huán)。再次執(zhí)行循環(huán)體語句后,x=-2,此時(shí)表達(dá)式的值為0,結(jié)束循環(huán)。28、以下程序中,錯(cuò)誤的行為①#include<iostream.h>②classA③{④public:⑤intn=2;⑥A(intval){cout<<val<<end1;}⑦~A(0{};⑧};⑨voidmain(0⑩{(11)Aa(0);(12)A、⑤B、⑥C、⑦D、(11)標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:C++語言中規(guī)定在類體中不允許對所定義的數(shù)據(jù)成員進(jìn)行初始化。29、有以下程序:#include<iostream>usingnamespacestd;classsample{private:ihtn;public:sample(){}sample(intm){n=m;}voidaddvalue(intm){samples;s.n=n+m;*this=s;}voiddisp(){cout<<"n="<<n<<end1;}};intmain(){samples(10);s.addvalue(5);s.disp();return0;}程序運(yùn)行后的輸出結(jié)果是A、n=10B、n=5C、n=15D、n=20標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:本題考核this指針的應(yīng)用。上述程序中sample類定義了一個(gè)addvalue非靜態(tài)成員函數(shù)。addvalue函數(shù)的原型是:voidaddvalue(sample*this,intm);,該函數(shù)的第一個(gè)參數(shù)是執(zhí)行該類對象的一個(gè)指針即this指針。由于這個(gè)參數(shù)是系統(tǒng)隱含的,所以我們在定義該成員函數(shù)時(shí)并沒有看到這樣一個(gè)參數(shù)。在成員函數(shù)的定義體中,可以通過this訪問這一參數(shù)。上述程序的最后輸出結(jié)果是15。30、有以下程序:#include<iostream>usingnamespacestd;classR{public:R(intr1,intr2){R1=rl;R2=r2;}voidprint();voidprint()const;private:intR1,R2;};voidR::print(){cout<<R1<<","<<R2<<end1;}voidR::print()const{cot<<R1<<","<<R2<<end1;}intmain(){Ra(5,4);constRb(20,52);b.print();return0;}執(zhí)行后的輸出結(jié)果是A、5,4B、20,52C、0,0D、4,5標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:使用const關(guān)鍵字修飾的對象成為常對象,題中對象b被聲明為類R的常對象。使用const關(guān)鍵字說明的成員函數(shù)稱為常成員函數(shù),類R中用const重載了函數(shù)print()。在使用常對象和常成員函數(shù)時(shí)應(yīng)注意的是:const是函數(shù)類型的一個(gè)組成部分,因此在部分也要帶const關(guān)鍵字:常成員函數(shù)不能更新對象的數(shù)據(jù)成員,也不能調(diào)用該類中沒有用const修飾的成員函數(shù);如果將一個(gè)對象說明為常對象,則通過該常對象只能調(diào)用它的常成員函數(shù),不能調(diào)用其他的成員函數(shù);const關(guān)鍵字可以參與區(qū)分重載函數(shù)。本題中,b為類R的常對象,通過b只能調(diào)用類R的常成員函數(shù)print()輸出20,52。31、下列各循環(huán)語句中,不是死循環(huán)的是()。A、inti=100;while(1){i=i%100+1;if(i==20)break;}B、inti,sum=0;for(i=1;;i++)sum=sum+1;C、intk=0;do{++k;}while(k>=0);D、ints=3379;while(s++%2+3%2)s++;標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:分析各個(gè)選項(xiàng)。選項(xiàng)A中,當(dāng)變量i的值等于20時(shí),會執(zhí)行break;語句,即退出整個(gè)while循環(huán)體。所以選項(xiàng)A的循環(huán)語句不是死循環(huán)。其他各個(gè)選項(xiàng)的循環(huán)語句中,沒有循環(huán)退出點(diǎn),所以都是死循環(huán)。32、以下選項(xiàng)中,()是合法的字符常量。A、NB、’\010’C、68D、D標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:本題考核字符型常量的表示。選項(xiàng)A中是字符串的表示方法。選項(xiàng)B所表示的是一個(gè)轉(zhuǎn)義字符,是特殊的字符常量。選項(xiàng)C中所表示的是整型常量。選項(xiàng)D中不是常量的表示。33、C++語言中類的定義的結(jié)束聲明的符號是A、}B、,C、;D、{標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:C++語言中類定義的結(jié)束符號是分號。注意:函數(shù)的定義不需要分號。34、對于以下帶參數(shù)的main()函數(shù)的第二形參,voidmain(intargc,______),不可能的形式是A、char*argv[]B、charargv[]C、char**aD、char*m[]標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題要考查的實(shí)際是字符數(shù)組,用于向函數(shù)傳遞參數(shù),屬于指針或引用傳遞方式。要注意的是考生不要被名稱所迷惑,即根據(jù)A和D是相同類別的,故可以排除。對C來說,也屬于指針傳遞方式,而B不僅不屬于指針傳遞,而且還沒有限定數(shù)組大小,編譯器在編譯時(shí)就會產(chǎn)生錯(cuò)誤。35、以下不能正確創(chuàng)建輸出文件對象并使其與磁盤文件相關(guān)聯(lián)的語句是A、ofstreammyfile:myfile,open("d:ofile.txt");B、ofstream*myfile=newofstream;myfile->open("d;ofile.txt");C、ofstreammyfile("d:ofile.txt");D、ofstream*myfile=new("d:ofile.txt");標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查文件對象的創(chuàng)建方法。可以直接定義文件對象,也可以用new來動(dòng)態(tài)生成。很明顯,選項(xiàng)D中使用new的方式是錯(cuò)誤的。三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)36、結(jié)構(gòu)化設(shè)計(jì)主要分為系統(tǒng)設(shè)計(jì)和模塊設(shè)計(jì),【】的任務(wù)是決定系統(tǒng)的模塊結(jié)構(gòu)。標(biāo)準(zhǔn)答案:系統(tǒng)設(shè)計(jì)知識點(diǎn)解析:結(jié)構(gòu)化設(shè)計(jì)主要分為系統(tǒng)設(shè)計(jì)和模塊設(shè)計(jì)。系統(tǒng)設(shè)計(jì)的任務(wù)是決定系統(tǒng)的模塊結(jié)構(gòu);模塊設(shè)計(jì)的任務(wù)是具體考慮每一個(gè)模塊內(nèi)部采用什么算法,模塊的輸入、輸出以及該模塊的功能。37、如果把類FriendClass定義為類TestClass的友元類,則應(yīng)該在類TestClass的定義中加入語句______。標(biāo)準(zhǔn)答案:friendclassFiendClass知識點(diǎn)解析:暫無解析38、標(biāo)準(zhǔn)答案:數(shù)據(jù)庫系統(tǒng)知識點(diǎn)解析:暫無解析39、一個(gè)類可以直接或間接的祖先中繼承所有的屬性和方法。采用這個(gè)方法可以提高了軟件的【】。標(biāo)準(zhǔn)答案:可重用性知識點(diǎn)解析:暫無解析40、在長度為n的有序線性表中進(jìn)行二分查找。最壞的情況下,需要的比較次數(shù)為【】。標(biāo)準(zhǔn)答案:log2n知識點(diǎn)解析:對于長度為n的有序線性表,在最壞情況下,二分查找只需要比較log2n次,而順序查找需要比較n次。四、填空題(本題共10題,每題1.0分,共10分。)41、如果表達(dá)式x=y*z中的“*”是作為成員函數(shù)重的運(yùn)算符,采用運(yùn)算符函數(shù)調(diào)用格式,該表達(dá)式還可以表示為______。標(biāo)準(zhǔn)答案:x=y.operator*(z)或x=y.operator*(z)知識點(diǎn)解析:運(yùn)算符函數(shù)有兩種調(diào)用形式,第一種是像一般函數(shù)那樣用函數(shù)名調(diào)用,即y.operator*(z)或者operator*(y,z):另一種是通過運(yùn)算符構(gòu)成表達(dá)式,即y*z。42、以下程序的輸出結(jié)果是_____。#include<iostream.h>classobject{private:intval;public:object();object(inti);~object();};object::object(){val=0;cout<<"Defaultconstructorforobject"<<endl;}object::object(inti){val=i;cout<<"Constructorforobject"<<val<<endl;}object::~object(){cout<<"Destructorforobject"<<val<<endl;}classcontainer{private:objectone;objecttwo;intdata;public:container();container(inti,intj,intk);~container();};container::container(){data=0;cout<<"Defaultconstructorforcontainer"<<endl;}container::container(inti,intj,intk):two(i),one(j){data=k;cout<<"Constructorforcontainer"<<endl;}container::~container(){cout<<"Destructorforcontainer"<<endl;}voidmain(){containeranObj(5,6,10);}標(biāo)準(zhǔn)答案:Constructorforobject6Constructorforobject5ConstructorforcontainerDestructorforcontainerDestructorforobject5Destructorforobject6知識點(diǎn)解析:C++語言中的構(gòu)造函數(shù)和析構(gòu)函數(shù)分別是在聲明對象時(shí)和對象調(diào)用完畢后調(diào)用,本題中的調(diào)用就是這樣成對出現(xiàn)的。43、執(zhí)行下列語句后,輸出的結(jié)果為__________。voidfun(){staticimx=3:x++:cout<標(biāo)準(zhǔn)答案:4,5知識點(diǎn)解析:本題考查了靜態(tài)變量的用法。當(dāng)函數(shù)執(zhí)行完畢后,返回調(diào)用點(diǎn)時(shí),靜態(tài)變量并不撤銷,其值將繼續(xù)保留,若下次進(jìn)入該函數(shù),其值仍然存在。所以本題輸出4,5。44、如果類中的一個(gè)成員函數(shù)的定義實(shí)現(xiàn)在類內(nèi),則該函數(shù)系統(tǒng)自動(dòng)默認(rèn)為該類的【】函數(shù)。標(biāo)準(zhǔn)答案:內(nèi)聯(lián)知識點(diǎn)解析:暫無解析45、假設(shè)血inta=1,b=2;,則表達(dá)式(++a/b)*b--的值為【】。標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:暫無解析46、以下程序的輸出結(jié)果是【】。#include<iostream.h>unsignedfrn(ullsignednum){unsi9nedk=1;do{k*=num%10;num/=10;}while(num);returnk;}voidmain(){unsignedn=26;cout<<fun(n)<<endl;}標(biāo)準(zhǔn)答案:12知識點(diǎn)解析:函數(shù)有一個(gè)形參num,循環(huán)前變量k置1,循環(huán)中,表達(dá)式nora%10是取num的個(gè)位,將num的個(gè)位值累乘于k中,然后num除以10。循環(huán)直至num為0結(jié)束,這是逐一求出num十進(jìn)制表示的各位數(shù)字,并累乘于變量k的循環(huán)。函數(shù)最后返回k。函數(shù)fun的功能是求整數(shù)的各位十進(jìn)數(shù)字積。47、多態(tài)性分為兩類:編譯時(shí)的多態(tài)性和【】。標(biāo)準(zhǔn)答案:運(yùn)行時(shí)的多態(tài)性知識點(diǎn)解析:本題考核C++的多態(tài)性。在C++語言中,多態(tài)性可分為兩類:編譯時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性。48、下列程序從保存整數(shù)的文本文件"c:Sample.dat"中依次取出每個(gè)數(shù)據(jù)并顯示出來,同時(shí)統(tǒng)計(jì)并顯示出所有數(shù)據(jù)的個(gè)數(shù)。程序劃線處的表達(dá)式為【】。#include<stream,h>#include<stdlib,h>voidmain(){ifstreamfin("c:Sample.dat",ios::nocreate);if(!fin){cerr<<"文件無法打開!"<<end1;exit(1);}intx,i=0;while(______){cout<<x<<"";i++;}fin.close();cout<<endl<<"文件中所有整數(shù)個(gè)數(shù):"<<i<<end1;}標(biāo)準(zhǔn)答案:fin>>x知識點(diǎn)解析:while語句用于完成題目指定的功能,則while的條件判斷部分應(yīng)完成從文件讀取字符的功能,并能夠判斷出讀入字符失敗后的情況。49、在任何類中都有三種訪問權(quán)限的數(shù)據(jù)成員,這三種權(quán)限是public、private和【】。標(biāo)準(zhǔn)答案:protected知識點(diǎn)解析:本題考察類的訪問權(quán)限,屬于基本知識,考生應(yīng)熟練掌握。50、有如下程序:#include<iostream>usingnamespacestd;intfun1(intx){return++x;}intfun2(int&x){return++x;}intmain(){intx=1,y=2;y=fun1(fun2(x));cout<<X<<’,’<<y;return0:}程序的輸出結(jié)果是______。標(biāo)準(zhǔn)答案:2,3知識點(diǎn)解析:此題考查的是函數(shù)傳值。intfun1(intx){retum++x;}函數(shù)中參數(shù)為傳值,所以對于函數(shù)的操作不會改變實(shí)參的值,而函數(shù)intfun2(int&x){retum++x;}中的參數(shù)為引用,對于形參的操作會改變實(shí)參的值。在主函數(shù)中調(diào)用fun2(x)后,變量x的值修改為2,所以在調(diào)用fun1函數(shù)時(shí)其形參值為2,即運(yùn)算后y的值被賦值為3,所以輸出為2,3。國家二級(C++)筆試模擬試卷第3套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、循環(huán)鏈表的主要優(yōu)點(diǎn)是A、不再需要頭指針了B、從表中任一結(jié)點(diǎn)出發(fā)都能訪問到整個(gè)鏈表C、在進(jìn)行插入、刪除運(yùn)算時(shí),能更好的保證鏈表不斷開D、已知某個(gè)結(jié)點(diǎn)的位置后,能夠容易的找到它的直接前件標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:循環(huán)鏈表就是將單向鏈表中最后一個(gè)結(jié)點(diǎn)的指針指向頭結(jié)點(diǎn),使整個(gè)鏈表構(gòu)成一個(gè)環(huán)形,這樣的結(jié)構(gòu)使得從表中的任一結(jié)點(diǎn)出發(fā)都能訪問到整個(gè)鏈表。2、棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是A、ABCEDB、DCBEAC、DBCEAD、CDABE標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個(gè)元素中D是最后進(jìn)棧,B、C處于中間,A最早進(jìn)棧。所以出棧時(shí)一定是先出D,再出C,最后出A。3、n個(gè)頂點(diǎn)的強(qiáng)連通圖的邊數(shù)至少有A、n-1B、n(n-1)C、nD、n+1標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:在有向圖中,若任意兩個(gè)頂點(diǎn)都連通,則稱該圖是強(qiáng)連通圖,這樣的有向圖的形狀是環(huán)狀,因而至少應(yīng)有n條邊。4、在結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率。與程序的效率相比,人們更重視程序的A、安全性B、一致性C、可理解性D、合理性標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序具有明顯的優(yōu)點(diǎn)。其一,程序易于理解、使用和維護(hù);其二,提交了編程工作的效率,降低了軟件開發(fā)成本。其中,人們更重視前者。5、模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)則是模塊的A、抽象和信息隱蔽B、局部化和封裝化C、內(nèi)聚性和耦合性D、激活機(jī)制和控制方法標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:模塊的獨(dú)立程序是評價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個(gè)定性的度量標(biāo)準(zhǔn)。6、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成A、定義、開發(fā)、運(yùn)行維護(hù)B、設(shè)計(jì)階段、編程階段、測試階段C、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試D、需求分析、功能定義、系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。它可以分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。7、在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是A、路徑的集合B、循環(huán)的集合C、目標(biāo)的集合D、地址的集合標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:軟件的白盒測試方法是把測試對象看做一個(gè)打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試。8、在數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有A、特定的數(shù)據(jù)模型B、數(shù)據(jù)無冗余C、數(shù)據(jù)可共享D、專門的數(shù)據(jù)管理軟件標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:在文件系統(tǒng)中,相互獨(dú)立的記錄其內(nèi)部結(jié)構(gòu)的最簡單形式是等長同格式記錄的集合,易造成存儲空間大量浪費(fèi),不方便使用。而在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)是結(jié)構(gòu)化的,這種結(jié)構(gòu)化要求在描述數(shù)據(jù)時(shí)不僅描述數(shù)據(jù)本身,還要描述數(shù)據(jù)間的關(guān)系,這正是通過采用特定的數(shù)據(jù)模型來實(shí)現(xiàn)的。9、數(shù)據(jù)庫設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是A、概念設(shè)計(jì)和邏輯設(shè)計(jì)B、模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C、內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D、結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:數(shù)據(jù)庫設(shè)計(jì)包括數(shù)據(jù)庫概念設(shè)計(jì)和數(shù)據(jù)庫邏輯設(shè)計(jì)兩個(gè)方面的設(shè)計(jì)內(nèi)容。10、實(shí)體是信息世界中廣泛使用的一個(gè)術(shù)語,它用于表示A、有生命的事物B、無生命的事物C、實(shí)際存在的事物D、一切事物標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:實(shí)體是客觀存在且可以相互區(qū)別的事物。實(shí)體可以是具體的對象,如一個(gè)學(xué)生,也可以是一個(gè)抽象的事件,如一次出門旅游等。因此,實(shí)體既可以是有生命的事物,也可以是無生命的事物,但它必須是客觀存在的,而且可以相互區(qū)別。二、選擇題(本題共25題,每題1.0分,共25分。)11、面向?qū)ο蟪绦蛟O(shè)計(jì)思想的主要特征中不包括A、繼承性B、功能分解,逐步求精C、封裝性和信息隱藏D、多態(tài)性標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:面向?qū)ο蟪绦蛟O(shè)計(jì)的主要特征是繼承性,封裝性和信息隱藏,多態(tài)性。12、C++語言是以哪種語言為基礎(chǔ)逐漸發(fā)展演變而成的一種程序設(shè)計(jì)語言A、ASPB、CC、VBD、Java標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:C++語言是對C語言進(jìn)行了擴(kuò)充,繼承了它的語法,并增加了面向?qū)ο蟮脑O(shè)計(jì)方法。13、設(shè)變量a是int型,f是double型,i是float型,則表達(dá)式10+’a’+i*f值的數(shù)據(jù)類型A、intB、floatC、doubleD、不確定標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:根據(jù)混合運(yùn)算規(guī)則,如果有一個(gè)數(shù)據(jù)是double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。為保證精度的不丟失,表達(dá)式的數(shù)據(jù)類型是變量和常量中精確度最高的變量類型。14、能正確表示邏輯關(guān)系:“a≥10或a≤0”的C++語言表達(dá)式是A、a>=10ora<=0B、a>=0|a<=10C、a>=10&&a<=0D、a>=10||a<=0標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:邏輯運(yùn)算符“||”表示或的意思。15、以下程序的輸出結(jié)果是#include<iostream.h>voidmain(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<3;j++){if(j%2)continue;x++;}x++;}cout<<"x="<<x;}A、x=4B、x=8C、x=6D、x=12標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:該題是一個(gè)for循環(huán)嵌套語句。第一層for循環(huán)循環(huán)2次,第二層循環(huán)3次,但當(dāng)j等于0和1時(shí),將執(zhí)行continue語句,不執(zhí)行x++運(yùn)算,所以每次執(zhí)行完內(nèi)循環(huán)后,x的增量為1。最后一個(gè)x++運(yùn)算將每次累加起來就是x的值。16、若執(zhí)行下面的程序時(shí),從鍵盤上輸入5和2,則輸出結(jié)果是#include<iostream.h>voidmain(){inta,b,k;cin>>a>>b;k=a;if(a<b)k=a%b;elsek=b%a;cout<<k<<endl;}A、5B、3C、2D、0標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:本題考查簡單的if…else語句。先執(zhí)行條件if(a<B,顯然不成立,則執(zhí)行else語句。17、有以下程序#include<string.h>#include<iostream.h>voidmain(){char*p="abcde\0fghjik\0";cout<<strlen(p);}程序運(yùn)行后的輸出結(jié)果是A、12B、15C、6D、5標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:C++語言規(guī)定了一個(gè)字符串結(jié)束標(biāo)志,以字符’\0’代表,在遇到’\0’時(shí),表示字符串結(jié)束,由它前面的字符組成字符串。18、若有說明語句chara[]="Itismine";char*p="Itismine";則以下不正確的敘述是A、a+1表示的是字符t的地址B、p指向另外的字符串時(shí),字符串的長度不受限制C、p變量中存放的地址值可以改變D、a中只能存放10個(gè)字符標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:本題考查字符串?dāng)?shù)組和指針的引用方式。在C++語言中,系統(tǒng)在每個(gè)字符串或數(shù)組的最后自動(dòng)加入一個(gè)字符’\0’,作為字符的結(jié)束標(biāo)志,在本題中,chara[]=“Itismine";所表示的a字符串實(shí)際含有11個(gè)字符。19、以下程序的運(yùn)行結(jié)果是#include<iostream.h>voidsub(intx,inty,int*z){*z=y-x;}voidmain(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);cout<<a<<","<<b<<","<<c<<enA、5,2,3B、-5,-12,-7C、-5,-12,-17D、5,-2,-7標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:在C++語言中,調(diào)用函數(shù)不可能改變實(shí)參指針變量的值,但可以改變實(shí)參指針變量所指變量的值。了解了實(shí)參指針變量的改變情況,本題只剩下簡單的“加減法”了。20、下列程序是用來判斷數(shù)組中特定元素的位置所在,則輸出結(jié)果為#include<conio.h>#include<iostream.h>intfun(int*s,intt,int*k){inti;*k=0;for(i=0;iA、7,431B、6C、980D、6,980標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:本題中直接使用指針變量k,但在使用時(shí)要注意對k的指針運(yùn)算,此外,一開始應(yīng)認(rèn)為*k的值為數(shù)組中的某一下標(biāo)值,即*k=0。21、執(zhí)行下列程序段,結(jié)果是#include<iostream.h>voidmain(){intx=40;chary=’C’;intn;n=(x&0xff)&&(y>’B’);cout<<n;}A、0B、1C、2D、3標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:按位與運(yùn)算符“&”是雙目運(yùn)算符。其功能是參與運(yùn)算的兩數(shù)各對應(yīng)的二進(jìn)位相與。只有對應(yīng)的兩個(gè)二進(jìn)位均為1時(shí),結(jié)果位才為1,否則為0。參與運(yùn)算的數(shù)以補(bǔ)碼方式出現(xiàn)。邏輯與運(yùn)算符“&&”需要兩邊的結(jié)果都為1時(shí),其結(jié)果才為1。22、關(guān)于this指針的說明不正確的是A、不能在程序中修改this指針B、this指針可以給其他指針賦值,但不能修改this指針C、靜態(tài)成員函數(shù)中沒有this指針D、this指針可以被賦值標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:C++的this指針是系統(tǒng)默認(rèn)產(chǎn)生的一個(gè)指針,它是const的,所以是不能夠被改變,不能夠被賦值的。23、下面程序的結(jié)果是#include<iostream.h>classA{public:A(){cout<<"construtA"<<endl;}virtual~A(){cout<<"destructA"<<endl;}};classB:publicA{};classC:publicA{};cA、constructAdestructAB、constructAconstructAdestructAdestructAC、constructAconstructAconstructAdestructAdestructAdestructAD、constructAonstructAconstructAconstructAdestructAdestructAdestructAdestructA標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:類D繼承了類C和類B,所以在構(gòu)造的時(shí)候分別構(gòu)造類B和類C。24、關(guān)于虛函數(shù)下面說的正確的是A、若在重定義虛函數(shù)時(shí)使用了virtual,則該重定義函數(shù)還是虛函數(shù)B、虛函數(shù)不能聲明為友元C、子類必須重定義父類的虛函數(shù)D、虛函數(shù)不能是static的標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:虛函數(shù)一定不能定義為靜態(tài)的。虛函數(shù)可以聲明為友元,子類也不是必須重定義父類的虛函數(shù),若在重定義虛函數(shù)時(shí)使用了virtual,則該重定義函數(shù)不一定還是虛函數(shù)。25、如果表達(dá)式++x/y中,++是作為友元函數(shù)重載的,/是作為成員函數(shù)重載的,則該表達(dá)式還可為A、(operator++(x)).operator/(y)B、(operator++(0)).operator/(y)C、operator/((operator++(x,0)),y)D、operator/((operator++(0)),y)標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:C++中用成員函數(shù)重載++x為:x.operator++(),用友元函數(shù)重載++x為:operator++(x),用成員函數(shù)重載x/y為:x.operator/(y),用友元函數(shù)重載x/y為:operator/(x,y)。26、要想使23.78965421的輸出為23.7887應(yīng)用的語句是A、cout<<23.78965421;B、cout<<fixed<<23.78965421;C、cout<<23.78965421-0.001;D、cout<<fixed<<23.78965421-0.001;標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:C++語言中默認(rèn)小數(shù)的輸出位一共是6位,fixed的意義是在小數(shù)點(diǎn)后保留6位。27、有以下語句,則對a數(shù)組元素的引用不正確的是(0≤i≤9)inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i))標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:選項(xiàng)D第一層括號中為數(shù)組a中第i項(xiàng)元素的值,外面再加指針運(yùn)算符沒有意義。28、有以下程序#include<iostream.h>floatfun(intx,inty){return(x+y);}voidmain(){inta=2,b=5,c=8;cout<<fun((int)fun(a+c,b),a-c);}程序運(yùn)行后的輸出結(jié)果是A、編譯出錯(cuò)B、9C、21D、9標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:本題的運(yùn)算過程是fun((int)fun(a+c,B,a-C,fun((int)fun(10,5),2-8),fun((int)15.000000,-6),fun(15,-6)=9。29、下列程序的運(yùn)行結(jié)果是#include<iostream.h>classLocation{private:intX.Y;public:voidinit(int=0,int=0);voidvalueX(intval){X=val;}intvalueX(){returnX;}voidvalueYA、5064B、0064C、5062D、0062標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:本題中有成員函數(shù)和它的重載函數(shù),要注意它們的不同,在本題中先調(diào)用了init函數(shù),初始化了X,Y,都為0,valueX(5);又將X變?yōu)?,所以輸出5和0,然后初始化init(6,2),接著又valueY(4);將X,Y設(shè)為6和4,所以輸出6和4。30、在C++語言中,封裝是借助于什么達(dá)到的?A、結(jié)構(gòu)B、類C、數(shù)組D、函數(shù)標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:C++基本的性質(zhì)就是它的封裝性,而封裝性主要是靠類來實(shí)現(xiàn)的。31、在位運(yùn)算中,操作數(shù)每左移一位,其結(jié)果相當(dāng)于A、操作數(shù)乘以2B、操作數(shù)除以2C、操作數(shù)除以4D、操作數(shù)乘以4標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:左移運(yùn)算符“<<”是雙目運(yùn)算符。其功能把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。左移1位,相當(dāng)于該數(shù)乘以2。32、有如下程序#include<iostream.h>#defineN2#defineMN+1#defineNUM2*M+1voidmain(){inti;for(i=1,i<=NUM;i++)cout<<i;}該程序中的for循環(huán)執(zhí)行的次數(shù)是A、5B、6C、7D、8標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:這是一種簡單的情況:不帶參數(shù)的宏。關(guān)鍵要注意在對2*M+1進(jìn)行宏替換時(shí),要將宏名M原樣替換,得到NUM的形式為2*N+1+1(千萬不要隨意把給N+1加上小括號,使NUM變?yōu)?*(N+1)+1,這就是宏名和變量名之間的區(qū)別)。33、下列程序的輸出結(jié)果是#include<iostream.h>intb=2;intfunc(int*a){b+=*a;return(b);}voidmain(){inta=2,res=2;res+=func(&a);cout<<res;}A、4B、6C、8D、10標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:在函數(shù)體語句中的b+=*a;的*是指針運(yùn)算符(也稱間接訪問運(yùn)算符),*a就是main函數(shù)中a的值。34、所有在函數(shù)中定義的變量,連同形式參數(shù),都屬于A、全局變量B、局部變量C、靜態(tài)變量D、寄存器變量標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:C++語言函數(shù)中定義的變量都是屬于這個(gè)函數(shù)的局部變量。35、有如下程序:#include<iostream.h>longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}voidmain(){cout<<fib(3);}該程序的輸出結(jié)果是A、2B、4C、6D、8標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:fib(3)=fib(2)+fib(1),而fib(2)的返回值為2,fib(1)的返回值也為2,故輸出的fib(3)的值為4。三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)36、在算法正確的前提下,評價(jià)一個(gè)算法的兩個(gè)標(biāo)準(zhǔn)是【】。標(biāo)準(zhǔn)答案:時(shí)間復(fù)雜度和空間復(fù)雜度知識點(diǎn)解析:暫無解析37、將代數(shù)式轉(zhuǎn)換成程序設(shè)計(jì)中的表達(dá)式為【】。標(biāo)準(zhǔn)答案:SQRT(x2+y2)/(a+b)知識點(diǎn)解析:暫無解析38、軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),入們提出了【】的原理來設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。標(biāo)準(zhǔn)答案:軟件工程學(xué)知識點(diǎn)解析:暫無解析39、【】是數(shù)據(jù)庫設(shè)計(jì)的核心。標(biāo)準(zhǔn)答案:數(shù)據(jù)模型知識點(diǎn)解析:數(shù)據(jù)模型是對客觀事物及聯(lián)系的數(shù)據(jù)描述,它反映了實(shí)體內(nèi)部及實(shí)體與實(shí)體之間的聯(lián)系。因此,數(shù)據(jù)模型是數(shù)據(jù)庫設(shè)計(jì)的核心。40、在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)【】。標(biāo)準(zhǔn)答案:關(guān)系知識點(diǎn)解析:在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)關(guān)系。表中的每一列稱為一個(gè)屬性,相當(dāng)于記錄中的一個(gè)數(shù)據(jù)項(xiàng),對屬性的命名稱為屬性名;表中的一行稱為一個(gè)元組,相當(dāng)于記錄值。四、填空題(本題共8題,每題1.0分,共8分。)41、在C++語言的面向?qū)ο蟪绦蛟O(shè)計(jì)框架中,【】是程序的基本組成單元。標(biāo)準(zhǔn)答案:類知識點(diǎn)解析:C++語言面向?qū)ο蟪绦蛟O(shè)計(jì)的基本組成單元是class,面向過程的程序設(shè)計(jì)的基本組成單元是函數(shù)。42、C++語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋以【】作為開始和結(jié)束的標(biāo)記。標(biāo)準(zhǔn)答案:/**/知識點(diǎn)解析:C++語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋以“/*”開始,以“*/”為結(jié)束。43、以下程序的輸出結(jié)果是【】。#include<iostream.h
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 擠壓模擬課程設(shè)計(jì)
- 銀行支行的行政后勤工作綜述
- 寵物服務(wù)員工作總結(jié)
- 港口貨物裝卸合同三篇
- 三年級科學(xué)學(xué)科的教學(xué)工作總結(jié)
- 門診護(hù)士年終總結(jié)
- 【八年級下冊歷史】期中達(dá)標(biāo)測試卷
- 2024年統(tǒng)計(jì)員年終工作總結(jié)篇
- 2024-2025學(xué)年北京門頭溝區(qū) 初三(上)期末物物理試卷(含答案)
- 分包采購委托合同(2篇)
- 2025年云南昆明經(jīng)濟(jì)技術(shù)開發(fā)區(qū)投資開發(fā)(集團(tuán))有限公司招聘筆試參考題庫附帶答案詳解
- HSE基礎(chǔ)知識培訓(xùn)
- 安徽省蚌埠市2023-2024學(xué)年高一上學(xué)期期末考試 地理 含答案
- GB/T 5483-2024天然石膏
- 2024年度托管班二人合伙協(xié)議書3篇
- 山東中醫(yī)藥大學(xué)中西醫(yī)臨床(專升本)學(xué)士學(xué)位考試復(fù)習(xí)題
- 2024-2025學(xué)年九年級語文上冊部編版期末綜合模擬試卷(含答案)
- 鄉(xiāng)村振興暨干部素質(zhì)提升培訓(xùn)班學(xué)習(xí)心得體會
- IATF16949:2024標(biāo)準(zhǔn)質(zhì)量手冊
- 飼料加工混凝土施工合同
- 會議會務(wù)服務(wù)投標(biāo)方案投標(biāo)文件(技術(shù)方案)
評論
0/150
提交評論