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