國家二級(jí)(C++)筆試模擬試卷152(題后含答案及解析)_第1頁
國家二級(jí)(C++)筆試模擬試卷152(題后含答案及解析)_第2頁
國家二級(jí)(C++)筆試模擬試卷152(題后含答案及解析)_第3頁
國家二級(jí)(C++)筆試模擬試卷152(題后含答案及解析)_第4頁
國家二級(jí)(C++)筆試模擬試卷152(題后含答案及解析)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

國家二級(jí)(C++)筆試模擬試卷152(題后含答案及解析)題型有:1.選擇題2.填空題選擇題(每小題2分,共70分)下列各題A、B、C、D四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上。1.?dāng)?shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及A.?dāng)?shù)據(jù)的存儲(chǔ)結(jié)構(gòu)B.計(jì)算方法C.?dāng)?shù)據(jù)映象D.邏輯存儲(chǔ)正確答案:A解析:數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)元素及其之間的相互關(guān)系和數(shù)據(jù)運(yùn)算的一門學(xué)科,它包含3個(gè)方面的內(nèi)容,即數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和數(shù)據(jù)的運(yùn)算。2.串的長度是A.串中不同字符的個(gè)數(shù)B.串中不同字母的個(gè)數(shù)C.串中所含字符的個(gè)數(shù)且字符個(gè)數(shù)大于零D.串中所含字符的個(gè)數(shù)正確答案:D解析:串的長度指的是串中的字符的個(gè)數(shù),且其字符個(gè)數(shù)可以為零。3.在計(jì)算機(jī)中,算法是指A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢方法正確答案:B解析:計(jì)算機(jī)算法是指解題方案的準(zhǔn)確而完整的描述,它有以下幾個(gè)基本特征:可行性、確定性、有窮性和擁有足夠的情報(bào)。4.以下不屬于對(duì)象的基本特點(diǎn)的是A.分類性B.多態(tài)性C.繼承性D.封裝性正確答案:C解析:對(duì)象有如下一些基本特點(diǎn),即標(biāo)識(shí)唯一性、分類性、多態(tài)性、封裝性和模塊獨(dú)立性。5.開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做A.軟件投機(jī)B.軟件危機(jī)C.軟件工程D.軟件產(chǎn)生正確答案:B解析:軟件工程概念的出現(xiàn)源自軟件危機(jī)。所謂軟件危機(jī)是泛指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題??傊?,可以將軟件危機(jī)歸結(jié)為成本、質(zhì)量、生產(chǎn)率等問題。6.下面不屬于軟件設(shè)計(jì)原則的是A.抽象B.模塊化C.自底向上D.信息隱蔽正確答案:C解析:軟件設(shè)計(jì)遵循軟件工程的基本目標(biāo)和原則,建立了適用于在軟件設(shè)計(jì)中應(yīng)該遵循的基本原理和與軟件設(shè)計(jì)有關(guān)的概念,它們是抽象、模塊化、信息隱蔽和數(shù)據(jù)獨(dú)立性。自底向上是集成測(cè)試中增量測(cè)試的一種。7.開發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重正確答案:A解析:軟件的顯著特點(diǎn)是規(guī)模龐大,復(fù)雜度超線性增長,在開發(fā)大型軟件時(shí),要保證高質(zhì)量,極端復(fù)雜困難,不僅涉及技術(shù)問題,更重要的是必須要有嚴(yán)格而科學(xué)的管理。8.下列SQL語句中,用于修改表結(jié)構(gòu)的是A.ALTERB.CREATEC.UPDATED.INSERT正確答案:A解析:SQL語句中凡創(chuàng)建都用CREATE,刪除都用DROP,改變用ALTER,再跟類型和名字,附加子句。9.?dāng)?shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系是A.?dāng)?shù)據(jù)庫包括數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)B.?dāng)?shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)C.?dāng)?shù)據(jù)庫管理系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)D.三者沒有明顯的包含關(guān)系正確答案:B解析:數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,簡稱DBS)包括數(shù)據(jù)庫(DataBase,簡稱DB)、數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)、數(shù)據(jù)庫管理員、硬件和軟件。10.關(guān)系模型允許定義3類數(shù)據(jù)約束,下列不屬于數(shù)據(jù)約束的是A.實(shí)體完整性約束B.參照完整性約束C.域完整性約束D.用戶自定義的完整性約束正確答案:C解析:關(guān)系模型允許定義3類數(shù)據(jù)約束,它們是實(shí)體完整性約束、參照完整性約束及用戶自定義的完整性約束。其中前兩種完整性約束由關(guān)系數(shù)據(jù)庫系統(tǒng)支持,對(duì)于用戶自定義的完整性約束,則由關(guān)系數(shù)據(jù)庫系統(tǒng)提供完整性約束語言,用戶利用該語言給出約束條件,運(yùn)行時(shí)由系統(tǒng)自動(dòng)檢查。11.下列關(guān)于C++語言類的描述中錯(cuò)誤的是A.類用于描述事物的屬性和對(duì)事物的操作B.類與類之間通過封裝而具有明確的獨(dú)立性C.類與類之間必須是平等的關(guān)系,不能組成層次結(jié)構(gòu)D.類與類之間可以通過一些方法進(jìn)行通信和聯(lián)絡(luò)正確答案:C解析:C++語言中的類是可以組成層次結(jié)構(gòu)的,類是用于描述事物的屬性和對(duì)事物的操作,類與類之間有相對(duì)的獨(dú)立性,但其可以通過一些方法進(jìn)行信息的通信。12.在C++語言中,表示一條語句結(jié)束的標(biāo)號(hào)是A.#B.;C.//D.}正確答案:B解析:C++語言中語句的結(jié)束符是分號(hào)。13.以下敘述中正確的是A.構(gòu)成C++語言程序的基本單位是類B.可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)C.main()函數(shù)必須放在其他函數(shù)之前D.所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義正確答案:A解析:關(guān)于C++語言,我們應(yīng)該了解以下必須要掌握的基礎(chǔ)知識(shí):①c++程序是由類構(gòu)成的。②一個(gè)函數(shù)由兩部分組成:函數(shù)的首部和函數(shù)體。③一個(gè)類由兩部分組成:類成員變量和類成員函數(shù)。④一個(gè)C++程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在整個(gè)程序中的位置如何(main函數(shù)可以放在程序最前頭,也可以放在程序最后,或?qū)懺谝恍┖瘮?shù)之前,在另一些函數(shù)之后)。⑤C++程序在書寫上,表現(xiàn)形式比較自由,一行內(nèi)可以寫幾個(gè)語句,一個(gè)語句可以分寫在幾行上。每個(gè)語句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào)。⑥可以用/*……*/和//對(duì)C++語言的程序的任何部分作注釋。14.已知有定義:constintD=5;inti=1;doublef=0.32;charc=15;則下列選項(xiàng)錯(cuò)誤的是A.++i;B.D--;C.c++;D.--f;正確答案:B解析:“++”,“--”運(yùn)算符不能用于常量。15.以下程序的輸出結(jié)果是#include<iostream.h>voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}voidmain(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10;i++)s+=b[i];cout<<S;}A.22B.10C.34D.30正確答案:A解析:在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個(gè)成員進(jìn)行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},在執(zhí)行for循環(huán)結(jié)構(gòu)后,將b[6],b[7]……b[9]的值相加,結(jié)果為1+2+9+10=22。注意:在計(jì)算累加和時(shí),應(yīng)將累加變量賦值為零。16.下面程序的功能是把316表示為兩個(gè)加數(shù)的和,使兩個(gè)加數(shù)分別能被13和11整除,在下畫線處應(yīng)填入的選項(xiàng)是#include<iostream.h>Voidmain(){inti=0,j,k;do{i++;k=316-13*i;}while(____);j=k/11;cout<<“316=13*“<<i<<“+11*”<<j;}A.k/11B.k%11C.k/11=0D.k%11=0正確答案:B解析:do…while語句的一般形式是do{語句}while(表達(dá)式);特點(diǎn)是:“直到型”循環(huán)結(jié)構(gòu)。先執(zhí)行一次“語句”,判“表達(dá)式”,當(dāng)“表達(dá)式”為非0,再執(zhí)行“語句”,直到“表達(dá)式”的值為0時(shí)停止執(zhí)行語句。在一般情況下,用while和do…while語句解決同一問題時(shí),若二者的循環(huán)體部分是一樣的,它們的結(jié)果也一樣。但當(dāng)while后面的“表達(dá)式”一開始就為“假”時(shí),兩種循環(huán)的結(jié)果不同。這是因?yàn)榇藭r(shí)while循環(huán)的循環(huán)不被執(zhí)行,而do…while循環(huán)的循環(huán)體被執(zhí)行一次。本題的關(guān)鍵是兩個(gè)加數(shù)分別能被13和11整除,在i=0時(shí),直接將316賦值給k,當(dāng)k%11的值為0時(shí),則不必執(zhí)行循環(huán),將執(zhí)行j=k/11語句,輸出結(jié)果,所以該表達(dá)式合理的條件是k%11。17.設(shè)有數(shù)組定義:chararray[]=”China”;,則數(shù)組array所占的空間為A.4個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)正確答案:C解析:在給數(shù)組賦值時(shí),可以用一個(gè)字符串作為初值,這種方法直觀、方便,而且符合人們的習(xí)慣。數(shù)組array的長度不是5,而是6,這點(diǎn)必須要注意。因?yàn)樽址A康淖詈笥上到y(tǒng)加上一個(gè)’\0’,因此,上面的初始化與下面的等價(jià):Chararray[]={‘C’,’h’,’i’,’n’,’a’,’\0’};18.若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對(duì)a數(shù)組元素不正確的引用是A.a(chǎn)[p-a]B.*(&a[1])C.p[1]D.a(chǎn)[10]正確答案:D解析:通常,引用一個(gè)數(shù)組元素可以用下標(biāo)法,如a[p-a]形式,或指針法,如*(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開始的。19.以下程序的輸出結(jié)果是#include<iostream.h>voidmain(){intx=1,y=3;cout<<x++<<“,”;{intx=0;x+=y(tǒng)*2;cout<<x<<”,”<<y<<”,”;}cout<<x<<“,”<<y;}A.1,6,3,1,3B.1,6,3,6,3C.1,6,3,2,3D.1,7,3,2,3正確答案:C解析:在cout<<x++;語句中,程序先輸出x的值,然后再加1,所以結(jié)果為1,此時(shí)x的值為2;在intx=0;x+=y(tǒng)*2;語句中,將0的值賦給x,然后運(yùn)算x+=y(tǒng)*2的值,結(jié)果為x=6(此時(shí)x的值為局部變量),y的值不變,最后執(zhí)行了x語句后的值,所以應(yīng)為2。20.函數(shù)fun的返回值是fun(char*a,char*b){intnum=0,n=0;while(*(a+num)!=’\0’)num++;while(b[n]){*(a+num)=b[n];num++;n++;}returnnum;}A.字符串a(chǎn)的長度B.字符串b的長度C.字符串a(chǎn)和b的長度之差D.字符串a(chǎn)和b的長度之和正確答案:D解析:本題首先通過第一個(gè)while循環(huán)計(jì)算字符串a(chǎn)的長度,再通過第二個(gè)循環(huán),將字符串a(chǎn)和b相連,最后返回連接后的總長度。21.下面程序輸出的結(jié)果是#include<iostream.h>voidmain(){inti;inta[3][3]={1,2,3,4,5,6,7,8,91;for(i=0;i<3;i++)cout<<a[2-i][i]<<““;}A.159B.753C.357D.591正確答案:B解析:首先,當(dāng)i=0時(shí),數(shù)組中的位置是a[2][0]=7,當(dāng)然,如果用排除法的話,就不用考慮后面的循環(huán)了,因?yàn)樵?個(gè)選項(xiàng)中,第1個(gè)數(shù)為7的選項(xiàng)只有B)。本題執(zhí)行第2次循環(huán)時(shí),i的值為1,則cout函數(shù)中的數(shù)組指向?yàn)閍[1][1]=5,依次循環(huán),可求出答案。22.下面程序的結(jié)果為#include<iostream.h>intc;classA{private:inta;staticintb;public:A(){a=0;c=0;}voidseta(){a++;}voidsetb(){b++;}voidsetc(){c++;}voiddisplay(){cout<<a<<““<<b<<““<<c;}};intA::b=0;voidmain(){Aa1,a2;a1.seta();a1.setb();al.setc();a2.seta();a2.setb();a2.setc();a2.display();}A.121B.122C.112D.222正確答案:B解析:C++語言中全局變量是任何函數(shù)都可以改變的量,靜態(tài)變量的有效范圍在定義它的類中,而普通的變量的有效性只在使用它的函數(shù)中,在本題中c為全局變量,b為靜態(tài)變量,a為普通變量,b和c在類A的對(duì)象a1和s2中都自加1。所以b、c為2,a為1。23.下列描述中哪個(gè)是正確的?A.私有派生的子類無法訪問父類的成員B.類A的私有派生子類的派生類C無法初始化其祖先類A對(duì)象的屬性,因?yàn)轭怉的成員對(duì)類C是不可訪問的C.私有派生類不能作為基類派生子類D.私有派生類的所有子孫類將無法繼續(xù)繼承該類的成員正確答案:B解析:C++語言中一個(gè)派生類能不能繼承基類的所有數(shù)據(jù)成員受繼承方式的限制。24.下列關(guān)于構(gòu)造函數(shù)說法不正確的是A.構(gòu)造函數(shù)必須與類同名B.構(gòu)造函數(shù)可以省略不寫C.構(gòu)造函數(shù)必須有返回值D.在構(gòu)造函數(shù)中可以對(duì)類中的成員進(jìn)行初始化正確答案:C解析:構(gòu)造函數(shù)是一類特殊的函數(shù),其特點(diǎn)是函數(shù)名與類同名,沒有返回值,也可以省略不寫,還可以對(duì)類中的成員進(jìn)行初始化。25.如果友元函數(shù)重載一個(gè)運(yùn)算符時(shí),其參數(shù)表中沒有任何參數(shù)則說明該運(yùn)算符是A.一元運(yùn)算符B.二元運(yùn)算符C.選項(xiàng)A)和選項(xiàng)B)都可能D.重載錯(cuò)誤正確答案:D解析:C++中用友元函數(shù)重載運(yùn)算符至少有一個(gè)參數(shù),重載一目運(yùn)算符要有一個(gè)參數(shù),重載二目運(yùn)算符要有兩個(gè)參數(shù)。26.在重載一個(gè)運(yùn)算符時(shí),如果其參數(shù)表中有一個(gè)參數(shù),則說明該運(yùn)算符是A.一元成員運(yùn)算符B.二元成員運(yùn)算符C.一元友元運(yùn)算符D.選項(xiàng)B)和選項(xiàng)C)都可能正確答案:D解析:C++語言中用成員函數(shù)重載時(shí),重載一目運(yùn)算符沒有參數(shù),重載二日運(yùn)算符要有一個(gè)參數(shù)。27.下列關(guān)于模板的說法正確的是A.模板的實(shí)參在任何時(shí)候都可以省略B.類模板與模板類所指的是同一概念C.類模板的參數(shù)必須是虛擬類型的D.類模板中的成員函數(shù)全部都是模板函數(shù)正確答案:D解析:在C++中規(guī)定,如果一個(gè)類被聲明為類模板,那么其中的所有成員函數(shù)就都成為了模板函數(shù)。28.表示在輸出時(shí)顯示小數(shù)位,以及在文件輸入時(shí)判斷文件尾的函數(shù)分別是A.showbase()和eof()B.showpoint()和eof()C.showpoint()和bad()D.showpoint()和good()正確答案:B解析:表示在輸出時(shí)顯示小數(shù)位,以及在文件輸入時(shí)判斷文件尾的函數(shù)分別是showpoint()和eof()。29.下面程序段的運(yùn)行結(jié)果是voidmain(){intt,a,b,C;a=1;b=2;C=2;while(a<b<c){t=a;a=b;b=t;c--;}cout<<a<<“,”<<b<<“,”<<C;}A.1,2,0B.2,1,0C.1,2,1D.2,1,1正確答案:A解析:本題中(a<b<c)的運(yùn)算次序是先算a<b,返回1,再運(yùn)算1<c,返回1,所以表達(dá)式a<b<c的值為1。30.下列程序中下畫線處應(yīng)填入的語句是classBase{public:voidfun(){cout<<“Baseoffun”<<endl;}};classDerived:publicBase{voidfun(){______//顯示基類的成員函數(shù)funcout<<“Derivedoffun”<<endl;}};A.fun();B.Base.fun();C.Base::fun();D.Base->fun();正確答案:C解析:如果在子類中要訪問父類的函數(shù)應(yīng)用“::”運(yùn)算符。31.若定義intk=7,x=12;,則能使值為3的表達(dá)式是A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)正確答案:D解析:運(yùn)算符“%”的兩側(cè)都應(yīng)該是整型數(shù)。另外,本題需要掌握的知識(shí)點(diǎn)是x%=k等價(jià)于x=x%k。32.在位運(yùn)算中,操作數(shù)每右移一位,其結(jié)果相當(dāng)于A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)乘以4D.操作數(shù)除以4正確答案:B解析:右移運(yùn)算符“>>”是雙目運(yùn)算符。其功能是把“>>”左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,“>>”右邊的數(shù)指定移動(dòng)的位數(shù)。例如:設(shè)a=15,a>>2表示把000001111右移為00000011(十進(jìn)制3)。33.有以下結(jié)構(gòu)體說明和變量的定義,且指針p指向變量a,指針q指向變量b。則不能把節(jié)點(diǎn)b連接到節(jié)點(diǎn)a之后的語句是structnode{chardata;stmctnode*next;}a,b,*p=&a,*q=&b;A.a(chǎn).next=q;B.p.next=&b;C.p->next=&b;D.(*p).next=q;正確答案:B解析:要把節(jié)點(diǎn)b連接到節(jié)點(diǎn)a之后,必須把b的地址給a的next指針,選項(xiàng)A)中,指針變量q保存的就是變量b的地址,選項(xiàng)B)中的p是指針變量,應(yīng)該是p->next=&b;在選項(xiàng)D)中,用*運(yùn)算符取出結(jié)構(gòu)體變量,并且保存的就是b的地址,所以正確。34.一個(gè)類的友元函數(shù)能夠訪問該類的A.私有成員B.保護(hù)成員C.公有成員D.所有成員正確答案:D解析:一個(gè)類的友元函數(shù)對(duì)類成員的訪問能力等同于類的成員函數(shù),即能訪問類的所有成員。35.下面程序的輸出結(jié)果是#include<iostream.h>#include<string.h>voidmain(){charp1[10],p2[10];strcpy(p1,”abc”);strcpy(p2,”ABC”);charstr[50]=”xyz”;strcpy(str+2,strcat(p1,p2));cout<<str;}A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC正確答案:C解析:該函數(shù)的調(diào)用方式是strcpy(字符數(shù)組,字符串),其中“字符串”可以是串常量,也可以是字符數(shù)組。函數(shù)的功能是將“字符串”完整地復(fù)制到“字符數(shù)組”中,字符數(shù)組中原有內(nèi)容被覆蓋。使用該函數(shù)時(shí)注意:①字符數(shù)組必須定義得足夠大,以便容納復(fù)制過來的字符串。復(fù)制時(shí),連同結(jié)束標(biāo)志’\0’一起復(fù)制。②不能用賦值運(yùn)算符“=”將一個(gè)字符串直接賦值給一個(gè)字符數(shù)組,只能用strcpy()函數(shù)來處理。strcat(字符數(shù)組,字符串)的功能是把“字符串”連接到“字符數(shù)組”中的字符串尾端,并存儲(chǔ)于“字符數(shù)組”中?!白址麛?shù)組”中原來的結(jié)束標(biāo)志被“字符串”的第一個(gè)字符覆蓋,而“字符串”在操作中未被修改。使用該函數(shù)時(shí)注意:①由于沒有邊界檢查,編程者要注意保證“字符數(shù)組”定義得足夠大,以便容納連接后的目標(biāo)字符串;否則,會(huì)因長度不夠而產(chǎn)生問題。②連接前兩個(gè)字符串都有結(jié)束標(biāo)志’\0’,連接后“字符數(shù)組”中存儲(chǔ)的字符串的結(jié)束標(biāo)志’\0’被舍棄,只在目標(biāo)串的最后保留一個(gè)’\0’。填空題(每空2分,共30分)請(qǐng)將每一個(gè)空的正確答案寫在答題卡上。注意:以命令關(guān)鍵字填空的必須拼寫完整。36.算法的基本特征是可行性、確定性、______和擁有足夠的情報(bào)。正確答案:有窮性解析:算法是指解題方案的準(zhǔn)確而完整的描述。它有4個(gè)基本特征,分別是可行性、確定性、有窮性和擁有足夠的情報(bào)。37.在長度為n的有序線性表中進(jìn)行二分查找。最壞的情況下,需要的比較次數(shù)為______。正確答案:log2n解析:對(duì)于長度為n的有序線性表,在最壞情況下,二分查找只需要比較log2n次,而順序查找需要比較n次。38.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組______。正確答案:對(duì)象解析:將屬性、操作相似的對(duì)象歸為類,也就是說,類是具有共同屬性、共同方法的對(duì)象的集合。39.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為______。正確答案:軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用及維護(hù)等活動(dòng)。40.?dāng)?shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和______3種。正確答案:關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。41.執(zhí)行語句序列charstr1[10]=“ABCD”,str2[10]=“XYZxyz”;for(inti=0;strl[i]=str2[i];i++);后,數(shù)組strl中的字符串是______。正確答案:XYZxyz解析:注意for的循環(huán)體為空語句,其第二個(gè)表達(dá)式為一個(gè)賦值語句而不是一個(gè)邏輯表達(dá)式語句。因此,for循環(huán)的作用實(shí)際上是將str2的字符逐個(gè)賦值給str1中的對(duì)應(yīng)位置。42.下列程序的執(zhí)行結(jié)果是______。#include<lostream.h>inta;intsum_a(void){a=a+5;returna;}voidmain(void){a=a+sum_a();cout<<a<<endl;}正確答案:10解析:本題考查全局變量的使用。全局變量被系統(tǒng)默認(rèn)初始化為0,故在執(zhí)行a=a+sum-a();語句時(shí),首先執(zhí)行sum_a函數(shù),將a的值改變?yōu)?,該函數(shù)的返回值也是5,故最后a的值被賦值為10。43.根據(jù)輸出結(jié)果填空完成下面程序。#include<iostream.h>classTest{private:staticintval;inta;public:staticintfunc();voidsfunc(Test&r);};______//初始化靜態(tài)變量valintTest::func(){returnval++;}voidTest::sfunc(Test&r){r.a=125;cout<<”Result3=“<<r.a;}voidmain(){cout<<”Resultl=“<<Test::func()<<endl;TestA;cout<<”Result2=“<<A.fune()<<endl;A.sfunc(A);}輸出結(jié)果為:Result1=201Result2=202Result3=125正確答案:intTest::val=200;解析:類的靜態(tài)成員變量必須要進(jìn)行初始化才能使用,初始化時(shí)需要用域限定符::指明該變量所屬的類名。44.下列程序的運(yùn)行結(jié)果是______。#include<iostream.h>classtest{private:inthum;public:test();intTEST(){returnnum+100;)~test();};test::test(){num=0;)test::~test(){cout<<”Destructorisactive”<<endl;)voidmain(){testx[3];cout<<x[1].TEST()<<endl;}正確答案:100DestructorisactiveDestructorisactiveDestructorisactive解析:本題比較簡單,考查考生基本的類的定義,構(gòu)造函數(shù)以及對(duì)象數(shù)組的概念。45.請(qǐng)將下列類定義補(bǔ)充完整。classBase{public:voidfun(){cout<<”Base::fun”<<endl;}};classDerived:publicBase{public:voidfun(){______//顯式調(diào)用基類的fun函數(shù)cout<<”Derived::fun”<<endl;}};正確答案:Base::fun();解析:本題考核虛基類。作用域分辨符號(hào)是”::”,它可以用來限定要訪問的成員所在的類的名稱。一般來說,在派生類中對(duì)基類成員的訪問應(yīng)該是唯一的。但是,多繼承情況下可能造成對(duì)基類中某個(gè)成員的訪問出現(xiàn)不唯一的情況,通過使用對(duì)象作用域分辨符可以解決這種對(duì)基類成員訪問的二義性問題。46.有以下程序:#include<iostream.h>classA{intx;public:A(inta){x=a;}friendclassB;};ClassB{public:voidprint(Aa){a.x--;cout<<a.x<<endl;}};voidmain(){Aa(10);Bb;b.print(a);}程序執(zhí)行后的輸出結(jié)果是______正確答案:9解析:本題考核友元類的應(yīng)用。在程序中,類B是類A的友元類,因此,在類B的所有成員函數(shù)中均可訪問類A的任何成員。在main()中,先定義類A的一個(gè)對(duì)象a(10)和類B的一個(gè)對(duì)象b。然后通過對(duì)象b調(diào)用其成員函數(shù)print輸出對(duì)象a的私有成員x的值減1即9。47.下列程序編譯時(shí)發(fā)現(xiàn)pb->f(10);語句出現(xiàn)錯(cuò)誤,其原因是______。#include<iostream.h>classBase{public:voidf(intx){cout<<”Base:”<<x<<endl;)};classDerived:publicBase{public:voidf(char*str){cout<<”Derived:”<<str<<endl;}};voidmain(void){Derived*pd=newDerived;Pd->f(10);}正確答案:數(shù)據(jù)類型不匹配解析:pd為派生類Derived的指針,指向派生類的成員函數(shù)f(char*Str),不指向基類的f(intx)。48.下列程序的運(yùn)行結(jié)果是______。#include<iostream.h>classSomeClass{public:SomeClass(intvalue){somevalue=value;);voidshow_data(voiD){cout<<data<<’’<<some_value<<endl;};staticvoidset_data(intvalue){data=value;};private:staticintdata;intsome_value;};intSomeClass::data=0;voidmain(void){SomeClassmy_class(1001),your_class(2002);your_class.set_data(4004);my_class.show_data();}正確答案:40041001解析:本題考查靜態(tài)成員變量在不同對(duì)象間的共享現(xiàn)象。無論哪個(gè)對(duì)象修改了其靜態(tài)變量的值,其他對(duì)象再訪問該變量時(shí)已經(jīng)發(fā)生了變化。49.有以下程序:#included<iostream>usingnamespacestd;classBase{public:Base(){x=0;}intx;};classDerived1:virtualpublicBase{public:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(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)論