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

下載本文檔

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

文檔簡(jiǎn)介

國(guó)家二級(jí)(C++)筆試模擬試卷152(題后含答案及解析)題型有:1.選擇題2.填空題選擇題(每小題2分,共70分)下列各題A、B、C、D四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上。1.?dāng)?shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門(mén)學(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)算的一門(mén)學(xué)科,它包含3個(gè)方面的內(nèi)容,即數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和數(shù)據(jù)的運(yùn)算。2.串的長(zhǎng)度是A.串中不同字符的個(gè)數(shù)B.串中不同字母的個(gè)數(shù)C.串中所含字符的個(gè)數(shù)且字符個(gè)數(shù)大于零D.串中所含字符的個(gè)數(shù)正確答案:D解析:串的長(zhǎng)度指的是串中的字符的個(gè)數(shù),且其字符個(gè)數(shù)可以為零。3.在計(jì)算機(jī)中,算法是指A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢(xún)方法正確答案:B解析:計(jì)算機(jī)算法是指解題方案的準(zhǔn)確而完整的描述,它有以下幾個(gè)基本特征:可行性、確定性、有窮性和擁有足夠的情報(bào)。4.以下不屬于對(duì)象的基本特點(diǎn)的是A.分類(lèi)性B.多態(tài)性C.繼承性D.封裝性正確答案:C解析:對(duì)象有如下一些基本特點(diǎn),即標(biāo)識(shí)唯一性、分類(lèi)性、多態(tài)性、封裝性和模塊獨(dú)立性。5.開(kāi)發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱(chēng)做A.軟件投機(jī)B.軟件危機(jī)C.軟件工程D.軟件產(chǎn)生正確答案:B解析:軟件工程概念的出現(xiàn)源自軟件危機(jī)。所謂軟件危機(jī)是泛指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題??傊梢詫④浖C(jī)歸結(jié)為成本、質(zhì)量、生產(chǎn)率等問(wè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.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重正確答案:A解析:軟件的顯著特點(diǎn)是規(guī)模龐大,復(fù)雜度超線性增長(zhǎng),在開(kāi)發(fā)大型軟件時(shí),要保證高質(zhì)量,極端復(fù)雜困難,不僅涉及技術(shù)問(wèn)題,更重要的是必須要有嚴(yán)格而科學(xué)的管理。8.下列SQL語(yǔ)句中,用于修改表結(jié)構(gòu)的是A.ALTERB.CREATEC.UPDATED.INSERT正確答案:A解析:SQL語(yǔ)句中凡創(chuàng)建都用CREATE,刪除都用DROP,改變用ALTER,再跟類(lèi)型和名字,附加子句。9.?dāng)?shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)之間的關(guān)系是A.?dāng)?shù)據(jù)庫(kù)包括數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)B.?dāng)?shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)C.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)系統(tǒng)D.三者沒(méi)有明顯的包含關(guān)系正確答案:B解析:數(shù)據(jù)庫(kù)系統(tǒng)(DataBaseSystem,簡(jiǎn)稱(chēng)DBS)包括數(shù)據(jù)庫(kù)(DataBase,簡(jiǎn)稱(chēng)DB)、數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem,簡(jiǎn)稱(chēng)DBMS)、數(shù)據(jù)庫(kù)管理員、硬件和軟件。10.關(guān)系模型允許定義3類(lèi)數(shù)據(jù)約束,下列不屬于數(shù)據(jù)約束的是A.實(shí)體完整性約束B(niǎo).參照完整性約束C.域完整性約束D.用戶(hù)自定義的完整性約束正確答案:C解析:關(guān)系模型允許定義3類(lèi)數(shù)據(jù)約束,它們是實(shí)體完整性約束、參照完整性約束及用戶(hù)自定義的完整性約束。其中前兩種完整性約束由關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)支持,對(duì)于用戶(hù)自定義的完整性約束,則由關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)提供完整性約束語(yǔ)言,用戶(hù)利用該語(yǔ)言給出約束條件,運(yùn)行時(shí)由系統(tǒng)自動(dòng)檢查。11.下列關(guān)于C++語(yǔ)言類(lèi)的描述中錯(cuò)誤的是A.類(lèi)用于描述事物的屬性和對(duì)事物的操作B.類(lèi)與類(lèi)之間通過(guò)封裝而具有明確的獨(dú)立性C.類(lèi)與類(lèi)之間必須是平等的關(guān)系,不能組成層次結(jié)構(gòu)D.類(lèi)與類(lèi)之間可以通過(guò)一些方法進(jìn)行通信和聯(lián)絡(luò)正確答案:C解析:C++語(yǔ)言中的類(lèi)是可以組成層次結(jié)構(gòu)的,類(lèi)是用于描述事物的屬性和對(duì)事物的操作,類(lèi)與類(lèi)之間有相對(duì)的獨(dú)立性,但其可以通過(guò)一些方法進(jìn)行信息的通信。12.在C++語(yǔ)言中,表示一條語(yǔ)句結(jié)束的標(biāo)號(hào)是A.#B.;C.//D.}正確答案:B解析:C++語(yǔ)言中語(yǔ)句的結(jié)束符是分號(hào)。13.以下敘述中正確的是A.構(gòu)成C++語(yǔ)言程序的基本單位是類(lèi)B.可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)C.main()函數(shù)必須放在其他函數(shù)之前D.所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義正確答案:A解析:關(guān)于C++語(yǔ)言,我們應(yīng)該了解以下必須要掌握的基礎(chǔ)知識(shí):①c++程序是由類(lèi)構(gòu)成的。②一個(gè)函數(shù)由兩部分組成:函數(shù)的首部和函數(shù)體。③一個(gè)類(lèi)由兩部分組成:類(lèi)成員變量和類(lèi)成員函數(shù)。④一個(gè)C++程序總是從main函數(shù)開(kāi)始執(zhí)行的,而不論main函數(shù)在整個(gè)程序中的位置如何(main函數(shù)可以放在程序最前頭,也可以放在程序最后,或?qū)懺谝恍┖瘮?shù)之前,在另一些函數(shù)之后)。⑤C++程序在書(shū)寫(xiě)上,表現(xiàn)形式比較自由,一行內(nèi)可以寫(xiě)幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句可以分寫(xiě)在幾行上。每個(gè)語(yǔ)句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào)。⑥可以用/*……*/和//對(duì)C++語(yǔ)言的程序的任何部分作注釋。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整除,在下畫(huà)線處應(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語(yǔ)句的一般形式是do{語(yǔ)句}while(表達(dá)式);特點(diǎn)是:“直到型”循環(huán)結(jié)構(gòu)。先執(zhí)行一次“語(yǔ)句”,判“表達(dá)式”,當(dāng)“表達(dá)式”為非0,再執(zhí)行“語(yǔ)句”,直到“表達(dá)式”的值為0時(shí)停止執(zhí)行語(yǔ)句。在一般情況下,用while和do…while語(yǔ)句解決同一問(wèn)題時(shí),若二者的循環(huán)體部分是一樣的,它們的結(jié)果也一樣。但當(dāng)while后面的“表達(dá)式”一開(kāi)始就為“假”時(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語(yǔ)句,輸出結(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的長(zhǎng)度不是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]形式,或指針?lè)ǎ?(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開(kāi)始的。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++;語(yǔ)句中,程序先輸出x的值,然后再加1,所以結(jié)果為1,此時(shí)x的值為2;在intx=0;x+=y(tǒng)*2;語(yǔ)句中,將0的值賦給x,然后運(yùn)算x+=y(tǒng)*2的值,結(jié)果為x=6(此時(shí)x的值為局部變量),y的值不變,最后執(zhí)行了x語(yǔ)句后的值,所以應(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)的長(zhǎng)度B.字符串b的長(zhǎng)度C.字符串a(chǎn)和b的長(zhǎng)度之差D.字符串a(chǎn)和b的長(zhǎng)度之和正確答案:D解析:本題首先通過(guò)第一個(gè)while循環(huán)計(jì)算字符串a(chǎn)的長(zhǎng)度,再通過(guò)第二個(gè)循環(huán),將字符串a(chǎn)和b相連,最后返回連接后的總長(zhǎng)度。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++語(yǔ)言中全局變量是任何函數(shù)都可以改變的量,靜態(tài)變量的有效范圍在定義它的類(lèi)中,而普通的變量的有效性只在使用它的函數(shù)中,在本題中c為全局變量,b為靜態(tài)變量,a為普通變量,b和c在類(lèi)A的對(duì)象a1和s2中都自加1。所以b、c為2,a為1。23.下列描述中哪個(gè)是正確的?A.私有派生的子類(lèi)無(wú)法訪問(wèn)父類(lèi)的成員B.類(lèi)A的私有派生子類(lèi)的派生類(lèi)C無(wú)法初始化其祖先類(lèi)A對(duì)象的屬性,因?yàn)轭?lèi)A的成員對(duì)類(lèi)C是不可訪問(wèn)的C.私有派生類(lèi)不能作為基類(lèi)派生子類(lèi)D.私有派生類(lèi)的所有子孫類(lèi)將無(wú)法繼續(xù)繼承該類(lèi)的成員正確答案:B解析:C++語(yǔ)言中一個(gè)派生類(lèi)能不能繼承基類(lèi)的所有數(shù)據(jù)成員受繼承方式的限制。24.下列關(guān)于構(gòu)造函數(shù)說(shuō)法不正確的是A.構(gòu)造函數(shù)必須與類(lèi)同名B.構(gòu)造函數(shù)可以省略不寫(xiě)C.構(gòu)造函數(shù)必須有返回值D.在構(gòu)造函數(shù)中可以對(duì)類(lèi)中的成員進(jìn)行初始化正確答案:C解析:構(gòu)造函數(shù)是一類(lèi)特殊的函數(shù),其特點(diǎn)是函數(shù)名與類(lèi)同名,沒(méi)有返回值,也可以省略不寫(xiě),還可以對(duì)類(lèi)中的成員進(jìn)行初始化。25.如果友元函數(shù)重載一個(gè)運(yùn)算符時(shí),其參數(shù)表中沒(méi)有任何參數(shù)則說(shuō)明該運(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ù),則說(shuō)明該運(yùn)算符是A.一元成員運(yùn)算符B.二元成員運(yùn)算符C.一元友元運(yùn)算符D.選項(xiàng)B)和選項(xiàng)C)都可能正確答案:D解析:C++語(yǔ)言中用成員函數(shù)重載時(shí),重載一目運(yùn)算符沒(méi)有參數(shù),重載二日運(yùn)算符要有一個(gè)參數(shù)。27.下列關(guān)于模板的說(shuō)法正確的是A.模板的實(shí)參在任何時(shí)候都可以省略B.類(lèi)模板與模板類(lèi)所指的是同一概念C.類(lèi)模板的參數(shù)必須是虛擬類(lèi)型的D.類(lèi)模板中的成員函數(shù)全部都是模板函數(shù)正確答案:D解析:在C++中規(guī)定,如果一個(gè)類(lèi)被聲明為類(lèi)模板,那么其中的所有成員函數(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.下列程序中下畫(huà)線處應(yīng)填入的語(yǔ)句是classBase{public:voidfun(){cout<<“Baseoffun”<<endl;}};classDerived:publicBase{voidfun(){______//顯示基類(lèi)的成員函數(shù)funcout<<“Derivedoffun”<<endl;}};A.fun();B.Base.fun();C.Base::fun();D.Base->fun();正確答案:C解析:如果在子類(lèi)中要訪問(wèn)父類(lèi)的函數(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)體說(shuō)明和變量的定義,且指針p指向變量a,指針q指向變量b。則不能把節(jié)點(diǎn)b連接到節(jié)點(diǎn)a之后的語(yǔ)句是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è)類(lèi)的友元函數(shù)能夠訪問(wèn)該類(lèi)的A.私有成員B.保護(hù)成員C.公有成員D.所有成員正確答案:D解析:一個(gè)類(lèi)的友元函數(shù)對(duì)類(lèi)成員的訪問(wèn)能力等同于類(lèi)的成員函數(shù),即能訪問(wèn)類(lèi)的所有成員。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ù)制過(guò)來(lái)的字符串。復(fù)制時(shí),連同結(jié)束標(biāo)志’\0’一起復(fù)制。②不能用賦值運(yùn)算符“=”將一個(gè)字符串直接賦值給一個(gè)字符數(shù)組,只能用strcpy()函數(shù)來(lái)處理。strcat(字符數(shù)組,字符串)的功能是把“字符串”連接到“字符數(shù)組”中的字符串尾端,并存儲(chǔ)于“字符數(shù)組”中。“字符數(shù)組”中原來(lái)的結(jié)束標(biāo)志被“字符串”的第一個(gè)字符覆蓋,而“字符串”在操作中未被修改。使用該函數(shù)時(shí)注意:①由于沒(méi)有邊界檢查,編程者要注意保證“字符數(shù)組”定義得足夠大,以便容納連接后的目標(biāo)字符串;否則,會(huì)因長(zhǎng)度不夠而產(chǎn)生問(wèn)題。②連接前兩個(gè)字符串都有結(jié)束標(biāo)志’\0’,連接后“字符數(shù)組”中存儲(chǔ)的字符串的結(jié)束標(biāo)志’\0’被舍棄,只在目標(biāo)串的最后保留一個(gè)’\0’。填空題(每空2分,共30分)請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡上。注意:以命令關(guān)鍵字填空的必須拼寫(xiě)完整。36.算法的基本特征是可行性、確定性、______和擁有足夠的情報(bào)。正確答案:有窮性解析:算法是指解題方案的準(zhǔn)確而完整的描述。它有4個(gè)基本特征,分別是可行性、確定性、有窮性和擁有足夠的情報(bào)。37.在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找。最壞的情況下,需要的比較次數(shù)為_(kāi)_____。正確答案:log2n解析:對(duì)于長(zhǎng)度為n的有序線性表,在最壞情況下,二分查找只需要比較log2n次,而順序查找需要比較n次。38.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類(lèi)描述的是具有相似性質(zhì)的一組______。正確答案:對(duì)象解析:將屬性、操作相似的對(duì)象歸為類(lèi),也就是說(shuō),類(lèi)是具有共同屬性、共同方法的對(duì)象的集合。39.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱(chēng)為_(kāi)_____。正確答案:軟件生命周期解析:軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用及維護(hù)等活動(dòng)。40.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)常見(jiàn)的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和______3種。正確答案:關(guān)系模型解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶(hù)與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶(hù)與數(shù)據(jù)庫(kù)之間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。41.執(zhí)行語(yǔ)句序列charstr1[10]=“ABCD”,str2[10]=“XYZxyz”;for(inti=0;strl[i]=str2[i];i++);后,數(shù)組strl中的字符串是______。正確答案:XYZxyz解析:注意for的循環(huán)體為空語(yǔ)句,其第二個(gè)表達(dá)式為一個(gè)賦值語(yǔ)句而不是一個(gè)邏輯表達(dá)式語(yǔ)句。因此,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();語(yǔ)句時(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;解析:類(lèi)的靜態(tài)成員變量必須要進(jìn)行初始化才能使用,初始化時(shí)需要用域限定符::指明該變量所屬的類(lèi)名。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解析:本題比較簡(jiǎn)單,考查考生基本的類(lèi)的定義,構(gòu)造函數(shù)以及對(duì)象數(shù)組的概念。45.請(qǐng)將下列類(lèi)定義補(bǔ)充完整。classBase{public:voidfun(){cout<<”Base::fun”<<endl;}};classDerived:publicBase{public:voidfun(){______//顯式調(diào)用基類(lèi)的fun函數(shù)cout<<”Derived::fun”<<endl;}};正確答案:Base::fun();解析:本題考核虛基類(lèi)。作用域分辨符號(hào)是”::”,它可以用來(lái)限定要訪問(wèn)的成員所在的類(lèi)的名稱(chēng)。一般來(lái)說(shuō),在派生類(lèi)中對(duì)基類(lèi)成員的訪問(wèn)應(yīng)該是唯一的。但是,多繼承情況下可能造成對(duì)基類(lèi)中某個(gè)成員的訪問(wèn)出現(xiàn)不唯一的情況,通過(guò)使用對(duì)象作用域分辨符可以解決這種對(duì)基類(lèi)成員訪問(wèn)的二義性問(wèn)題。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解析:本題考核友元類(lèi)的應(yīng)用。在程序中,類(lèi)B是類(lèi)A的友元類(lèi),因此,在類(lèi)B的所有成員函數(shù)中均可訪問(wèn)類(lèi)A的任何成員。在main()中,先定義類(lèi)A的一個(gè)對(duì)象a(10)和類(lèi)B的一個(gè)對(duì)象b。然后通過(guò)對(duì)象b調(diào)用其成員函數(shù)print輸出對(duì)象a的私有成員x的值減1即9。47.下列程序編譯時(shí)發(fā)現(xiàn)pb->f(10);語(yǔ)句出現(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ù)類(lèi)型不匹配解析:pd為派生類(lèi)Derived的指針,指向派生類(lèi)的成員函數(shù)f(char*Str),不指向基類(lèi)的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)象。無(wú)論哪個(gè)對(duì)象修改了其靜態(tài)變量的值,其他對(duì)象再訪問(wèn)該變量時(shí)已經(jīng)發(fā)生了變化。49.有以下程序:#included<iostream>usingnamespacestd;classBase{public:Base(){x=0;}intx;};classDerived1:virtualpublicBase{public:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論