國(guó)家二級(jí)(C++)筆試模擬試卷23(共442題)_第1頁(yè)
國(guó)家二級(jí)(C++)筆試模擬試卷23(共442題)_第2頁(yè)
國(guó)家二級(jí)(C++)筆試模擬試卷23(共442題)_第3頁(yè)
國(guó)家二級(jí)(C++)筆試模擬試卷23(共442題)_第4頁(yè)
國(guó)家二級(jí)(C++)筆試模擬試卷23(共442題)_第5頁(yè)
已閱讀5頁(yè),還剩95頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

國(guó)家二級(jí)(C++)筆試模擬試卷23(共9套)(共442題)國(guó)家二級(jí)(C++)筆試模擬試卷第1套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是A、線性鏈表B、棧C、循環(huán)鏈表D、順序表標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:棧是限定在一端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照"先進(jìn)后出"或"后進(jìn)先出"的原則組織數(shù)據(jù)的。2、若某二叉樹的前序遍歷訪問(wèn)順序是abdgcefh,中序遍歷訪問(wèn)順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問(wèn)順序是A、bdgcefhaB、gdbecfhaC、bdgaechfD、gdbehfca標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:前序遍歷的第一個(gè)結(jié)點(diǎn)a為樹的根結(jié)點(diǎn);中序遍歷中a的左邊的結(jié)點(diǎn)為a的左子樹,a右邊的結(jié)點(diǎn)為a的右子樹;再分別對(duì)a的左右子樹進(jìn)行上述兩步處理,直到每個(gè)結(jié)點(diǎn)都找到正確的位置。3、線性表L=(a1,a2,a3,…ai,…an),下列說(shuō)法正確的是A、每個(gè)元素都有一個(gè)直接前件和直接后件B、線性表中至少要有一個(gè)元素C、表中諸元素的排列順序必須是由小到大或由大到小D、除第一個(gè)元素和最后一個(gè)元素外,其余每個(gè)元素都有一個(gè)且只有一個(gè)直接前件和直接后件標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:線性表可以為空表;第一個(gè)元素沒(méi)有直接前件,最后一個(gè)元素沒(méi)有直接后件;線性表的定義中,元素的排列并沒(méi)有規(guī)定大小順序。4、在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是A、不限制goto語(yǔ)句的使用B、減少或取消注解行C、程序越短越好D、程序結(jié)構(gòu)應(yīng)有助于讀者理解標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:濫用goto語(yǔ)句將使程序流程無(wú)規(guī)律,可讀性差,因此A不選;注解行有利于對(duì)程序的理解,不應(yīng)減少或取消,B也不選;程序的長(zhǎng)短要依照實(shí)際情況而論,而不是越短越好,C也不選。5、模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)則是模塊的A、抽象和信息隱蔽B、局部化和封裝化C、內(nèi)聚性和耦合性D、激活機(jī)制和控制方法標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:模塊的獨(dú)立程序是評(píng)價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性這兩個(gè)定性的度量標(biāo)準(zhǔn)。6、下列敘述中,不屬于測(cè)試的特征的是A、測(cè)試的挑剔性B、完全測(cè)試的不可能性C、測(cè)試的可靠性D、測(cè)試的經(jīng)濟(jì)性標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:軟件測(cè)試的目標(biāo)是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯(cuò)誤,給出程序可靠性的鑒定。它有3個(gè)方面的重要特征,即測(cè)試的挑剔性、完全測(cè)試的不可能性及測(cè)試的經(jīng)濟(jì)性。其中沒(méi)有測(cè)試的可靠性這一說(shuō)法。7、數(shù)據(jù)處理的最小單位是A、數(shù)據(jù)B、數(shù)據(jù)元素C、數(shù)據(jù)項(xiàng)D、數(shù)據(jù)結(jié)構(gòu)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng);由若干數(shù)據(jù)項(xiàng)組成數(shù)據(jù)元素;而數(shù)據(jù)是指能夠被計(jì)算機(jī)識(shí)別、存儲(chǔ)和加工處理的信息載體;數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相互關(guān)系和數(shù)據(jù)運(yùn)算。故正確答案為選項(xiàng)C。8、分布式數(shù)據(jù)庫(kù)系統(tǒng)不具有的特點(diǎn)是A、數(shù)據(jù)分布性和邏輯整體性B、位置透明性和復(fù)制透明性C、分布性D、數(shù)據(jù)冗余標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:分布式數(shù)據(jù)庫(kù)系統(tǒng)具有數(shù)據(jù)分布性、邏輯整體性、位置透明性和復(fù)制透明性的特點(diǎn),其數(shù)據(jù)也是分布的;但分布式數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)經(jīng)常重復(fù)存儲(chǔ)。數(shù)據(jù)也并非必須重復(fù)存儲(chǔ),主要視數(shù)據(jù)的分配模式而定。若分配模式是一對(duì)多,即一個(gè)片段分配到多個(gè)場(chǎng)地存放,則是冗余的數(shù)據(jù)庫(kù),否則是非冗余的數(shù)據(jù)庫(kù)。9、將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成A、屬性B、關(guān)系C、鍵D、域標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)邏輯設(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、實(shí)體是信息世界中廣泛使用的一個(gè)術(shù)語(yǔ),它用于表示A、有生命的事物B、無(wú)生命的事物C、實(shí)際存在的事物D、一切事物標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:實(shí)體是客觀存在且可以相互區(qū)別的事物。實(shí)體可以是具體的對(duì)象,如一個(gè)學(xué)生,也可以是一個(gè)抽象的事件,如一次出門旅游等。因此,實(shí)體既可以是有生命的事物,也可以是無(wú)生命的事物,但它必須是客觀存在的,而且可以相互區(qū)別。二、選擇題(本題共25題,每題1.0分,共25分。)11、下面關(guān)于虛函數(shù)的描述中正確的是A、虛函數(shù)是一個(gè)靜態(tài)成員函數(shù)B、虛函數(shù)是一個(gè)非成員函數(shù)C、虛函數(shù)可以在函數(shù)說(shuō)明時(shí)定義,也可以在函數(shù)實(shí)現(xiàn)時(shí)定義D、派生類的虛函數(shù)與基類中對(duì)應(yīng)的虛函數(shù)具有相同的參數(shù)個(gè)數(shù)和類型標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考核虛函數(shù)的概念。虛函數(shù)是非靜態(tài)的成員函數(shù),它不能是友元函數(shù),但可以在另一個(gè)類中被聲明為友元函數(shù)。所以A選項(xiàng)不正確;虛函數(shù)必須是類的成員函數(shù),所以B選項(xiàng)是錯(cuò)誤的;虛函數(shù)聲明只能出現(xiàn)在類定義的函數(shù)原型聲明中,而不能在成員函數(shù)的函數(shù)體實(shí)現(xiàn)的地方,所以C選項(xiàng)是不正確的;一般要求基類中說(shuō)明了虛函數(shù)后,派生類說(shuō)明的虛函數(shù)應(yīng)該與基類中虛函數(shù)的參數(shù)個(gè)數(shù)相等,對(duì)應(yīng)參數(shù)的類型相同。如果不相同,則將派生類虛函數(shù)的參數(shù)類型強(qiáng)制轉(zhuǎn)換為基類中虛函數(shù)的參數(shù)類型。故D選項(xiàng)的說(shuō)法是正確的。12、C++語(yǔ)言中函數(shù)返回值的類型決定于A、return語(yǔ)句中的表達(dá)式類型B、調(diào)用函數(shù)的主調(diào)函數(shù)類型C、調(diào)用、函數(shù)時(shí)臨時(shí)類型D、定義函數(shù)時(shí)所指定的函數(shù)類型標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:函數(shù)在定義時(shí)已經(jīng)可以指定其函數(shù)類型,則函數(shù)返回值類型就是該類型。13、判斷字符型變量ch是否為大寫英文字母,應(yīng)使用表達(dá)式A、ch>=’A’&ch<=’Z’B、ch<=’A’||ch>=’Z’C、’A’<=ch<=’Z’D、ch>=’A’&&ch<=’Z’標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考核C++表達(dá)式類型及求值規(guī)則。ch為大寫字母的條件是大于等于’A’且小于等于’Z’。14、以下非法的賦值語(yǔ)句是A、n=(i=2,++i);B、j++;C、++(i+1);D、x=j>0;標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題其實(shí)是考查各級(jí)運(yùn)算符的優(yōu)先級(jí)的。選項(xiàng)A賦值符號(hào)右側(cè)為逗號(hào)表達(dá)式,其取值為最后一項(xiàng)表達(dá)式的值;選項(xiàng)B隱含表示為j=j+1,這是很常用的一種賦值表達(dá)式。選項(xiàng)D賦值符號(hào)右側(cè)為邏輯表達(dá)式,其值為1或0,可以賦值給變量x。將選項(xiàng)C展開(kāi)為i+1=i+1+1,這是錯(cuò)誤的。15、C++語(yǔ)言中在C語(yǔ)言的基礎(chǔ)上增加的特性不包括A、結(jié)構(gòu)B、引用C、類和對(duì)象D、靜態(tài)成員函數(shù)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題很簡(jiǎn)單,不過(guò)考生要注意引用是C++的新特性。只有結(jié)構(gòu)是C語(yǔ)言也有的特性。16、對(duì)于下列語(yǔ)句,正確的判斷是for=(x=0;y=0;(y!=123)&&(x<4);x++);A、是無(wú)限循環(huán)B、循環(huán)次數(shù)不定C、最多執(zhí)行4次D、最多執(zhí)行3次標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查for循環(huán)條件中三個(gè)表達(dá)式的執(zhí)行順序。首先執(zhí)行表達(dá)式一,然后執(zhí)行表達(dá)式二,如果表達(dá)式二為真,則循環(huán)體執(zhí)行,然后執(zhí)行表達(dá)式三,接著繼續(xù)執(zhí)行表達(dá)式二,如此循環(huán)??忌⒁獾氖牵绢}中表達(dá)式三中包含了變量x的增量操作,因此可以由表達(dá)式二和三一起控制循環(huán)體的執(zhí)行次數(shù)。本題正確答案為C。17、若有說(shuō)明:inta[3][4];則對(duì)a數(shù)組元素的非法引用是A、a[0][2*1]B、a[1][3]C、a[4-2][0]D、a[0][4]標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在數(shù)組這部分的知識(shí)里面,數(shù)組下標(biāo)越界是一個(gè)比較容易忽略的問(wèn)題,其下標(biāo)是從0開(kāi)始,至n-1為止,因此選項(xiàng)D是正確答案。18、設(shè)a和b均為double型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是A、6.500000B、6C、5.500000D、6.000000標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:混合表達(dá)式的值的類型是由表達(dá)式中具有最高精度的類型確定,因此可知選項(xiàng)B可排除。注意b/b的結(jié)果應(yīng)是1.00000,而(int)a則為5,相加的結(jié)果還是double型,故正確答案應(yīng)為D。19、下面賦值語(yǔ)句中正確的是A、a=7+b+c=a+7;B、a=7+b++=a+7;C、a=7+b,b++,a+7;D、a=7+b,C=a+7;標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:賦值語(yǔ)句合法的重要標(biāo)志之一就是賦值符號(hào)的左側(cè)應(yīng)該表示為一個(gè)變量,即可以在內(nèi)存中存在一塊空間用于存放賦值符號(hào)右側(cè)的值。據(jù)此,可以斷定選項(xiàng)A和B可以排除。注意:選項(xiàng)C中不是逗號(hào)表達(dá)式,要考慮優(yōu)先級(jí)的問(wèn)題。本題答案為D。20、語(yǔ)句cout<<(a=2)&&(b=-2);的輸出結(jié)果是A、無(wú)輸出B、編譯錯(cuò)誤C、-1D、1標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:很明顯,本題考查的是表達(dá)式的值作為結(jié)果輸出??梢钥闯?,本表達(dá)式是一個(gè)邏輯表達(dá)式,其結(jié)果為真或假,那么輸出則對(duì)應(yīng)1和0,故排除選項(xiàng)C。本題答案為D。21、在下面的函數(shù)聲明中,存在著語(yǔ)法錯(cuò)誤的是A、voidBC(inta,int)B、voidBD(int,int)C、voidBE(int,intt=5)D、intBF(intx;inty)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:函數(shù)聲明時(shí),可以指定其形參的默認(rèn)值,不過(guò)要從右向左指定;可以省略形參名,僅以形參類型表示;形參表之間用逗號(hào)分割。因此,本題答案為D。22、下列關(guān)于指針的操作中,錯(cuò)誤的是A、兩個(gè)同類型的指針可以進(jìn)行比較運(yùn)算B、可以用一個(gè)空指針賦給某個(gè)指針C、一個(gè)指針可以加上兩個(gè)整數(shù)之差D、兩個(gè)同類型的指針可以相加標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查指針能夠進(jìn)行的運(yùn)算方式。指針可以加減一個(gè)整數(shù),兩個(gè)指針可以相減,表示指針之間的元素個(gè)數(shù)。指針相加則沒(méi)有意義,因此本題答案為D。23、若有以下定義:inta[]={1,2,3,4,5,6,7);charc1=’b’,c2=’2’;則數(shù)值不為2的表達(dá)式是A、a[1]B、’d’-c1C、a[’3’-c2]D、c2-0.標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查數(shù)組的定義、初始化及其引用,以及對(duì)字符ASCII碼值的熟悉程度。解本題的關(guān)鍵在于熟悉字符的ASCIII碼值。字符在進(jìn)行數(shù)學(xué)運(yùn)算時(shí)取其.ASCII碼值,其中’b’的ASCII碼值為98,’d’的ASCII碼值為100,字符’2’的ASCII:碼值為50。根據(jù)以上知識(shí),可知D選項(xiàng)中表達(dá)式c2-0的值為50。24、靜態(tài)成員函數(shù)沒(méi)有A、返回值B、this指針C、指針參數(shù)D、返回類型標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:this指針是系統(tǒng)隱含的用于指向當(dāng)前對(duì)象的指針。由于靜態(tài)函數(shù)是同類中所以對(duì)象都共享的函數(shù),在內(nèi)存當(dāng)中只存在一份,不屬于某個(gè)對(duì)象所有,所以靜態(tài)函數(shù)沒(méi)有this指針。25、以下程序的輸出結(jié)果為main(){intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;cout<<x<<endl;}A、27.000000B、27.500000C、28.000000D、28.500000標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查表達(dá)式值的類型由參與運(yùn)算的所有變量的類型中優(yōu)先級(jí)最高的變量類型所決定。不過(guò)要注意的是整型向float型轉(zhuǎn)換時(shí),將丟失小數(shù)部分,即向下取值。26、執(zhí)行下列語(yǔ)句后,輸出結(jié)果為cout.put(’s’);cout<<’c’<<’a’;A、caB、seaC、sD、a標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題很簡(jiǎn)單,考查cout對(duì)象的成員函數(shù)put方法和<<操作符的使用方法。27、下列運(yùn)算符中,不能重載的是A、?:B、+C、-D、<=標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析::?是C++中唯一一個(gè)三目運(yùn)算符,不能被重載。28、所有在函數(shù)中定義的變量及函數(shù)的形式參數(shù),都屬于A、全局變量B、局部變量C、靜態(tài)變量D、常量標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:全局變量是在所有函數(shù)定義、類定義和程序塊之外聲明的變量,局部變量是在某個(gè)函數(shù)定義、類定義或程序塊之內(nèi)聲明的變量。用關(guān)鍵字Static聲明的局部變量稱為靜態(tài)變量,故正確答案為B項(xiàng)。29、為引入對(duì)象的同義詞,對(duì)象的別名稱為A、指針B、引用C、枚舉D、結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:引用是C++引入的一個(gè)新概念,表示變量或?qū)ο蟮膭e名。30、以下不屬于構(gòu)造函數(shù)特征的是A、構(gòu)造函數(shù)名與類名相同B、構(gòu)造函數(shù)可以重載C、構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)D、構(gòu)造函數(shù)必須指定函數(shù)類型標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:類的構(gòu)造函數(shù)不能指定函數(shù)類型,由系統(tǒng)采取默認(rèn)的處理方式,不需要用戶參與。31、以下關(guān)于虛函數(shù)的敘述中不正確的是A、虛函數(shù)屬于成員函數(shù)B、虛函數(shù)不允許說(shuō)明成靜態(tài)的C、凡是虛函數(shù)必須用virtual說(shuō)明D、虛函數(shù)可以被繼承標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:虛函數(shù)的引入是為了解決動(dòng)態(tài)綁定問(wèn)題,使類的實(shí)例表現(xiàn)出多態(tài)性,虛函數(shù)在繼承后依然保持虛函數(shù)特性,此時(shí)不需要用virtual關(guān)鍵詞修飾。32、類的構(gòu)造函數(shù)的作用是A、一般成員函數(shù)B、類的初始化C、對(duì)象的初始化D、刪除對(duì)象創(chuàng)建的所有對(duì)象標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查類的構(gòu)造函數(shù)的作用,構(gòu)造函數(shù)一般負(fù)責(zé)完成對(duì)象建立時(shí)的初始化工作,如資源的分配。33、繼承機(jī)制的作用是A、信息隱藏B、數(shù)據(jù)封裝C、定義新類D、數(shù)據(jù)抽象標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:繼承是類的一個(gè)重要特性,沒(méi)有繼承,面向?qū)ο蠓椒ㄒ簿筒淮嬖凇U怯辛死^承,才呈現(xiàn)出豐富多彩的類和對(duì)象。34、關(guān)于虛函數(shù)的描述中正確的是A、虛函數(shù)是一個(gè)靜態(tài)成員函數(shù)B、虛函數(shù)是一個(gè)非成員函數(shù)C、虛函數(shù)既可以在函數(shù)說(shuō)明時(shí)定義,也可以在函數(shù)實(shí)現(xiàn)時(shí)定義D、派生類的虛函數(shù)與基類中對(duì)應(yīng)的虛函數(shù)具有相同的參數(shù)個(gè)數(shù)和類型標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:虛函數(shù)不能定義為靜態(tài)函數(shù);虛函數(shù)的作用在于繼承,表現(xiàn)出動(dòng)態(tài)性。所以,在派生類中定義的虛函數(shù)必須和基類中對(duì)應(yīng)的虛函數(shù)具有相同的參數(shù)個(gè)數(shù)和類型。35、下列表示純虛函數(shù)的成員函數(shù)是A、virtualintfunc(int);B、voidfunc(int)=0;C、virtualvoidfunc=0;D、virtualvoidflmc(int){}標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查純虛函數(shù)的定義形式。由于純虛函數(shù)在最后要有“=0”,故據(jù)此排除A和D。而B中沒(méi)有出現(xiàn)virtual關(guān)鍵詞,故正確答案為C。三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)36、在算法正確的前提下,評(píng)價(jià)一個(gè)算法的兩個(gè)標(biāo)準(zhǔn)是______。標(biāo)準(zhǔn)答案:時(shí)間復(fù)雜度和空間復(fù)雜度知識(shí)點(diǎn)解析:暫無(wú)解析37、將代數(shù)式轉(zhuǎn)換成程序設(shè)計(jì)中的表達(dá)式為_(kāi)_____。標(biāo)準(zhǔn)答案:SQRT(x^2+y^2)/(a+b)知識(shí)點(diǎn)解析:暫無(wú)解析38、軟件危機(jī)出現(xiàn)于20世紀(jì)60年代末,為了解決軟件危機(jī),人們提出了______的原理來(lái)設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。標(biāo)準(zhǔn)答案:軟件工程學(xué)知識(shí)點(diǎn)解析:暫無(wú)解析39、______是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。標(biāo)準(zhǔn)答案:數(shù)據(jù)模型知識(shí)點(diǎn)解析:數(shù)據(jù)模型是對(duì)客觀事物及聯(lián)系的數(shù)據(jù)描述,它反映了實(shí)體內(nèi)部及實(shí)體與實(shí)體之間的聯(lián)系。因此,數(shù)據(jù)模型是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。40、在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。標(biāo)準(zhǔn)答案:關(guān)系知識(shí)點(diǎn)解析:在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)關(guān)系。表中的每一列稱為一個(gè)屬性,相當(dāng)于記錄中的一個(gè)數(shù)據(jù)項(xiàng),對(duì)屬性的命名稱為屬性名;表中的一行稱為一個(gè)元組,相當(dāng)于汜錄值。四、填空題(本題共8題,每題1.0分,共8分。)41、在C++語(yǔ)言的面向?qū)ο蟪绦蛟O(shè)計(jì)框架中,______是程序的基本組成單元。標(biāo)準(zhǔn)答案:類知識(shí)點(diǎn)解析:C++語(yǔ)言面向?qū)ο蟪绦蛟O(shè)計(jì)的基本組成單元是class,面向過(guò)程的程序設(shè)計(jì)的基本組成單元是函數(shù)。42、C++語(yǔ)言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋以______作為開(kāi)始和結(jié)束的標(biāo)記。標(biāo)準(zhǔn)答案:/**/知識(shí)點(diǎn)解析:C++語(yǔ)言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋以“/*”開(kāi)始,以“*/”結(jié)束。43、以下程序的輸出結(jié)果是_____。#include<iostream.h>voidfun(){staticinta=0;a+=2;cout<<a<<"";}voidmain(){intcc;for(cc=1;cc<4;cc++)fun();cout<<endl;}標(biāo)準(zhǔn)答案:246知識(shí)點(diǎn)解析:本題考查靜態(tài)局部變量的使用。用關(guān)鍵字static聲明的局部變量為“靜態(tài)局部變量”,其值在函數(shù)調(diào)用結(jié)束后不消失而保留原值,即其占用的存儲(chǔ)單元不釋放,在下一次調(diào)用該函數(shù)時(shí),該變量已有值,就是上一次函數(shù)調(diào)用結(jié)束時(shí)的值。44、用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁?。st=(char*)_____;標(biāo)準(zhǔn)答案:malloc(11)或malloc(sizeof(char)*11)知識(shí)點(diǎn)解析:malloc函數(shù)的參數(shù)可以是一個(gè)具體的常數(shù),也可以是一個(gè)表達(dá)式。在本題中,可以是malloc(11),也可以借助于sizeof運(yùn)算符來(lái)表示。45、以下程序的輸出結(jié)果是_____。#include<iostream.h>unsignedfun(unsignednum){unsignedk=1;do{k*=num%10;num/=10;}while(num);returnk;}voidmain(){unsignedn=26;cout<<fun(n)<<endl;}標(biāo)準(zhǔn)答案:12知識(shí)點(diǎn)解析:函數(shù)有一個(gè)形參num,循環(huán)前變量k置1,循環(huán)中,表達(dá)式num%10是取num的個(gè)位,將Hum的個(gè)位值累乘于k中,然后num除以10。循環(huán)直至num為0結(jié)束,這是逐一求出num十進(jìn)制表示的各位數(shù)字,并累乘于變量k的循環(huán)。函數(shù)最后返回k。函數(shù)fun的功能是求整數(shù)的各位十進(jìn)制數(shù)的積。46、將x+y*z中的“+”用成員函數(shù)重載,"*"用友元函數(shù)重載應(yīng)寫為_(kāi)____。標(biāo)準(zhǔn)答案:x..operator+(operator*(y,z))知識(shí)點(diǎn)解析:C++中用成員函數(shù)重載x*y為:x.operator*(y);用友元函數(shù)重載x*y為:operator*(x,y);用成員函數(shù)重載x+y為:x.operator+(y);用友元函數(shù)重載x+y為:operator+(x,y)。47、下面程序的功能是將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變,請(qǐng)?zhí)羁铡?include<iostream.h>#include<string.h>voidmain(){chara[]="clanguage",t;intI,j,k;k=strlen(a);for(i=0;i<=k-2;i+=2)for(j=i+2;j<=k;_____)if(_____){t=a[i];a[i]=a[j];a[j]=t;}cout<<a;cout<<endl;}標(biāo)準(zhǔn)答案:j+=2a[i]>=a[j]或a[i]>a[j]知識(shí)點(diǎn)解析:strlen函數(shù)是測(cè)試字符串長(zhǎng)度的函數(shù),函數(shù)的值為字符串中的實(shí)際長(zhǎng)度,不包括’\0’在內(nèi)。48、靜態(tài)成員函數(shù)可以直接訪問(wèn)類的______成員,不能直接訪問(wèn)類的______成員。標(biāo)準(zhǔn)答案:靜態(tài);非靜態(tài)知識(shí)點(diǎn)解析:靜態(tài)成員函數(shù)可以直接訪問(wèn)該類中的靜態(tài)數(shù)據(jù)成員,而不能訪問(wèn)該類中的非靜態(tài)數(shù)據(jù)成員。國(guó)家二級(jí)(C++)筆試模擬試卷第2套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、下列關(guān)于棧的描述中錯(cuò)誤的是()。A、棧是先進(jìn)先出的線性表B、棧只能順序存儲(chǔ)C、棧具有記憶作用D、對(duì)棧的插入與刪除操作中,不需要改變棧底指針標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,入棧和出棧都是在棧頂進(jìn)行,它們的操作特點(diǎn)是先進(jìn)后出,因此具有記憶作用。??梢圆捎庙樞虼鎯?chǔ),也可以采用鏈?zhǔn)酱鎯?chǔ)。2、最簡(jiǎn)單的交換排序方法是A、快速排序B、選擇排序C、堆排序D、冒泡排序標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:暫無(wú)解析3、將運(yùn)算符重載為類成員函數(shù)時(shí),其參數(shù)表中沒(méi)有參數(shù),說(shuō)明該運(yùn)算符是A、不合法的運(yùn)算符B、一元運(yùn)算符C、無(wú)操作數(shù)的運(yùn)算符D、二元運(yùn)算符標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:當(dāng)運(yùn)算符重載為成員函數(shù)時(shí),如果函數(shù)參數(shù)表中沒(méi)有參數(shù),則表明該重載為單目運(yùn)算符,操作數(shù)就為該對(duì)象本身;如果函數(shù)參數(shù)表中有一個(gè)參數(shù),則表示該重載為雙目運(yùn)算符,另外一個(gè)操作數(shù)為該對(duì)象本身。4、開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是A、大系統(tǒng)的復(fù)雜性B、人員知識(shí)不足C、客觀世界千變?nèi)f化D、時(shí)間緊、任務(wù)重標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:軟件的顯著特點(diǎn)是規(guī)模龐大,復(fù)雜度超線性增長(zhǎng),在開(kāi)發(fā)大型軟件時(shí),要保證高質(zhì)量,極端復(fù)雜困難,不僅涉及技術(shù)問(wèn)題,更重要的是必須要有嚴(yán)格而科學(xué)的管理。5、兩個(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)用方式以及哪些信息通過(guò)接口。6、A、

