![全國(guó)計(jì)算機(jī)等級(jí)考試《二級(jí)C++語(yǔ)言程序設(shè)計(jì)》模擬試卷一_第1頁(yè)](http://file4.renrendoc.com/view/ca3617ef005b7f89d2d3280b88abcd10/ca3617ef005b7f89d2d3280b88abcd101.gif)
![全國(guó)計(jì)算機(jī)等級(jí)考試《二級(jí)C++語(yǔ)言程序設(shè)計(jì)》模擬試卷一_第2頁(yè)](http://file4.renrendoc.com/view/ca3617ef005b7f89d2d3280b88abcd10/ca3617ef005b7f89d2d3280b88abcd102.gif)
![全國(guó)計(jì)算機(jī)等級(jí)考試《二級(jí)C++語(yǔ)言程序設(shè)計(jì)》模擬試卷一_第3頁(yè)](http://file4.renrendoc.com/view/ca3617ef005b7f89d2d3280b88abcd10/ca3617ef005b7f89d2d3280b88abcd103.gif)
![全國(guó)計(jì)算機(jī)等級(jí)考試《二級(jí)C++語(yǔ)言程序設(shè)計(jì)》模擬試卷一_第4頁(yè)](http://file4.renrendoc.com/view/ca3617ef005b7f89d2d3280b88abcd10/ca3617ef005b7f89d2d3280b88abcd104.gif)
![全國(guó)計(jì)算機(jī)等級(jí)考試《二級(jí)C++語(yǔ)言程序設(shè)計(jì)》模擬試卷一_第5頁(yè)](http://file4.renrendoc.com/view/ca3617ef005b7f89d2d3280b88abcd10/ca3617ef005b7f89d2d3280b88abcd105.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
全國(guó)計(jì)算機(jī)等級(jí)考試《二級(jí)C++語(yǔ)言程序設(shè)計(jì)》模擬試卷一[單選題]1.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是()。A.雙向鏈表(江南博哥)B.循環(huán)鏈表C.二叉鏈表D.循環(huán)隊(duì)列參考答案:C參考解析:線性結(jié)構(gòu)要滿足兩個(gè)條件:①有且僅有一個(gè)根結(jié)點(diǎn);②每個(gè)結(jié)點(diǎn)最多有一個(gè)前驅(qū),也最多有一個(gè)后繼。線性表、棧、隊(duì)列都是線性結(jié)構(gòu),循環(huán)鏈表和雙向鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),屬于線性結(jié)構(gòu),只是存儲(chǔ)結(jié)構(gòu)不連續(xù);循環(huán)隊(duì)列是一個(gè)頭結(jié)點(diǎn)和尾結(jié)點(diǎn)互為前驅(qū)結(jié)點(diǎn)和后繼結(jié)點(diǎn)的特殊的隊(duì)列,屬于線性結(jié)構(gòu);二叉鏈表是二叉樹的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),因?yàn)槎鏄溆行┙Y(jié)點(diǎn)有兩個(gè)后繼結(jié)點(diǎn),不符合線性結(jié)構(gòu)的定義,所以二叉鏈表是非線性結(jié)構(gòu)。答案選擇C選項(xiàng)。[單選題]2.在下列鏈表中,能夠從任意一個(gè)結(jié)點(diǎn)出發(fā)直接訪問到所有結(jié)點(diǎn)的是()。A.單鏈表B.循環(huán)鏈表C.雙向鏈表D.二叉鏈表參考答案:B參考解析:對(duì)于線性單鏈表來說,每個(gè)結(jié)點(diǎn)只有一個(gè)指針域,這個(gè)指針只能找到其后繼結(jié)點(diǎn),但不能找到其前驅(qū)結(jié)點(diǎn),因此必須從頭指針開始,才能訪問到所有的結(jié)點(diǎn);循環(huán)鏈表的最后一個(gè)結(jié)點(diǎn)的指針域指向表頭結(jié)點(diǎn),所有結(jié)點(diǎn)的指針構(gòu)成了一個(gè)環(huán)狀鏈,只要指出表中任何一個(gè)結(jié)點(diǎn)的位置就可以從它出發(fā)訪問到表中其他所有的結(jié)點(diǎn);題目要求是“直接”,如果是雙向鏈表的話,從中間一個(gè)點(diǎn)開始,必須先往左一次再掉頭往右一次才能遍歷。而循環(huán)鏈表只要沿一個(gè)方向一直走下去就可以遍歷;二叉鏈表是二叉樹的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),每個(gè)結(jié)點(diǎn)有兩個(gè)指針域,分別指向左右子結(jié)點(diǎn),可見,二叉鏈表只能由根結(jié)點(diǎn)向葉子結(jié)點(diǎn)的方向遍歷,其他部分的結(jié)點(diǎn)無(wú)法訪問。答案選擇B選項(xiàng)。[單選題]3.下列與棧結(jié)構(gòu)有關(guān)聯(lián)的是()。A.數(shù)組的定義域使用B.操作系統(tǒng)的進(jìn)程調(diào)度C.函數(shù)的遞歸調(diào)用D.選擇結(jié)構(gòu)的執(zhí)行參考答案:C參考解析:函數(shù)的遞歸調(diào)用是指函數(shù)調(diào)用函數(shù)本身,直到滿足特定條件時(shí)終止,然后從最后被遞歸調(diào)用處返回。遞歸函數(shù)是通過棧來實(shí)現(xiàn)的,所以調(diào)用原則和棧的實(shí)現(xiàn)相一致。所以遞歸函數(shù)是通過棧來實(shí)現(xiàn)的。答案選擇C選項(xiàng)。[單選題]4.下面對(duì)軟件特點(diǎn)描述不正確的是()。A.軟件是一種邏輯實(shí)體,具有抽象性B.軟件開發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性C.軟件開發(fā)涉及軟件知識(shí)產(chǎn)權(quán)、法律及心理等社會(huì)因素D.軟件運(yùn)行存在磨損和老化問題參考答案:D參考解析:軟件具有以下特點(diǎn):①軟件具有抽象性,是一種邏輯實(shí)體;②軟件沒有明顯的制作過程;③軟件在使用期間不存在磨損、老化問題;④對(duì)硬件和環(huán)境具有依賴性;⑤軟件復(fù)雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會(huì)因素。D項(xiàng)描述是硬件存在的問題。答案選擇D選項(xiàng)。[單選題]5.下面屬于黑盒測(cè)試方法的是()。A.基本路徑測(cè)試B.等價(jià)類劃分C.判定覆蓋測(cè)試D.語(yǔ)句覆蓋測(cè)試參考答案:B參考解析:常用的黑盒測(cè)試方法有:①等價(jià)類劃分法;②邊界值分析法;③錯(cuò)誤推測(cè)法;④因果圖等。常用的白盒測(cè)方法有:①邏輯覆蓋測(cè)試,包括語(yǔ)句覆蓋、路徑覆蓋、判斷覆蓋、條件覆蓋;②基本路徑測(cè)試等,ACD三項(xiàng)屬于白盒測(cè)試。答案選擇B選項(xiàng)。[單選題]6.下面不屬于軟件設(shè)計(jì)階段任務(wù)的是()。A.軟件的功能確定B.軟件的總體結(jié)構(gòu)設(shè)計(jì)C.軟件的數(shù)據(jù)設(shè)計(jì)D.軟件的過程設(shè)計(jì)參考答案:A參考解析:軟件設(shè)計(jì)階段的任務(wù)包括:①結(jié)構(gòu)設(shè)計(jì);②數(shù)據(jù)設(shè)計(jì);③接口設(shè)計(jì);④過程設(shè)計(jì)。軟件的功能確定是在需求分析階段完成的。答案選擇A選項(xiàng)。[單選題]7.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種通信軟件系統(tǒng)參考答案:B參考解析:系統(tǒng)軟件主要包括:①操作系統(tǒng)軟件;②各種語(yǔ)言的解釋程序和編譯程序;③各種服務(wù)性程序;④各種數(shù)據(jù)庫(kù)管理系統(tǒng)。數(shù)據(jù)庫(kù)管理系統(tǒng)是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)組操縱、數(shù)據(jù)維護(hù)、控制和保護(hù)以及數(shù)據(jù)服務(wù)等。答案選擇B選項(xiàng)。[單選題]8.在E-R圖中,表示實(shí)體的圖形是()。A.矩形B.橢圓C.菱形D.圓參考答案:A參考解析:E-R圖是實(shí)體聯(lián)系模式圖,E-R圖的三要素:①實(shí)體,用矩形框表示,框內(nèi)為實(shí)體名稱;②屬性,用橢圓形表示,并用線與實(shí)體連接;③實(shí)體間的聯(lián)系,用菱形框表示,用線將菱形框與實(shí)體相連,并在線上標(biāo)注聯(lián)系的類型。答案選擇A選項(xiàng)。[單選題]9.有兩個(gè)關(guān)系R和T如下:則由關(guān)系R得到關(guān)系T的操作是()。A.選擇B.交C.投影D.并參考答案:C參考解析:關(guān)系T是由關(guān)系R的第1、3列的元組組成,這是對(duì)關(guān)系R進(jìn)行投影運(yùn)算的結(jié)果??梢院?jiǎn)單理解為:選擇運(yùn)算是對(duì)行(元組)的操作,投影運(yùn)算是對(duì)列的操作。投影運(yùn)算是對(duì)列的操作。投影是從表中選出指定的屬性值組成新表,是單目運(yùn)算,答案選擇C選項(xiàng)。[單選題]10.對(duì)圖書進(jìn)行編目時(shí),圖書有如下屬性:ISBN書號(hào),書名,作者,出版社,出版日期。能作為關(guān)鍵字的是()。A.ISBN書號(hào)B.書名C.作者,出版社D.出版社,出版日期參考答案:A參考解析:關(guān)鍵字是指能惟一標(biāo)識(shí)元組的屬性或?qū)傩约?。書?hào)可以惟一標(biāo)識(shí)一本圖書,本題中,書名、作者、出版社、出版日期等字段都不能惟一標(biāo)識(shí)一本圖書。答案選擇A選項(xiàng)。[單選題]11.下列關(guān)于函數(shù)的說法中,正確的是()。A.C++允許在函數(shù)體中定義其他函數(shù)B.所有的內(nèi)聯(lián)函數(shù)都要用inifne說明C.僅函數(shù)返回類型不同的同名函數(shù)不能作為重載函數(shù)使用D.有默認(rèn)值的參數(shù)應(yīng)從左至右逐個(gè)定義參考答案:C參考解析:C項(xiàng)中如果函數(shù)只是函數(shù)類型不同,而其他完全相同(參數(shù)個(gè)數(shù)及類型),則不能作為重載函數(shù)來使用,C項(xiàng)正確。C++不允許定義函數(shù)嵌套,即在一個(gè)函數(shù)體內(nèi)不能包含有其他函數(shù)的定義。在C++中使用inline關(guān)鍵字來定義內(nèi)聯(lián)函數(shù),inline關(guān)鍵字放在函數(shù)定義中函數(shù)類型之前,不過,編譯器會(huì)將在類的說明部分定義的任何函數(shù)都認(rèn)定為內(nèi)聯(lián)函數(shù),即使它們沒有用inline說明。如果一個(gè)函數(shù)中有多個(gè)參數(shù),則默認(rèn)參數(shù)應(yīng)從右至左逐個(gè)定義。ABD三項(xiàng)表述有誤。[單選題]12.下列關(guān)于構(gòu)造函數(shù)的說法中,正確的是()。A.構(gòu)造函數(shù)不能重載B.構(gòu)造函數(shù)的返回值為voidC.構(gòu)造函數(shù)中可以使用this指針D.用戶必須為定義的類提供構(gòu)造函數(shù)參考答案:C參考解析:構(gòu)造函數(shù)的功能是對(duì)對(duì)象進(jìn)行初始化,即對(duì)數(shù)據(jù)成員進(jìn)行初始化。構(gòu)造函數(shù)是類成員函數(shù),它除了具有一般成員函數(shù)的特性之外,還具有一些特殊的性質(zhì):①構(gòu)造函數(shù)的名字必須與類名相同;②構(gòu)造函數(shù)不指定返回類型,它隱含有返回值,由系統(tǒng)內(nèi)部使用;③構(gòu)造函數(shù)可以有一個(gè)或多個(gè)參數(shù),因此構(gòu)造函數(shù)可以重載;④在創(chuàng)建對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用構(gòu)造函數(shù)。[單選題]13.下列不屬于C++規(guī)定的類繼承方式是()。A.protectiveB.privateC.protectedD.public參考答案:A參考解析:類的繼承方式包括3種:公有繼承(publie)、私有繼承(private)和保護(hù)繼承(protected),如果省略,則默認(rèn)為private方式。所以題中BCD三項(xiàng)都屬于類繼承方式。A項(xiàng)是錯(cuò)誤的寫法。[單選題]14.下列關(guān)于運(yùn)算符重載的說法,錯(cuò)誤的是()。A.New和delete運(yùn)算符可以重載B.重載運(yùn)算符不能改變其原有的操作數(shù)個(gè)數(shù)C.三元運(yùn)算符“?:”不能重載D.所有運(yùn)算符既可以作為類的成員函數(shù)重載,又可以作為非成員函數(shù)重載參考答案:D參考解析:A項(xiàng)正確,除了new和delete這兩個(gè)較為特殊的運(yùn)算符外,任何運(yùn)算符在作為成員函數(shù)重載時(shí)不得重載為靜態(tài)成員函數(shù)。重載的運(yùn)算符保持其原有的操作個(gè)數(shù)不變。除了.、.*、->*、::、?、:運(yùn)算符外,其他運(yùn)算符都可以重載。=、[]、()、->以及所有的類型轉(zhuǎn)換運(yùn)算符只能作為成員函數(shù)重載。[單選題]15.下列關(guān)于函數(shù)模板的說法,正確的是()。A.在定義模板參數(shù)時(shí)關(guān)鍵字typename和class可以互換B.函數(shù)模板的形參表中只能有虛擬類型參數(shù)C.調(diào)用函數(shù)模板時(shí),模板實(shí)參永遠(yuǎn)不能省略D.在函數(shù)模板的聲明中,只能使用1個(gè)虛擬類型參數(shù)參考答案:A參考解析:template是一個(gè)聲明模板的關(guān)鍵字,C++語(yǔ)言通過模板提供一種將類型參數(shù)化的機(jī)制,包括函數(shù)模板和類模板。在聲明模板參數(shù)時(shí),關(guān)鍵字typename與class可以互換,是等價(jià)的,A項(xiàng)正確。在函數(shù)模板形參表中不僅僅是虛擬類型參數(shù),也可以有實(shí)際類型參數(shù)。在調(diào)用模板函數(shù)時(shí)可以只使用函數(shù)實(shí)參,而省略模板實(shí)參,但模板實(shí)參的省略并不是必然的,而是有條件的。函數(shù)模板的模板形參表中可以有多個(gè)參數(shù)。BCD三項(xiàng)錯(cuò)誤。[單選題]16.下列不屬于C++預(yù)定義的流對(duì)象的是()。A.cflieB.cinC.coutD.clog參考答案:A參考解析:C++流有4個(gè)預(yù)定義流對(duì)象,它們的名稱及與之聯(lián)系的I/O設(shè)備如下:①cin標(biāo)準(zhǔn)輸入;②cout標(biāo)準(zhǔn)輸出;③cerr標(biāo)準(zhǔn)出錯(cuò)信息輸出;④clog帶緩沖的標(biāo)準(zhǔn)出錯(cuò)信息輸出。[單選題]17.下列不屬于C++關(guān)鍵字的是()。A.defaultB.unsignedC.goD.divy參考答案:C參考解析:C++的關(guān)鍵字也稱保留字,它是C++語(yǔ)言本身預(yù)先定義好的一類單詞。常用到的關(guān)鍵字有auto、break、case、char、break、default、else、int、long、unsigned、try等,go不是C++的關(guān)鍵字,標(biāo)識(shí)符不能使用C++中的關(guān)鍵字。[單選題]18.若變量a的定義為“inta=8;”,則下列邏輯表達(dá)式中其值為false的是()。A.a&&(a-1)B.a(a-1)C.a>(a-1)D.a<(a-1)參考答案:D參考解析:D項(xiàng)正確,a<(a-1)不成立,其邏輯值為false。A項(xiàng)錯(cuò)誤,當(dāng)a=8時(shí),a-1=7,即a為非零,a-1為非零,兩者相與,其邏輯值為true;B項(xiàng)錯(cuò)誤,a(a-1)兩個(gè)非零值或值為true;C項(xiàng)錯(cuò)誤,a>(a-1)該不等式成立,其邏輯值為true。ABC三項(xiàng)邏輯值均為true。[單選題]19.有如下程序段:運(yùn)行這個(gè)程序段時(shí),輸出字符‘#’的個(gè)數(shù)是()。A.3B.4C.5D.6參考答案:B參考解析:程序執(zhí)行過程如下:i*=i等價(jià)于i=i*i,第一次循環(huán),i=4時(shí),輸出第一個(gè)‘#’,此時(shí)i不大于1000,循環(huán)繼續(xù),第二次循環(huán),i=16時(shí),輸出第二個(gè)‘#’,此時(shí)不大于1000,循環(huán)繼續(xù),第三次循環(huán),i=256時(shí),輸出第三個(gè)‘#’,此時(shí)不大于1000,循環(huán)繼續(xù),第四次循環(huán),i=65536時(shí),輸出第四個(gè)‘#’,此時(shí)i大于1000,循環(huán)停止,跳出循環(huán),故輸出四個(gè)‘#’。[單選題]20.有如下程序段:int*a=newint[2];a[0]=0;a[1]=1;int**b=&a:cout<<**b;運(yùn)行這個(gè)程序段將輸出()。A.整數(shù)1B.a[0]的地址C.a[1]的地址D.整數(shù)0參考答案:D參考解析:int*a=newint[2]指從堆里申請(qǐng)兩個(gè)int空間,并將a指針指向其首地址。&a的意思是獲取a的地址,在這里a地址存放的值為0,**b的意思是表示b是雙重指針類型,**b是對(duì)a的地址的值的引用,所以**b的值為0。[單選題]21.已知函數(shù)foo定義如下:voidfoo(inta,int&b,int*c)a++;b++;(*c)++;且有如下程序段:inta=1,b=2,c=3;foo(a,b,&c);cout<運(yùn)行這個(gè)程序段的輸出是()。A.134B.123C.234D.編譯錯(cuò)誤參考答案:A參考解析:首先給a、b、c三個(gè)變量賦值,然后調(diào)用foo函數(shù),a是按值傳遞,所以調(diào)用完foo函數(shù),a的值不變,b、c是按址傳遞,則執(zhí)行完foo函數(shù),b、c的值均加1。[單選題]22.已知類MyClass的定義如下:下列說法中正確的是()。A.編譯時(shí)語(yǔ)句①有錯(cuò)B.編譯時(shí)語(yǔ)句②有錯(cuò)C.編譯時(shí)語(yǔ)句①②均有錯(cuò)D.編譯時(shí)語(yǔ)句①②均無(wú)錯(cuò)參考答案:A參考解析:①處的const_data不是靜態(tài)變量,不能在靜態(tài)函數(shù)中引用或輸出,所以①有錯(cuò),而②是靜態(tài)變量,可以引用或輸出,所以②正確。[單選題]23.已知類Base和類Derived的定義如下:其中橫線處應(yīng)為類Derived的構(gòu)造函數(shù)的定義。在下列構(gòu)造函數(shù)的定義中,正確的是()。A.Derived(inti)Base(i);B.Derived(inti):Base(i);C.Derived(inti)n=i;D.Derived(inti):n=i參考答案:B參考解析:構(gòu)造函數(shù)的功能是對(duì)對(duì)象進(jìn)行初始化,即對(duì)數(shù)據(jù)成員進(jìn)行初始化。構(gòu)造函數(shù)的定義一般為:類名(形參):成員名(表達(dá)式)。[單選題]24.已知類CC以成員函數(shù)方式重載了二元運(yùn)算符*,c1和c2是CC類的兩個(gè)對(duì)象,則下列對(duì)該運(yùn)算符的調(diào)用中錯(cuò)誤的是()。A.c1*c2;B.c1.operator*(c2);C.operator*(c1,c2);D.c2.operator*(c1);參考答案:C參考解析:運(yùn)算符函數(shù)的函數(shù)名由運(yùn)算符前加關(guān)鍵字operator構(gòu)成,在聲明運(yùn)算符或調(diào)用運(yùn)算符時(shí)都可以用這個(gè)名稱,因此,可以用兩種不同的方法調(diào)用運(yùn)算符函數(shù)。例如,假定已經(jīng)作為某個(gè)類的成員函數(shù)重載了二元運(yùn)算符+,且c1;c2都是該類的對(duì)象,則c1.operator+(c2)與c1+c2含義相同。如果+作為該類的非成員函數(shù)重載,則operator+(c1,c2)與c1+c2含義相同。[單選題]25.已知類模板Test定義如下:templateclassTestpublic;voidfoo(T2t);;則以下針對(duì)foo函數(shù)的類外定義中語(yǔ)法正確的是()。A.templatevoidTest::foo(T2t)B.templatevoidTest::foo(T2t)C.templatevoidTest::foo(T2t)D.templatevoidTest::foo(T2t)參考答案:D參考解析:聲明一個(gè)函數(shù)模板的格式是:template<<模板形參表>><函數(shù)聲明>類外部定義的成員函數(shù)的一般格式是:<返回類型><類名>::<成員函數(shù)名>(<參數(shù)表>)<函數(shù)體>根據(jù)公式,可以判斷應(yīng)該選擇D項(xiàng)。[單選題]26.有如下輸出語(yǔ)句:cout<此語(yǔ)句的輸出結(jié)果是()。A.3.141B.3.142C.3.1415D.3.1416參考答案:B參考解析:Setw(5)是設(shè)置輸入輸出的寬度,即為5,fixed是浮點(diǎn)數(shù)按定點(diǎn)格式輸出,setprecision(3)是設(shè)置浮點(diǎn)數(shù)的精度,即有效位數(shù)為3或小數(shù)位數(shù)為3。[單選題]27.已知類MyClass的定義如下:且有如下程序段:MyClassc(5);MyClass*p1;p1=&c;print(*p1);print(c);運(yùn)行這個(gè)程序段的過程中,對(duì)類MyClass的復(fù)制構(gòu)造函數(shù)的調(diào)用次數(shù)是()。A.4B.3C.2D.1參考答案:C參考解析:題目中問調(diào)用復(fù)制構(gòu)造函數(shù)次數(shù),main函數(shù)代碼MyClassc(5)調(diào)用普通構(gòu)造函數(shù),print(*p1)與print(c)各調(diào)用一次復(fù)制構(gòu)造函數(shù)創(chuàng)建print函數(shù)所需的實(shí)際參數(shù)。[單選題]28.已知類Test的定義如下:intTest::num=0;且有如下程序段:intmain()Testt1,t2;t1.print(0);t2.print(1);return0;運(yùn)行這個(gè)程序段的輸出是()。A.1234B.1233C.1122D.1223參考答案:C參考解析:t1.print(0)表示給num賦值為0,輸出++num,即為輸出1,this是對(duì)象指針,指向的是程序?qū)ο蟮牡刂?,然后調(diào)用成員函數(shù),因?yàn)槌跏嫉刂窞?,所以執(zhí)行cout<<++this->num輸出的也是1,同理,t2.print(1)是將num賦值為1,執(zhí)行cout<<++num和cout<<++this->num輸出都為2,所以最后輸出為1122。[單選題]29.已知類CC和函數(shù)test的定義如下:且有如下main函數(shù):intmain()CCc;test(c);return0;運(yùn)行這個(gè)main函數(shù)的輸出是()。A.1200B.11200C.1020D.1120參考答案:A參考解析:首先執(zhí)行一次CC(),首位輸出1,函數(shù)結(jié)束執(zhí)行析構(gòu)函數(shù)~CC(),末尾輸出0,再在第二位執(zhí)行test(),輸出一個(gè)2,最后返回0,輸出為1200。[單選題]30.已知類AA和BB的定義如下:且有如下主函數(shù)定義:intmain()BBb:return0;運(yùn)行這個(gè)main函數(shù)的輸出是()。A.0123B.0213C.2013D.0231參考答案:D參考解析:本題中,首先執(zhí)行classAA,首位輸出0,末尾輸出1;再執(zhí)行classBB,在第二位輸出2,倒數(shù)第二位輸出3,最后輸出結(jié)果為0231。[單選題]31.已知類Base、Middle和Derived的定義如下:且有如下程序段:運(yùn)行這個(gè)程序段的輸出是()。A.aaB.bbC.ccD.ab參考答案:C參考解析:p1=&d和p2=&d中p1和p2都是讀取d的地址,d是Derived類的對(duì)象,所以兩次執(zhí)行的函數(shù)都是voidfoo()cout<<‘c’;,兩次輸出的內(nèi)容都是c。[單選題]32.類Base及其派生類Derived的定義如下:則下列說法正確的是()。A.編譯時(shí)語(yǔ)句①有錯(cuò)B.編譯時(shí)語(yǔ)句②有錯(cuò)C.編譯時(shí)語(yǔ)句①和②均有錯(cuò)D.編譯時(shí)語(yǔ)句①和②均無(wú)錯(cuò)參考答案:D參考解析:派生類繼承了父類的所有屬性,又因?yàn)镈erived派生類屬于公有public繼承,所以父類中變量a、b在子類中都可以使用,①②處編譯均無(wú)錯(cuò)。[單選題]33.已知類Time的定義如下:其中橫線處應(yīng)為下標(biāo)訪問運(yùn)算符[]的重載函數(shù)的函數(shù)頭,橫線處應(yīng)填入的代碼是()。A.int&operator[](Time&t,intindex)B.int&operator[](intindex)C.friendint&operator[](Time&t,intindex)D.friendint&operator[](intindex)參考答案:B參考解析:函數(shù)重載的基本形式是:<返回類型><函數(shù)名>(<形參列表>),返回類型應(yīng)為int,只需要一個(gè)形參index。[單選題]34.若要向一個(gè)文件的末尾添加數(shù)據(jù)。則需使用的打開方式是()。A.ios_base::inB.ios_base::outC.ios_base::addD.ios_base::divunk參考答案:C參考解析:打開文件的方式在類ios(是所有流式I/O類的基類)中定義,常用的值如下:①ios::app是指以追加的方式打開文件;②ios::ate是指文件打開后定位到文件尾,ios::app就包含有此屬性;③ios::binary是指以二進(jìn)制方式打開文件,默認(rèn)的方式是文本方式;④ios::in是指文件以輸入方式打開;⑤ios::out是指文件以輸出方式打開;⑥ios::nocreate是指不建立文件,所以文件不存在時(shí)打開失敗;⑦ios::noreplace是指不覆蓋文件,所以打開文件時(shí)如果文件存在失??;⑧ios::trune是指如果文件存在,把文件長(zhǎng)度設(shè)為0。可以用“或”把以上屬性連接起來。[單選題]35.已知類Array的定義如下:且有如下程序段:Arrayarr(2);cout<則執(zhí)行這個(gè)程序段的輸出是()。A.23B.32C.12D.21參考答案:A參考解析:Arrayarr(2)是將n的值賦值為2,當(dāng)n=2時(shí),start=2,此時(shí)data[0]=2,data[1]=3,輸出data[0]和data[1]的值為23。[單選題]36.下列符號(hào)中能夠作為C++標(biāo)識(shí)符的是()。A.constB.2aC._shapeD.-count參考答案:C參考解析:標(biāo)識(shí)符的命名規(guī)則為:①每個(gè)標(biāo)識(shí)符都是以字母或下劃線開頭;②每個(gè)標(biāo)識(shí)符都是由字母、數(shù)字和下劃線組成的。③標(biāo)識(shí)符大小寫敏感;④標(biāo)識(shí)符不能使用C++中的關(guān)鍵字,不能包含相鄰的下劃線,也不能以下劃線后跟一個(gè)大寫字母開始。[單選題]37.有如下定義:inta[5]=1,3,5,7,9),*p=a;下列表達(dá)式中不能得到數(shù)值5的是()。A.a[2]B.a[3]C.*(p+2)D.*p+4參考答案:B參考解析:數(shù)組下標(biāo)是從0開始記起的,a[3]=7。*(p+2)等價(jià)于a[2]=5。*p+4等價(jià)于a[0]+4=5。[單選題]38.下列有關(guān)抽象類和純虛函數(shù)的敘述中,錯(cuò)誤的是()。A.擁有純虛函數(shù)的類是抽象類,不能用來定義對(duì)象B.抽象類的派生類若不實(shí)現(xiàn)純虛函數(shù),它也是抽象類C.純虛函數(shù)的聲明以“=0;”結(jié)束D.純虛函數(shù)都不能有函數(shù)體參考答案:D參考解析:擁有純虛函數(shù)的類稱為抽象類,抽象類不能定義對(duì)象。如果一個(gè)抽象類的派生類沒有重定義來自基類的某個(gè)純虛函數(shù),則該函數(shù)在派生類中也是純虛函數(shù),派生類也是抽象類,純虛函數(shù)可以有函數(shù)體。[單選題]39.下列語(yǔ)句分別是不同程序中的第一個(gè)輸入輸出語(yǔ)句,若去掉其中的“<A.cout<B.cout<C.cout<D.cout<參考答案:B參考解析:C++中控制對(duì)齊方式的操作符包括center、left和right。設(shè)置對(duì)齊方式一般在設(shè)置輸出寬度的情況下才會(huì)生效,所以AD兩項(xiàng)中的left有無(wú)都無(wú)所謂。C項(xiàng)輸出字符長(zhǎng)度與設(shè)置寬度相同,對(duì)齊方式也無(wú)作用。[單選題]40.有如下程序:運(yùn)行時(shí)的輸出結(jié)果是()。A.1111B.1211C.1112D.1212參考答案:C參考解析:a是基類的對(duì)象,執(zhí)行GAa:sliow(a)、display(a)時(shí),調(diào)用a.f()時(shí)調(diào)用的是基類的成員函數(shù)輸出11,b是派生類的對(duì)象,執(zhí)行GBb:show(b)時(shí),參數(shù)采用的是按值傳遞,b是GA類對(duì)象,調(diào)用b.f()時(shí)調(diào)用基類的成員函數(shù)輸出1。執(zhí)行display(b)時(shí),display函數(shù)參數(shù)采用的是地址傳遞,調(diào)用的是派生類的成員函數(shù)輸出2。[問答題]1.請(qǐng)使用“答題”菜單或使用VC6打開考生文件夾proj1下的工程文件proj1。此工程包含程序文件main.cpp,其中有類Door和主函數(shù)main的定義。程序中位于每個(gè)“//ERROR*********found*********”下的語(yǔ)句行有錯(cuò)誤,請(qǐng)加以更正。更正后程序的輸出應(yīng)該是:打開503號(hào)門...門是鎖著的,打不開。打開503號(hào)門的鎖...鎖開了。打開503號(hào)門...門打開了。打開503號(hào)門...門是開著的,無(wú)須再開門。鎖上503號(hào)門...先關(guān)門...門鎖上了。注意:只能修改每個(gè)“//ERROR********found*********”下的那一行,不要改動(dòng)程序中的其他內(nèi)容。參考答案:第1處:Door(intn):num(n),closed(true),locked(true)第2處:voidopen()第3處:if(!closed)或if(!isClosed)或if(isOpened(j)解析:第1處將lock改為locked,因?yàn)殒i門的函數(shù)表達(dá)式應(yīng)為locked,并且下面的鎖門的函數(shù)也是locked與之對(duì)應(yīng)。第2處考查的是const函數(shù),該類方法改變了類的屬性,不應(yīng)該用const,應(yīng)該刪掉成員函數(shù)的限定符const,將voidopen()const改成voidopen()。第3處考查的是邏輯性,因?yàn)閠rue表示的是門關(guān)著,所以表示門開著應(yīng)該與之相反,所以應(yīng)該改為if(!closed)或if(!isClosed)或if(isOpened())。[問答題]2.請(qǐng)使用“答題”菜單或使用VC6打開考生文件夾proj1下的工程文件proj1,程序中位于每個(gè)“//ERROR*********found*********”下的語(yǔ)句行有錯(cuò)誤,請(qǐng)加以更正。更正后程序的輸出應(yīng)該是:Name:SmithAge:21ID:99999CourseNum:12Record:970注意:只能修改每個(gè)“//ERROR*********found*********”下的那一行,不要改動(dòng)程序中的其他內(nèi)容。源程序如下:參考答案:第1處:Char*Name;第2處:StudentInfo(char*name,intage,intID,intcourseNum,floatrecord);第3處:voidStudentInfo::show()const解析:第1處應(yīng)該定義一個(gè)指向字符型的指針char*Name,并與下面的函數(shù)語(yǔ)句(char*name,intage,intID,intcourseNum,floatrecord)對(duì)應(yīng),所以應(yīng)該將charName[30]修改為char*Name。第2處因?yàn)樵摵瘮?shù)內(nèi)有返回值Record/CourseNum,所以應(yīng)該刪掉void。第3處const表示對(duì)上一個(gè)函數(shù)的重載,所以需要加上const,改為voidStudentInfo::show()const。[問答題]3.請(qǐng)使用“答題”菜單或使用VC6菜單打開考生文件夾proj2下的工程proj2,其中包含抽象類Shape的聲明,以及在此基礎(chǔ)上派生出的類Rectangle和Circle的聲明,兩者都有計(jì)算對(duì)象面積的函數(shù)GetArea()和計(jì)算對(duì)象周長(zhǎng)的函數(shù)GetPerim()。TheareaoftheCircleis78.5TheperimeteroftheCircleis31.4TheareaoftheRectangleis24TheperimeteroftheRectangleis20注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不能刪除或移動(dòng)“//**********found**********”。源程序如下:參考答案:第1處:virtual第2處:virtual第3處:itsLength(len),itsWidth(width)或itsWidth(width),itsLength(len)第4處Shape*sp;解析:由于第1、2兩處后面的代碼為“floatGetArea()=0”及“floatGetPerim()=0”這兩個(gè)成員函數(shù)必為純虛函數(shù),在C++中,定義虛擬函數(shù)要使用“virtual”關(guān)鍵字,故第1、2兩處應(yīng)填“virtual”。第3處的作用是利用構(gòu)造函數(shù)的形參初始化類成員變量itswidth、itsLength;故第3空應(yīng)填“itsWidth(width),itsLength(len)”或其等效形式;第4處由“sp=newCircle(5);”及“sp=newRectangle(4,6);”已知sp為一指向Circle及Rectangle共同基類的指針,即sp為shape型指針,第4空為“Shape*sp;”。[問答題]4.請(qǐng)使用“答題”菜單或使用VC6菜單打開考生文件夾proj2下的工程proj2。此工程包含一個(gè)程序文件main.cpp,其中有日期類Date、人員類Person以及排序函數(shù)sortByAge和主函數(shù)main的定義。請(qǐng)?jiān)诔绦蛑械臋M線處填寫適當(dāng)?shù)拇a,然后刪除橫線,以實(shí)現(xiàn)該程序。此程序的正確輸出結(jié)果應(yīng)為:排序前:張三男出生日期:1978年4月20日王五女出生日期:1965年8月3日楊六女出生日期:1965年9月5日李四男出生日期:1973年5月30日排序后:張三男出生日期:1978年4月20日李四男出生日期:1973年5月30日楊六女出生日期:1965年9月5日王五女出生日期:1965年8月3日注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不能刪除或移動(dòng)“//**********found**********”。源程序如下:參考答案:第1處:name第2處:n=P.birth_data.getMonth()-birth_data.get-Month();或n=birth_data.getMonth()+P.birth_data.get-Month();第3處(is_male?”男”:”女”)第4處ps[m];解析:第1處是將this->name復(fù)制到name上,所以填name。第2處是比較兩個(gè)人的出生的月份的大小,根據(jù)上下幾句的程序可以推斷出該處的格式應(yīng)為n=p.birth_dat
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物質(zhì)能源技術(shù)在辦公設(shè)備中的應(yīng)用
- 《主題一 跟著節(jié)氣去探究》(說課稿)-2023-2024學(xué)年四年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)遼師大版
- 生產(chǎn)現(xiàn)場(chǎng)安全管理在移動(dòng)企業(yè)的應(yīng)用與實(shí)踐
- 班組協(xié)同工作與目標(biāo)管理研究
- 環(huán)境科學(xué)在災(zāi)害應(yīng)對(duì)中的角色
- 生態(tài)農(nóng)業(yè)在辦公環(huán)境中的綠色實(shí)踐
- 深入探討生產(chǎn)安全管理與預(yù)防策略培訓(xùn)要點(diǎn)
- 2023三年級(jí)英語(yǔ)上冊(cè) Unit 4 Family Lesson 20 Li Ming's Family說課稿 冀教版(三起)
- 現(xiàn)代企業(yè)轉(zhuǎn)型中的辦公室設(shè)計(jì)與發(fā)展規(guī)劃方案解讀
- 14 窮人 說課稿-2024-2025學(xué)年語(yǔ)文六年級(jí)上冊(cè)統(tǒng)編版
- 2025公司借款合同范本借款合同
- 閩教版(2020)小學(xué)信息技術(shù)三年級(jí)上冊(cè)第2課《人工智能在身邊》說課稿及反思
- 語(yǔ)文-百師聯(lián)盟2025屆高三一輪復(fù)習(xí)聯(lián)考(五)試題和答案
- 地理-山東省濰坊市、臨沂市2024-2025學(xué)年度2025屆高三上學(xué)期期末質(zhì)量檢測(cè)試題和答案
- 正面上手發(fā)球技術(shù) 說課稿-2023-2024學(xué)年高一上學(xué)期體育與健康人教版必修第一冊(cè)
- 佛山市普通高中2025屆高三下學(xué)期一??荚嚁?shù)學(xué)試題含解析
- 機(jī)械制造技術(shù)-成都工業(yè)學(xué)院中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 電解槽檢修施工方案
- 正常分娩 分娩機(jī)制 助產(chǎn)學(xué)課件
- 廣東縣級(jí)農(nóng)商銀行聯(lián)社高管候選人公開競(jìng)聘筆試有關(guān)事項(xiàng)上岸提分題庫(kù)3套【500題帶答案含詳解】
- 中國(guó)成人住院患者高血糖管理目標(biāo)專家共識(shí)課件
評(píng)論
0/150
提交評(píng)論