B、

C、

D、

標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:暫無(wú)解析7、關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括()。A、排序、索引、統(tǒng)計(jì)B、選擇、投影、連接C、關(guān)聯(lián)、更新、排序D、顯示、打印、制表標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的專門關(guān)系運(yùn)算包括選擇運(yùn)算、投影運(yùn)算和連接運(yùn)算。8、下面不屬于軟件工程的3個(gè)要素的是()。A、工具B、過(guò)程C、方法D、環(huán)境標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:軟件工程包括3個(gè)要素,即方法、工具和過(guò)程。方法是完成軟件工程項(xiàng)目的技術(shù)手段:工具支持軟件的開(kāi)發(fā)、管理、文檔生成;過(guò)程支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制、管理。9、在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是()。A、O(n)B、O(n2)C、O(log2n)D、O(nlog2n)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:對(duì)于長(zhǎng)度為n的有序線性表,在最壞情況下,二分法查找只需比較log2n次,而順序查找需要比較n次。10、有如下兩個(gè)類定義:classXX{private:doubleX1;protected:doublex2;public:doublex3;);claseYY:protectedXX{private:doubley1;protected:doubley2;public:doubley3;};在類YY中保護(hù)成員變量的個(gè)數(shù)是()。A、1B、2C、3D、4標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:派生類從基類保護(hù)繼承(classYY:protectedXX)時(shí),基類的公有成員在派生類中變?yōu)楸Wo(hù)成員,基類的保護(hù)成員在派生類中仍然是保護(hù)成員;本題中YY本身有一個(gè)保護(hù)成員y2,再加上基類XX的x2和x3,故選C。二、選擇題(本題共25題,每題1.0分,共25分。)11、下列符號(hào)中可以用作C++標(biāo)識(shí)符的是()。A、_radiusB、foo~barC、elseD、3room標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:此題考查的是C++語(yǔ)言中標(biāo)識(shí)符的定義。標(biāo)識(shí)符有字母、數(shù)字和下劃線構(gòu)成,其中第一個(gè)字母必須是字母或下劃線;定義標(biāo)識(shí)符時(shí),不要采用系統(tǒng)的保留字.12、下列字符串中可以用作C++語(yǔ)言標(biāo)識(shí)符的是()。A、_1234B、foo~~barC、virtualD、34var標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C++語(yǔ)言標(biāo)識(shí)符只能由數(shù)字,字母和下劃線組成,并且只能以字母和下劃線為開(kāi)頭。13、重載函數(shù)在調(diào)用時(shí)選擇的依據(jù)中,錯(cuò)誤的是A、函數(shù)的參數(shù)名稱B、參數(shù)的類型C、函數(shù)的名字D、函數(shù)的類型標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:是否是重載函數(shù),需要給編譯器提供足夠的信息判斷。其主要的依據(jù)是函數(shù)的名字,參數(shù)的類型,函數(shù)的返回值類型。14、已知charaihtb;floatc;doubled;則表達(dá)式a*b+c-d結(jié)果為()。A、doubleB、intC、floatD、char標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查混合運(yùn)算表達(dá)式類型,由表達(dá)式中具有最高優(yōu)先級(jí)的類型所確定,所以答案為A。15、有以下程序:#include<iostream>usingnamespacestd;classMyClass{public:MyClass(intn){number=n;}//拷貝構(gòu)造函數(shù)MyClass(MyClass&other){number=other.number;}~MyClass(){}private:intnumber;};MyClassfun(MyClassp)A、5B、4C、3D、2標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:調(diào)用拷貝構(gòu)造函數(shù)的情況為:一個(gè)新對(duì)象被另一個(gè)已存在的同類型對(duì)象初始化,當(dāng)一個(gè)對(duì)象作為實(shí)參傳遵給函數(shù)時(shí)為初始化形參,要調(diào)用拷貝構(gòu)造函數(shù)。在函數(shù)值返回時(shí)形參的生命期結(jié)束時(shí)它的析構(gòu)函數(shù)被調(diào)用,在函數(shù)返回一個(gè)對(duì)象時(shí)調(diào)用拷貝構(gòu)造函數(shù)。符合以上條件的有:用對(duì)象obj1來(lái)初始化obj3;obj3作為實(shí)參被傳入,函數(shù)fun返回一個(gè)對(duì)象時(shí),系統(tǒng)用返回值初始化一個(gè)匿名對(duì)象時(shí)調(diào)用了拷貝構(gòu)造函數(shù)??偣舱{(diào)用4次。16、有如下數(shù)組聲明:intnum[10];,下標(biāo)值引用錯(cuò)誤的是A、num[10]B、num[5]C、num[3]D、num[0]標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:數(shù)組定義中的數(shù)字指的是數(shù)組的大小,而下標(biāo)是從0開(kāi)始的,所以題中數(shù)組的最后一個(gè)元素是num[9]。17、下列敘述中錯(cuò)誤的是()。A、派生類可以使用private派生B、對(duì)基類成員的訪問(wèn)必須是無(wú)二義性的C、基類成員的訪問(wèn)能力在派生類中維持不變D、賦值兼容規(guī)則也適用于多繼承的組合標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在建立派生類時(shí),并不是簡(jiǎn)單地把基類的私有成員直接作為派生類的私有成員,把基類的公用成員直接作為派生類的公用成員。涉及如何確定基類的成員在派生類中的訪問(wèn)屬性問(wèn)題,不僅要考慮對(duì)類成員所聲明的訪問(wèn)屬性,還要考慮派生類所聲明的對(duì)基類的繼承方式,根據(jù)這兩個(gè)因素共同決定基類成員在派生類的訪問(wèn)屬性。所以本題選擇選項(xiàng)C)。18、以下定義:int(*p)[4]中,標(biāo)識(shí)符p是()。A、一個(gè)指向整型變量的指針B、一個(gè)指針數(shù)組名C、一個(gè)指針,它指向一個(gè)含有4個(gè)整型元素的一維數(shù)組D、說(shuō)明不合法標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:本題中相當(dāng)于定義了一個(gè)二維數(shù)組intp[][4],標(biāo)識(shí)符p是一個(gè)指針,指向一個(gè)含有4個(gè)元素的一維數(shù)組。19、unsignedcharc="\41’;printf("%d",c);輸出結(jié)果為()。A、AB、41C、語(yǔ)法錯(cuò)D、65標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:c是char類型,而賦值給它的是字符串"\41"。20、()使一個(gè)函數(shù)可以定義成對(duì)許多不同數(shù)據(jù)類型完成同一個(gè)任務(wù)。A、函數(shù)模板B、重載函數(shù)C、遞歸函數(shù)D、模板函數(shù)標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析21、下列對(duì)字符數(shù)組進(jìn)行初始化的語(yǔ)句,正確的是()。A、chara[]="Hello";B、chara[][]={’H’,’e’,’1’,’1’,’o’};C、chara[5]="Hello";D、chara[2][5]={"Hello","World");標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析22、從鍵盤的輸入中,讀入一個(gè)值并賦值給x的語(yǔ)句是______。A、cin>>xB、cin<<xC、cout>>xD、cout<<x標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無(wú)解析23、在重載一個(gè)運(yùn)算符為成員函數(shù)時(shí),其參數(shù)表中沒(méi)有任何參數(shù),這說(shuō)明該運(yùn)算符是______。A、后綴一元運(yùn)算符B、前綴一元運(yùn)算符C、元操作數(shù)的運(yùn)算符D、二元運(yùn)算符標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:運(yùn)算符重載的相關(guān)內(nèi)容。24、在C++語(yǔ)言中,打開(kāi)一個(gè)文件就是將這個(gè)文件與一個(gè)什么建立關(guān)聯(lián)?A、流B、類C、結(jié)構(gòu)D、對(duì)象標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:C++的I/O系統(tǒng)是通過(guò)一種稱為流的機(jī)制來(lái)實(shí)現(xiàn)文件和控制臺(tái)的I/O操作。簡(jiǎn)單地說(shuō),在C++中,輸入輸出操作是通過(guò)流來(lái)完成的。而文件流以磁盤文件以及其他可按文件方式進(jìn)行管理的外部設(shè)備為輸入輸出對(duì)象。每個(gè)文件流都應(yīng)當(dāng)與一個(gè)打開(kāi)的文件相聯(lián)系;關(guān)閉一個(gè)文件就是取消這種聯(lián)系。25、若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對(duì)a數(shù)組元素不正確的引用是A、a[p-a]B、*(&a[i])C、p[i]D、a[10]標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:通常,引用一個(gè)數(shù)組元素可以用下標(biāo)法,如a[p—a]形式,或指針?lè)ǎ?(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開(kāi)始的。26、以下程序的正確運(yùn)行結(jié)果是()。#include<iostream.h>intf(int);voidmain(){inta=2,i;for(i=0;i<3;i++)cout<<f(a)<<"";cout<<endl;}intf(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}A、777B、71013C、7911D、789標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無(wú)解析27、已知各變量的定義如下inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;則以下符合C++語(yǔ)言語(yǔ)法的表達(dá)式是()。A、a+=a-=(b=4)*(a=3)B、a=a*3+2C、x%(-3)D、y=floati標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析28、若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是()。A、函數(shù)調(diào)用可以作為獨(dú)立的語(yǔ)句存在B、函數(shù)調(diào)用可以無(wú)返回值C、函數(shù)調(diào)用町以出現(xiàn)在表達(dá)式中D、函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無(wú)解析29、以下函數(shù)調(diào)用語(yǔ)句中含有參數(shù)的個(gè)數(shù)是excc((v1,v2),(v2,v3,v4),v6);A、3B、4C、5D、6標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:函數(shù)的參數(shù)個(gè)數(shù)是以第一層的逗號(hào)為區(qū)分的,本題中調(diào)用語(yǔ)句中有3個(gè)參數(shù)。30、C++中的類有兩種用法:一種是類的實(shí)例比,即生成類的對(duì)象,并參與系統(tǒng)的運(yùn)行;另一種是通過(guò)()派生出新的類。A、復(fù)用B、繼承C、封裝D、引用標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:暫無(wú)解析31、使用如setw()的操縱符對(duì)數(shù)據(jù)進(jìn)行格式輸出時(shí),應(yīng)包含()文件。A、iostream.hB、fstream.hC、iomanip.hD、stdliB.h標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無(wú)解析32、設(shè)有以下類和對(duì)象的定義:classA{public:intm;…};Ak1,k2,*p1,*p2;則下面針對(duì)成員變量m的引用,錯(cuò)誤的是A、k1.m=1B、k2->m=2C、p1->m=3D、(*p2).m=4標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題也是考察有名對(duì)象和無(wú)名對(duì)象的使用規(guī)則。對(duì)有名對(duì)象,要使用點(diǎn)操作符,無(wú)名對(duì)象要使用箭頭運(yùn)算符。據(jù)此可以判斷正確答案為B。33、下列不是構(gòu)造函數(shù)的特征的是()。A、函數(shù)名與類名相同B、構(gòu)造函數(shù)可以重載C、構(gòu)造函數(shù)可以設(shè)置默認(rèn)值D、構(gòu)造函數(shù)可以有返回值標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:構(gòu)造函數(shù)不能有返回值。34、下列字符串中,正確的C++標(biāo)識(shí)符是A、foo-1B、2bC、newD、-256標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:標(biāo)識(shí)符只能由大小寫字母,下劃線和數(shù)字組成,只允許字母或下劃線開(kāi)頭,不允許使用系統(tǒng)的關(guān)鍵字作為標(biāo)識(shí)符。35、有如下程序:#include<iostream>usingnamespacestd;intmain(){voidfunction(doubleval);doubleval;function(val);cout<<val;return0;}voidfunction(doubleval){val=3;}編譯運(yùn)行這個(gè)程序?qū)⒊霈F(xiàn)的情況是A、編譯出錯(cuò),無(wú)法運(yùn)行B、輸出:3C、輸出:3.0D、輸出一個(gè)不確定的數(shù)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查的是函數(shù)參數(shù)的傳遞。在C++中,函數(shù)在傳遞參數(shù)時(shí),總是將實(shí)參值的副本傳遞(拷貝)給被調(diào)用函數(shù)的形參,即傳值調(diào)用。因此,在函數(shù)中對(duì)形參所作的任何操作都不會(huì)改變函數(shù)外的實(shí)參。故本題function()函數(shù)不會(huì)對(duì)主函數(shù)中的val變量造成任何改變,val也沒(méi)有被初始化,所以輸出的是一個(gè)不確定的值:故應(yīng)該選擇D。三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)36、在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖中,使用用______解釋其中的圖形元素。標(biāo)準(zhǔn)答案:數(shù)據(jù)字典知識(shí)點(diǎn)解析:暫無(wú)解析37、標(biāo)準(zhǔn)答案:BaseDerived知識(shí)點(diǎn)解析:創(chuàng)建Derived類型的對(duì)象將導(dǎo)致Derived的構(gòu)造函數(shù)被執(zhí)行,而執(zhí)行Derived構(gòu)造函數(shù)時(shí),首先要執(zhí)行其父類的構(gòu)造函數(shù),所以先輸出”Base”,然后輸出”Derived”;p是一個(gè)指向.Base類型的指針,對(duì)其賦值不會(huì)引起構(gòu)造函數(shù)的執(zhí)行,所以本題輸出為”BaseDerived”。38、在關(guān)系運(yùn)算中,【】運(yùn)算是對(duì)兩個(gè)具有公共屬性的關(guān)系所進(jìn)行的運(yùn)算。標(biāo)準(zhǔn)答案:自然連接知識(shí)點(diǎn)解析:暫無(wú)解析39、實(shí)體之間的聯(lián)系可以歸結(jié)為一對(duì)一的聯(lián)系,一對(duì)多的聯(lián)系與多對(duì)多的聯(lián)系。如果一個(gè)學(xué)校有許多學(xué)生,而一個(gè)學(xué)生只歸屬于一個(gè)學(xué)校,則實(shí)體集學(xué)校與實(shí)體集學(xué)生之間的聯(lián)系屬于【】的聯(lián)系。標(biāo)準(zhǔn)答案:一對(duì)多知識(shí)點(diǎn)解析:實(shí)體之間的聯(lián)系可以歸結(jié)為一對(duì)一、一對(duì)多與多對(duì)多。如果一個(gè)學(xué)校有許多學(xué)生,而一個(gè)教師只歸屬于一個(gè)學(xué)生,則實(shí)體集學(xué)校與實(shí)體集學(xué)生之間的聯(lián)系屬于一對(duì)多的聯(lián)系。40、在面向?qū)ο蠓椒ㄖ?,允許作用于某個(gè)對(duì)象上的操作稱為【】。標(biāo)準(zhǔn)答案:方法知識(shí)點(diǎn)解析:在面向?qū)ο蠓椒ㄖ?,所謂方法是指允許作用于某個(gè)對(duì)象上的各種操作。因此,允許作用于某個(gè)對(duì)象上的操作稱為方法。四、填空題(本題共10題,每題1.0分,共10分。)41、設(shè)有定義語(yǔ)句:inta=12;,則表達(dá)式a*=2+3的運(yùn)算結(jié)果是______。標(biāo)準(zhǔn)答案:60知識(shí)點(diǎn)解析:本題考核C++運(yùn)算符運(yùn)算優(yōu)先級(jí)和結(jié)合性。表達(dá)式"a*=2+3,"先計(jì)算“2+3”得到5,然后計(jì)算a*=5,得到a的值為60。42、下列程序的執(zhí)行結(jié)果為_(kāi)____。#include<iostream.h>voidmain(){cout.fill(’*’);cout.width(10);cout<<"hello"<<endl;}標(biāo)準(zhǔn)答案:*****hello知識(shí)點(diǎn)解析:本題考查的是C++語(yǔ)言的流輸出操作,cout中包括的函數(shù)fill()和width()分別實(shí)現(xiàn)填充和設(shè)定顯示長(zhǎng)度的功能。43、虛函數(shù)必須是類的______。標(biāo)準(zhǔn)答案:成員函數(shù)知識(shí)點(diǎn)解析:虛函數(shù)是允許在派生類中重新定義與基類同名的函數(shù),并且通過(guò)基類指針或引用來(lái)訪問(wèn)基類和派生類中的同名函數(shù)。在基類中用virtual聲明成員函數(shù)為虛函數(shù),所以虛函數(shù)是類的成員函數(shù)。44、______是實(shí)現(xiàn)C++語(yǔ)言編譯時(shí)多態(tài)性的機(jī)制,______是實(shí)現(xiàn)C++語(yǔ)言運(yùn)行時(shí)多態(tài)性的機(jī)制。標(biāo)準(zhǔn)答案:靜態(tài)聯(lián)編或靜態(tài)綁定;動(dòng)態(tài)聯(lián)編或動(dòng)態(tài)綁定知識(shí)點(diǎn)解析:C++語(yǔ)言編譯時(shí)多態(tài)性的機(jī)制是靜態(tài)綁定,實(shí)現(xiàn)C++語(yǔ)言運(yùn)行時(shí)多態(tài)性的機(jī)制是動(dòng)態(tài)綁定。45、下列程序段的輸出結(jié)果是【】。#include<iostream.h>voidmain(){inti=10,sum=0;do{sum=+sum+i;i=i-2;}while(i>=2);cout<<sum<<end1;}標(biāo)準(zhǔn)答案:30知識(shí)點(diǎn)解析:暫無(wú)解析46、程序段的輸出結(jié)果是【】。intx=3,y=2,z=1;count<<(x/y&~z);標(biāo)準(zhǔn)答案:0知識(shí)點(diǎn)解析:暫無(wú)解析47、表達(dá)式x.operator+(y.operator++(0))還可以寫成【】。標(biāo)準(zhǔn)答案:x+y++或x+(y++)知識(shí)點(diǎn)解析:因?yàn)閥.operator++(0)是對(duì)成員y重載運(yùn)算符,所以是成員重載,在參數(shù)表中又有一個(gè)參數(shù),是重載后綴++,即是x+(y++)。48、帶有虛基類的多層次派生類構(gòu)造函數(shù)的成員初始化列表中都要列出虛基類的構(gòu)造函數(shù),這樣對(duì)虛基類的子對(duì)象初始化【】次。標(biāo)準(zhǔn)答案:一次知識(shí)點(diǎn)解析:當(dāng)一個(gè)派生從多個(gè)基類派生,而這些基類又有一個(gè)共同的基類,當(dāng)對(duì)該基類中說(shuō)明的成員進(jìn)行訪問(wèn)時(shí),可能出現(xiàn)二義性。虛基類就是為了解決這種二義性問(wèn)題提出來(lái)的。使用虛基類解決二義性問(wèn)題的關(guān)鍵是在派生類中只產(chǎn)生一個(gè)虛基類子對(duì)象,因此,帶有虛基類的多層次派生類構(gòu)造函數(shù)的成員初始化列表中對(duì)虛基類的子對(duì)象只初始化一次。49、有以下程序:#include<iostream>usingnamespacestd;classsample{intx;public:voidsetx(inti){x=i;}intputx(){returnx;}};intmain(){sample*p;sampleA[3];A[0].set>:(5);A[1].setx(6);A[2].setx(7);for(intj=0;j<3;j++){p=&A[j];cout<<p->putx()<<",";}cout<<end1;return0;}執(zhí)行后的輸出結(jié)果是【】。標(biāo)準(zhǔn)答案:5,6,7知識(shí)點(diǎn)解析:本題考核對(duì)象指針與對(duì)象數(shù)組的應(yīng)用。主函數(shù)中定義對(duì)象數(shù)組A,然后調(diào)用各自的setx()函數(shù)賦值,最后通過(guò)for循環(huán)輸出各自內(nèi)部變量,所以程序最后輸出5,6,7。50、語(yǔ)句序列l(wèi)ongx;x=0L;可用一個(gè)語(yǔ)句表示為【】。標(biāo)準(zhǔn)答案:longx=0L;知識(shí)點(diǎn)解析:變量的聲明和賦值可以分別進(jìn)行也可以同時(shí)進(jìn)行。分別進(jìn)行時(shí)稱為賦值,同時(shí)進(jìn)行是稱為初始化。國(guó)家二級(jí)(C++)筆試模擬試卷第3套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為A、GEDHFBCAB、DGEBHFCAC、ABCDEFGHD、ACBFEDHG標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:利用前序和中序遍歷的方法可以確定二叉樹的結(jié)構(gòu),具體步驟如下:①前序遍歷的第一個(gè)結(jié)點(diǎn)A為樹的根結(jié)點(diǎn);②中序遍歷中A的左邊的結(jié)點(diǎn)為A的左子樹,A右邊的結(jié)點(diǎn)為A的右子樹;③再分別對(duì)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知識(shí)點(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知識(shí)點(diǎn)解析:由?!昂筮M(jìn)先出”的特點(diǎn)可知:選項(xiàng)A)中e1不可能比e2先出,選項(xiàng)C)中e3不可能比e4先出,且e1不可能比e2先出,選項(xiàng)D)中棧是先進(jìn)后出的,所以不可能是任意順序。選項(xiàng)B)中出棧過(guò)程如圖所示:4、在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是A、不限制goto語(yǔ)句的使用B、減少或取消注解行C、程序越短越好D、程序結(jié)構(gòu)應(yīng)有助于讀者理解標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:濫用goto語(yǔ)句將使程序流程無(wú)規(guī)律,可讀性差,因此選項(xiàng)A)不選;注解行有利于對(duì)程序的理解,不應(yīng)減少或取消,選項(xiàng)B)也不選;程序的長(zhǎng)短要依照實(shí)際情況而論,而不是越短越好,選項(xiàng)C)也不選。5、程序設(shè)計(jì)語(yǔ)言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和A、對(duì)象成分B、變量成分C、語(yǔ)句成分D、傳輸成分標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:程序設(shè)計(jì)語(yǔ)言是用于書寫計(jì)算機(jī)程序的語(yǔ)言,其基本成分有以下4種,數(shù)據(jù)成分:用來(lái)描述程序中的數(shù)據(jù)。運(yùn)算成分:描述程序中所需的運(yùn)算。控制成分:用來(lái)構(gòu)造程序的邏輯控制結(jié)構(gòu)。傳輸成分:定義數(shù)據(jù)傳輸成分,如輸入輸出語(yǔ)言。6、下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書的作用的是A、便于用戶、開(kāi)發(fā)入員進(jìn)行理解和交流B、反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)C、作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)D、便于開(kāi)發(fā)入員進(jìn)行需求分析標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:軟件需求規(guī)格說(shuō)明書(SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用:①便于用戶、開(kāi)發(fā)人員進(jìn)行理解和交流;②反映出用戶伺題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。7、下列不屬于軟件工程的3個(gè)要素的是1A、工具B、過(guò)程C、方法D、環(huán)境標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:軟件工程包括3個(gè)要素,即方法、工具和過(guò)程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開(kāi)發(fā)、管理、文檔生成;過(guò)程支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制、管理。8、單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為A、外模式B、概念模式C、內(nèi)模式D、存儲(chǔ)模式標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:選項(xiàng)A)正確,外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見(jiàn)到的數(shù)據(jù)模式;選項(xiàng)B)不正確,全局?jǐn)?shù)據(jù)視圖的描述稱為概念模式,即數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述;選項(xiàng)C)不正確,物理存儲(chǔ)數(shù)據(jù)視圖的描述稱為內(nèi)模式,即數(shù)據(jù)庫(kù)在物理存儲(chǔ)方面的描述;選項(xiàng)D)不正確,存儲(chǔ)模式即為內(nèi)模式。9、將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成A、屬性B、關(guān)系C、鍵D、域標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)邏輯設(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語(yǔ)言又稱為A、結(jié)構(gòu)化定義語(yǔ)言B、結(jié)構(gòu)化控制語(yǔ)言C、結(jié)構(gòu)化查詢語(yǔ)言D、結(jié)構(gòu)化操縱語(yǔ)言標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:結(jié)構(gòu)化查詢語(yǔ)言(StructuredQueryLanguage,簡(jiǎn)稱SQL)是集數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制功能于一體的數(shù)據(jù)庫(kù)語(yǔ)言。二、選擇題(本題共25題,每題1.0分,共25分。)11、C++語(yǔ)言對(duì)C語(yǔ)言做了很多改進(jìn),C++語(yǔ)言相對(duì)于C語(yǔ)言的最根本的變化是A、增加了一些新的運(yùn)算符B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù)C、規(guī)定函數(shù)說(shuō)明符必須用原型D、引進(jìn)了類和對(duì)象的概念標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:C++語(yǔ)言最重要的特點(diǎn)是其為一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,但是C++語(yǔ)言也包含了全部的C語(yǔ)言的特征。12、下列哪個(gè)是C++語(yǔ)言的有效標(biāo)識(shí)符?A、No1B、No.1C、12345D、int標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:標(biāo)識(shí)符是一個(gè)以字母或下劃線開(kāi)始的,由字母、下劃線和數(shù)字組成的字符串,標(biāo)識(shí)符不能與任意關(guān)鍵字同名。13、設(shè)有定義intx;floaty;,則10+x+y值的數(shù)據(jù)類型是A、intB、doubleC、floatD、不確定標(biāo)準(zhǔn)答案:4知識(shí)點(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<<end1;}A、3,4B、4,3C、3,4D、4,4標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:*p為所指對(duì)象a的值,語(yǔ)句“b=+a++;”等價(jià)于“b=b+a;a=a+1;”。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)答案:4知識(shí)點(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、下列選項(xiàng),不正確的是A、for(inta=1;a<=10;a++);B、inta=1;do{a++;}while(a<=10)C、inta=1;while(a<=10){a++;}D、for(inta=1;a<=10;a++)a++;標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:本題考查的是基本循環(huán)語(yǔ)句的使用,選項(xiàng)A),選項(xiàng)C)和選項(xiàng)D)都為正確的形式,在選項(xiàng)B)中的while(a<=10)后缺少結(jié)束符分號(hào)“;”。17、下面關(guān)于數(shù)組的初始化正確的是A、charstr[]={’a’,’b’,’c’}B、charstr[2]={’a’,’b’,’c’}C、charstr[2][3]={{.’a’,’b’},{’c’,’d’},{’e’,’f’}}D、charstr()={’a’,’b’,’c’}標(biāo)準(zhǔn)答案:1知識(shí)點(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)用方括號(hào)。18、下列程序的輸出結(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)答案:2知識(shí)點(diǎn)解析:本題主要考查的是指針數(shù)組和指向指針的指針之間的關(guān)系,其中a是指針數(shù)組,pa是指向指針數(shù)組行的指針,所以pa自加1相當(dāng)于指向下一行。19、決定C++語(yǔ)言中函數(shù)的返回值類型的是A、return語(yǔ)句中的表達(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)答案:8知識(shí)點(diǎn)解析:C++語(yǔ)言中,在定義該函數(shù)時(shí)所指定的數(shù)據(jù)類型決定函數(shù)的返回值類型。20、下列程序的輸出結(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)答案:2知識(shí)點(diǎn)解析:本題考查的是函數(shù)的調(diào)用,第一次調(diào)用min(2,3),因?yàn)?<3,所以返回值為2,第二次調(diào)用min(1,2),因?yàn)?<2,所以返回1。21、下列程序的運(yùn)行結(jié)果為#include<iostream.h>voidprint(doublea){cout<<++a;}voidprint(inta,intb){cout<<b<<a;}voidmain(){print(1.2);tout<<"";print(3,4);}A、1.234B、2.234C、1.243D、2.243標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:本題考查的是對(duì)重載函數(shù)的掌握,因?yàn)?+a是右結(jié)合的,所以a先自加1再輸出,即為2.2,之后調(diào)用函數(shù)print(inta,intb)輸出b和a,即43。22、對(duì)類成員訪問(wèn)權(quán)限的控制,是通過(guò)設(shè)置成員的訪問(wèn)控制屬性實(shí)現(xiàn)的,下列不是訪問(wèn)控制屬性的是A、公有類型B、私有類型C、保護(hù)類型D、友元類型標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:所謂的訪問(wèn)控制只包含公有類型、私有類型和保護(hù)類型3種,友元可以是一個(gè)函數(shù),也可以是一個(gè)類。23、在類的定義中,用于為對(duì)象分配內(nèi)存空間,對(duì)類的數(shù)據(jù)成員進(jìn)行初始化并執(zhí)行其他內(nèi)部管理操作的函數(shù)是A、友元函數(shù)B、虛函數(shù)C、構(gòu)造函數(shù)D、析構(gòu)函數(shù)標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:構(gòu)造函數(shù)在創(chuàng)建對(duì)象時(shí)系統(tǒng)自動(dòng)調(diào)用,其功能是使用給定的值將對(duì)象初始化。24、類的析構(gòu)函數(shù)的作用是A、一般成員函數(shù)的初始化B、類的初始化C、對(duì)象的初始化D、刪除類創(chuàng)建的對(duì)象標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:析構(gòu)函數(shù)就是用來(lái)釋放對(duì)象的,它的調(diào)用完成之后,對(duì)象也就消失了,相應(yīng)的內(nèi)存空間也被釋放了。25、下列說(shuō)法正確的是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ò)加關(guān)鍵字inline定義標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:本題考查的是內(nèi)聯(lián)函數(shù)的定義,引入內(nèi)聯(lián)函數(shù)是為了解決程序中函數(shù)調(diào)用的效率問(wèn)題,是以目標(biāo)代碼的增加為代價(jià)換取時(shí)間的節(jié)??;一般函數(shù)在運(yùn)行時(shí)被調(diào)用,而調(diào)用的內(nèi)聯(lián)函數(shù)在編譯時(shí)就被替代了,如果不加inline關(guān)鍵字,則編譯器會(huì)將在類說(shuō)明部分定義的任何函數(shù)都被認(rèn)定為內(nèi)聯(lián)函數(shù)。26、下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是A、靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進(jìn)行初始化B、靜態(tài)數(shù)據(jù)成員不可以被類的對(duì)象調(diào)用C、靜態(tài)數(shù)據(jù)成員不能受private控制符的作用D、靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用.標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:靜態(tài)數(shù)據(jù)成員必須在類體外初始化,它是類的所有對(duì)象的共有成員,需要使用類名調(diào)用,靜態(tài)數(shù)據(jù)成員的初始化與權(quán)限控制無(wú)關(guān)。27、下面對(duì)于友元函數(shù)描述正確的是A、友元函數(shù)的實(shí)現(xiàn)必須在類的內(nèi)部定義B、友元函數(shù)是類的成員函數(shù)C、友元函數(shù)破壞了類的封裝性和隱藏性D、友元函數(shù)不能訪問(wèn)類的私有成員標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:友元函數(shù)的定義既可以在類內(nèi)部進(jìn)行,也可以在類外部進(jìn)行。它提高了程序的運(yùn)行效率,但破壞了類的封裝性和隱藏性,使得類的非成員函數(shù)可以訪問(wèn)類的私有成員。28、在公有派生情況下,有關(guān)派生類對(duì)象和基類對(duì)象的關(guān)系,下列敘述不正確的是A、派生類的對(duì)象可以賦給基類的對(duì)象B、派生類的對(duì)象可以初始化基類的引用C、派生類的對(duì)象可以直接訪問(wèn)基類中的成員D、派生類的對(duì)象的地址可以賦給指向基類的指針標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:公有繼承的派生類和基類是子類型的關(guān)系,所謂子類型是類型間一般和特殊的關(guān)系,即派生類是基類的子類型或者說(shuō)基類的操作可以被用于操作派生類的對(duì)象。29、下面程序的運(yùn)行結(jié)果為#include<iostream.h>classA{public:A(){cout<<"1";}~A(){cout<<"2";}};classB:publicA{public:B(){cout<"3";}~B(){cout<<"4";}};voidmain(){BA、1234B、1324C、1342D、3142標(biāo)準(zhǔn)答案:4知識(shí)點(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)于虛基類的描述,錯(cuò)誤的是A、設(shè)置虛基類的目的是為了消除二義性B、虛基類的構(gòu)造函數(shù)在非虛基類之后調(diào)用C、若同一層中包含多個(gè)虛基類,這些虛基類的構(gòu)造函數(shù)按它們說(shuō)明的次序調(diào)用D、若虛基類由非虛基類派生而來(lái),則仍然先調(diào)用基類構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:虛基類的引入就是為了消除二義性,其構(gòu)造函數(shù)的調(diào)用仍然是按照繼承的順序進(jìn)行的,對(duì)于多個(gè)虛基類則按它們說(shuō)明的次序調(diào)用,虛基類的構(gòu)造函數(shù)選于非虛基類的構(gòu)造函數(shù)執(zhí)行。31、下列關(guān)于多態(tài)性的描述,錯(cuò)誤的是A、C++語(yǔ)言中的多態(tài)性分為編譯時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性B、編譯時(shí)的多態(tài)性可通過(guò)函數(shù)重載實(shí)現(xiàn)C、運(yùn)行時(shí)的多態(tài)性可通過(guò)模板和虛函數(shù)實(shí)現(xiàn)D、實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的機(jī)制稱為動(dòng)態(tài)綁定標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:編譯時(shí)的多態(tài)性是通過(guò)函數(shù)重載和模板體現(xiàn)的,運(yùn)行時(shí)的多態(tài)性是通過(guò)虛函數(shù)體現(xiàn)的。32、下列運(yùn)算符中,在C++語(yǔ)言中不能重載的是A、*B、>=C、::D、/標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:不能被重載的運(yùn)算符還包括:“.”,“.*”,“->*”和“?:”。33、當(dāng)使用fstream流類定義一個(gè)流對(duì)象并打開(kāi)一個(gè)磁盤文件時(shí),文件的隱含打開(kāi)方式為A、ios::inB、ios::outC、ios::in|ios::outD、以上都不對(duì)標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:使用fstream類建立文件流必須定義打開(kāi)方式,否則編譯器無(wú)法判斷該文件流是讀還是寫。34、下列程序的運(yùn)行結(jié)果是#include<iostream.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知識(shí)點(diǎn)解析:本題考查的是對(duì)構(gòu)造函數(shù)的掌握,另外“++”運(yùn)算符是右結(jié)合的,所以在進(jìn)行輸出的時(shí)候都是先把原來(lái)的輸出后再自加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);A、22B、43C、42D、32標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:“++”是右結(jié)合的,所以先賦值為3,最后輸出3+1;常成員函數(shù)只有常對(duì)象才能調(diào)用,所以輸出2。三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)36、在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找,需要的比較次數(shù)為【】。標(biāo)準(zhǔn)答案:log2n知識(shí)點(diǎn)解析:二分法查找只適用于順序存儲(chǔ)的有序表。對(duì)于長(zhǎng)度為n的有序線性表,在最壞情況下,二分查找只需要比較log2n次。37、需求分析階段的工作,可以分成以下4個(gè)方面:【】、分析與綜合、編寫需求規(guī)格說(shuō)明書和評(píng)審。標(biāo)準(zhǔn)答案:需求獲取知識(shí)點(diǎn)解析:需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過(guò)程,由需求分析的定義可知,需求分析的內(nèi)容包括:提煉、分析和仔細(xì)審查已收集到的需求。因此需求分析階段的工作,可以分成以下四個(gè)方面:需求獲取、分析與綜合、編寫需求規(guī)格說(shuō)明書和評(píng)審。38、聯(lián)接運(yùn)算是將兩個(gè)或兩個(gè)以上的關(guān)系根據(jù)聯(lián)接條件生成一個(gè)【】。標(biāo)準(zhǔn)答案:新關(guān)系知識(shí)點(diǎn)解析:關(guān)系的聯(lián)接運(yùn)算是指將兩個(gè)或兩個(gè)以上的關(guān)系根據(jù)聯(lián)接條件生成一個(gè)新關(guān)系。常見(jiàn)的聯(lián)接有等值聯(lián)接和自然聯(lián)接。39、若a是float型變量,且a=6,則表達(dá)式“a/2+(int)(a+1)%2”的值為【】。標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:a/2的值為3,表達(dá)式(int)(a+1)%2的值為1,所以最后結(jié)果為4。40、選擇運(yùn)算的結(jié)果關(guān)系同原關(guān)系具有【】的結(jié)構(gòu)框架,投影運(yùn)算的結(jié)果關(guān)系同原關(guān)系通常具有【】的結(jié)構(gòu)框架。標(biāo)準(zhǔn)答案:相同不同知識(shí)點(diǎn)解析:結(jié)構(gòu)框架是由n個(gè)命名的屬性組成,如果將一個(gè)關(guān)系看作一張表,那么選擇操作就是從這張表中選出一些行而丟棄另一些行。而投影操作則是從這張表中選出某些列而丟棄另一些列。如果只對(duì)一個(gè)關(guān)系中的某些屬性感興趣,那么就需要使用投影操作在這些屬性上投影該關(guān)系。因此,選擇運(yùn)算的結(jié)果關(guān)系同原關(guān)系具有相同的結(jié)構(gòu)框架,投影運(yùn)算的結(jié)果關(guān)系同原關(guān)系通常具有不同的結(jié)構(gòu)框架。四、填空題(本題共8題,每題1.0分,共8分。)41、下面語(yǔ)句段的輸出結(jié)果是【】。intx=0,y=2,z=3;switch(x){case0:switch(y){case1:cout<<’*’;break;case2:cout<<’%’;break;}case1:switch(z){case1:cout<<’$’;bre標(biāo)準(zhǔn)答案:%#知識(shí)點(diǎn)解析:本題考核選擇語(yǔ)句的嵌套使用。由于第1個(gè)case后面沒(méi)有跳轉(zhuǎn)語(yǔ)句“break;”,所以程序還要進(jìn)入第2個(gè)分支執(zhí)行。因此程序最后輸出“%#”。42、若要把類FriendClass定義為類MyClass的友元類,則應(yīng)在類MyClass的定義中加入語(yǔ)句【】。標(biāo)準(zhǔn)答案:friendFriendClass;知識(shí)點(diǎn)解析:本題考核友元類的聲明。友元類可以在另一個(gè)類的公有部分或私有部分進(jìn)行說(shuō)明,說(shuō)明的方法為:friend<類名>;43、有如下的類的模板定義:template<classT>classMyClass{private:Tnumber;public:MyClass(Tk);…};其中構(gòu)造函數(shù)MyClass()用k的值初始化數(shù)據(jù)成員n。因此在模板類體外,構(gòu)造函數(shù)MyClass應(yīng)定義為【】。標(biāo)準(zhǔn)答案:template<classT>/MyClass<T>::MyClass(Tk):number(k){}知識(shí)點(diǎn)解析:類模板的成員函數(shù)的類體外的定義以“template<classT>”開(kāi)頭。44、有以下程序:#include<iostream>usingnamespacestd;classMyClass{public:MyClass();~MyClass();staticints;voidSetValue(intval);};intMyClass::s=0;MyClass::MyClass(){s++;}voidMy標(biāo)準(zhǔn)答案:3知識(shí)點(diǎn)解析:本題程序中把變量s定義為靜態(tài)數(shù)據(jù)成員,它被MyClass類的所有對(duì)象所共享,但它不屬于類的任何一個(gè)對(duì)象,它的作用域是類范圍。在類MyClass的構(gòu)造函數(shù)中,每創(chuàng)建一個(gè)對(duì)象,s就增1。由此可知,s用來(lái)記錄建立對(duì)象的個(gè)數(shù)。由于創(chuàng)建對(duì)象指針p時(shí)并不會(huì)調(diào)用構(gòu)造函數(shù),所以s最后的值是3。45、有以下程序:#include<iostream>usingnamespacestd;classBase{private:inta,b;public:Base(intx,inty){a=x;b=y;}voidShow(){cout<<a<<’,’<<b<<end1;}}標(biāo)準(zhǔn)答案:10,20知識(shí)點(diǎn)解析:本題考核基類指針的使用。本題首先定義了一個(gè)基類Base和一個(gè)由Base派生出來(lái)的派生類Derive。在主函數(shù)中,定義了一個(gè)基類Base指針pb和基類對(duì)象b,還定義了派生類Derive的對(duì)象d。然后將派生類對(duì)象d的地址賦值給指向基類Base的指針pb。由于Derive是Base的子類型,因此允許上述賦值。但這時(shí)指針pb只能使用從基類Base繼承的成員,即當(dāng)pb指向d對(duì)象時(shí),pb->show還是調(diào)用基類Base的成員函數(shù)show()。所以程序最后輸出的對(duì)象d中對(duì)基類成員的初始化值,即10,20。46、設(shè)文件temp.txt已存在,則以下的打印結(jié)果是【】#include<iostream>#include<fstream>usingnamespacestd;intmain(){ofstreamoutf("temp.txt",iosbase::trunC);outf<<"Howyoudoing";outf.close();ifstreaminf("temp.txt");標(biāo)準(zhǔn)答案:How知識(shí)點(diǎn)解析:本題考核文件的I/O操作。程序中定義了ofstream類的對(duì)象outf和ifstream類的對(duì)象inf。然后利用對(duì)象outf在文件test.txt中寫入“Howyoudoing”。最后利用對(duì)象inf打開(kāi)文件,將其中的數(shù)據(jù)輸入到變量str中,由于讀時(shí)遇到空格時(shí)就終止,所以str中存放的字符串為“How”。47、寫出執(zhí)行完下列代碼段之后指定變量的值:boolx=true,y=false,z=false;x=x&&y||z;y=x||y&&z;z=!(x!=y)||(y==z);則x=false,y=【】,z=【】。標(biāo)準(zhǔn)答案:falsetrue知識(shí)點(diǎn)解析:執(zhí)行語(yǔ)句“x&&y||z;”后,x的值變?yōu)閒alse。執(zhí)行“x||y&&z”后,y的值變?yōu)閒alse,執(zhí)行“!(x!=y)||y==z);”后,z的值變?yōu)閠rue。48、將下面的語(yǔ)句段(A)補(bǔ)充完整,使其和語(yǔ)句段(B)在功能上完全等價(jià)。(a)doubles=0.0;【】;intk=0;do{s+=d;k++;d=1.0/(k*k+1);}while(【】);(b)doubles=1.0;for(intk=1;k<=10;k++)s+=1.0/(k*(k+1));標(biāo)準(zhǔn)答案:d=1.0k<=10知識(shí)點(diǎn)解析:本題考核while循環(huán)與for循環(huán)之間的轉(zhuǎn)換。只要把握住循環(huán)的起始條件、結(jié)束條件和變量控制,就易解這種類型的題目。國(guó)家二級(jí)(C++)筆試模擬試卷第4套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、設(shè)有一個(gè)10階的對(duì)稱矩陣A[10][10],采用壓縮存儲(chǔ)方式按行將矩陣中下三角部分的元素存入一維數(shù)組B[]中,A[0][0]存入B[0]中,則A[8][5]在B[]中()位置。A、32B、33C、41D、65標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:設(shè)有一個(gè)10階的對(duì)稱矩陣A[10][10],采用壓縮存儲(chǔ)方式按行將矩陣中下三角部分的元素存入一維數(shù)組B[]中,A[0][0]存入B[0]中,則A[8][5]在B[]中41=1+2+3+4+5+6+7+8+5位置。2、設(shè)F是一個(gè)森林,B是由F轉(zhuǎn)換得到的二叉樹,F(xiàn)中有幾個(gè)非葉結(jié)點(diǎn),則B中右指針域?yàn)榭盏慕Y(jié)點(diǎn)有()個(gè)。A、n-1B、nC、n+1D、n+2標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:具體方法是:①將森林中的每棵樹變?yōu)槎鏄?。②因?yàn)檗D(zhuǎn)換所得的二叉樹的根結(jié)點(diǎn)的右子樹均為空,故可將各二叉樹的根結(jié)點(diǎn)視為兄弟從左至右連在一起,就形成了一棵二叉樹。3、在一個(gè)無(wú)向圖中,所有頂點(diǎn)的度數(shù)之和等于所有邊數(shù)的()倍。A、3B、2C、1D、1/2標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在一個(gè)無(wú)向圖中,所有頂點(diǎn)的度數(shù)之和等于所有邊數(shù)的2倍。4、由兩個(gè)棧共享一個(gè)向量空間的好處是()。A、減少存取時(shí)間,降低下溢發(fā)生的幾率B、節(jié)省存儲(chǔ)空間,降低上溢發(fā)生的幾率C、減少存取時(shí)間,降低上溢發(fā)生的幾率D、節(jié)省存儲(chǔ)空間,降低下溢發(fā)生的幾率標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:由兩個(gè)棧共享一個(gè)向量空間的好處是節(jié)省存儲(chǔ)空間,降低上溢發(fā)生的幾率。5、設(shè)數(shù)組data[m]作為循環(huán)隊(duì)列SQ的存儲(chǔ)空間,front為隊(duì)頭指針,rear為隊(duì)尾指針,則執(zhí)行出隊(duì)操作后其頭指針front值為()。A、front=front+1B、front=(front+1)%(m-1)C、front=(front-1)%mD、front=(front+1)%m標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:設(shè)數(shù)組data[m]作為循環(huán)隊(duì)列SQ的存儲(chǔ)空間,front為隊(duì)頭指針,rear為隊(duì)尾指針,則執(zhí)行出隊(duì)操作后其頭指針front值為front=(front+1)%m。6、一個(gè)非空廣義表的表頭()。A、不可能是子表B、只能是子表C、只能是原子D、可以是子表或原子標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:一個(gè)非空廣義表的表頭可以是子表或原子。7、用某種排序方法對(duì)關(guān)鍵字序列(25,84,21,47,15,27,68,35,20)進(jìn)行排序時(shí),序列的變化情況如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,2重,25,27,35,47,68,84則所采用的排序方法是()。A、選擇排序B、希爾排序C、歸并排序D、快速排序標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:快速排序的基本思想是基于分治策略的。對(duì)于輸入的子序列L[p..r],如果規(guī)模足夠小則直接進(jìn)行排序,否則分三步處理:①分解(Divide):將輸入的序列L[p..r]劃分成兩個(gè)非空子序列L[p..q]和L[q+1..r],使L[p..q]中任一元素的值不大于L[q+1..r]中任一元素的值。②遞歸求解(Conquer):通過(guò)遞歸調(diào)用快速排序算法分別對(duì)L[p..q]和L[q+1..r]進(jìn)行排序。③合并(Merge):由于對(duì)分解出的兩個(gè)子序列的排序是就地進(jìn)行的,所以在L[p..q]和L[q+1..r]都排好序后不需要執(zhí)行任何計(jì)算L[p..r)就已排好序。8、適于對(duì)動(dòng)態(tài)查找表進(jìn)行高效率查找的組織結(jié)構(gòu)是()。A、有序表B、分塊有序表C、三叉排序樹D、線性鏈表標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:適于對(duì)動(dòng)態(tài)查找表進(jìn)行高效率查找的組織結(jié)構(gòu)是三叉排序樹。9、不定長(zhǎng)文件是指()。A、文件的長(zhǎng)度不固定B、記錄的長(zhǎng)度不固定C、字段的長(zhǎng)度不固定D、關(guān)鍵字項(xiàng)的長(zhǎng)度不固定標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:不定長(zhǎng)文件是指記錄的長(zhǎng)度不固定。10、n個(gè)頂點(diǎn).的連通圖至少有()條邊。A、n-1B、nC、n+1D、0標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:n個(gè)頂點(diǎn)的連通圖至少有n-1條邊。二、選擇題(本題共25題,每題1.0

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論