計(jì)算機(jī)等級(jí)考試二級(jí)C語言2015年預(yù)測試卷及答案(五)_第1頁
計(jì)算機(jī)等級(jí)考試二級(jí)C語言2015年預(yù)測試卷及答案(五)_第2頁
計(jì)算機(jī)等級(jí)考試二級(jí)C語言2015年預(yù)測試卷及答案(五)_第3頁
計(jì)算機(jī)等級(jí)考試二級(jí)C語言2015年預(yù)測試卷及答案(五)_第4頁
計(jì)算機(jī)等級(jí)考試二級(jí)C語言2015年預(yù)測試卷及答案(五)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計(jì)算機(jī)等級(jí)考試二級(jí)C語言2015年預(yù)測試卷及答案(五)一、選擇題1.假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為()A.log2n B.n*n C.O(n*1.5) D.n(n-1)/2【參考答案】 D2.線性表L=(a1,a2,a3,ai,an),下列說法正確的是()A.每個(gè)元素都有一個(gè)直接前件和直接后件B.線性表中至少要有一個(gè)元素C.表中諸元素的排列順序必須是由小到大或由大到小D.除第一個(gè)元素和最后一個(gè)元素外,其余每個(gè)元素都有且只有一個(gè)直接前件和直接后件【參考答案】 D3.軟件工程的出現(xiàn)是由于()A.程序設(shè)計(jì)方法學(xué)的影響 B.軟件產(chǎn)業(yè)化的需要 C.軟件危機(jī)的出現(xiàn) D.計(jì)算

2、機(jī)的發(fā)展【參考答案】 C4.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示()A.模塊之間的調(diào)用關(guān)系 B.程序的組成成分 C.控制程序的執(zhí)行順序 D.數(shù)據(jù)的流向【參考答案】 D5.關(guān)系表中的每一橫行稱為一個(gè)()A.元組 B.字段 C.屬性 D.碼【參考答案】 A6.循環(huán)鏈表的主要優(yōu)點(diǎn)是()A.不再需要頭指針了B.從表中任一結(jié)點(diǎn)出發(fā)都能訪問到整個(gè)鏈表C.在進(jìn)行插入、刪除運(yùn)算時(shí),能更好的保證鏈表不斷開D.已知某個(gè)結(jié)點(diǎn)的位置后,能夠容易的找到它的直接前件【參考答案】 B7.n個(gè)頂點(diǎn)的強(qiáng)連通圖的邊數(shù)至少有()A.n-1 B.n(n-1) C.n D.n+1【參考答案】 C8.模塊獨(dú)立性是軟件模塊化所提出的

3、要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)則是模塊的()A.抽象和信息隱蔽 B.局部化和封裝化C.內(nèi)聚性和耦合性 D.激活機(jī)制和控制方法【參考答案】 C9.在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是()A.路徑的集合 B.循環(huán)的集合 C.目標(biāo)的集合 D.地址的集合【參考答案】 A10.數(shù)據(jù)庫設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)【參考答案】 A11. C+語言是以哪種語言為基礎(chǔ)逐漸發(fā)展演變而成的一種程序設(shè)計(jì)語言()A.ASP B.C C.VB D.Java【參考答案】 B12.能正

4、確表示邏輯關(guān)系:“a10或a0”的C+語言表達(dá)式是()A.a>10 or a<=0 B.a>=0|a<=10 C.a>=10 && a<=0 D.a>=10a<=0【參考答案】 D13.若執(zhí)行下面的程序時(shí),從鍵盤上輸入5和2,則輸出結(jié)果是()#includevoid main() int a,b,k;cin>>a>>b;k=a;if(a k=a%b;elsek=b%a; cout< A.5 B.3 C.2 D.0【參考答案】 C14.若有說明語句char aIt is mine;char *p=It

5、is mine;則以下不正確的敘述是()A.a+1表示的是字符t的地址B.p指向另外的字符串時(shí),字符串長度不受限制C.p變量中存放的地址值可以改變D.a中只能存放10個(gè)字符【參考答案】 D15.下列程序是用來判斷數(shù)組中特定元素的位置所在,則輸出結(jié)果為()#include#includeint fun(int *s,int t,int *k) int i;*k=0;for(i=0;i if(s*k return s*k;void main()int a10=876,675,896,101,301,401,980,431,451,777,k;fun(a,10,&k);cout< A.

6、7,431 B.6 C.980 D.6,980【參考答案】 D16.關(guān)于this指針的說明不正確的是()A.不能在程序中修改this指針B.this指針可以給其他指針賦值,但不能修改this指針C.靜態(tài)成員函數(shù)中沒有this指針D.this指針可以被賦值【參考答案】 D17.關(guān)于虛函數(shù)下面說的正確的是()A.若在重定義虛函數(shù)時(shí)使用了virtual,則該重定義函數(shù)還是虛函數(shù)B.虛函數(shù)不能聲明為友元C.子類必須重定義父類的虛函數(shù)D.虛函數(shù)不能是static的【參考答案】 D18.要想使23.78965421的輸出為23.7887應(yīng)用的語句是()A.cout<<23.78965421;

7、B.cout< C.cout<<23.78965421 -0.001; D.cout< 【參考答案】 C19.有以下程序#includefloat fun(int x,int y) return(x+y);void main() int a=2,b=5,c=8;cout< 程序運(yùn)行后的輸出結(jié)果是()A.編譯出錯(cuò) B.9 C.21 D.9.0【參考答案】 B20.C+中,封裝是借助于什么達(dá)到的?()A.結(jié)構(gòu) B.類 C.數(shù)組 D.函數(shù)【參考答案】 B21.有如下程序#include#define N 2#define M N+1#define NUM 2*M+1vo

8、id main()int i;for(i=1;i<=NUM;i+) cout< 該程序中的for循環(huán)執(zhí)行的次數(shù)是()A.5 B.6 C.7 D.8【參考答案】 B22.所有在函數(shù)中定義的變量,連同形式參數(shù),都屬于()A.全局變量 B.局部變量 C.靜態(tài)變量 D.寄存器變量【參考答案】 B23.下列關(guān)于C+關(guān)鍵字的說法中正確的是()A.關(guān)鍵字是用戶為程序中各種需要命名的“元素”所起的名字B.關(guān)鍵字是對程序中的數(shù)據(jù)進(jìn)行操作的一類單詞C.關(guān)鍵字是在程序中起分割內(nèi)容和界定范圍作用的一類單詞D.關(guān)鍵字是C+中預(yù)先定義并實(shí)現(xiàn)一定功能的一類單詞【參考答案】 D24.C+語言中運(yùn)算對象必須是整型的

9、運(yùn)算符是()A.%= B./ C.= D.<=【參考答案】 A25.有如下程序段#includevoid main()int a=14,b=15,x;char c=A;x=(a&&b)&&(c<B);cout< 執(zhí)行該程序段后,x的值為()A.ture B.false C.0 D.1【參考答案】 D26.如下程序的執(zhí)行結(jié)果是()#includevoid main() static int a=1,7,3,9,5,11;int *p=a;*(p+3)+=4;cout<<*p<<,<<*(p+3);A.1,13

10、B.1,16 C.3,13 D.1,14【參考答案】 A27.下列程序的輸出結(jié)果是()#includevoid main()double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;cout< A.3 B.3.2 C.0 D.3.07【參考答案】 CA. B., C.; D.【參考答案】 C29.下列描述中錯(cuò)誤的是()A.析構(gòu)函數(shù)可以被繼承B.虛函數(shù)不能被繼承C.派生類可以有多個(gè)基類D.純虛基類的子類可以是虛基類【參考答案】 B30.下面關(guān)于成員函數(shù)重載運(yùn)算符和友元函數(shù)重載運(yùn)算符相同的是()A.成員函數(shù)和友元函數(shù)可重載的運(yùn)算符是不相同的B.成員函數(shù)和友元函數(shù)重載運(yùn)

11、算符時(shí)都需要用到this指針C.成員函數(shù)和友元函數(shù)重載運(yùn)算符時(shí)都需要聲明為公有的D.成員函數(shù)和友元函數(shù)重載運(yùn)算符時(shí)的參數(shù)可能是相同的【參考答案】 A31.執(zhí)行下面的程序段后,變量k中的值為()#includevoid main() int k=3,s2;s0=k;k=s1*10;cout< A.不定值 B.33 C.30 D.10【參考答案】 A32.以下程序的結(jié)果是()#includevoid main() char *p=abcdefgh,*r;long *q;q+;r=(char*)q;cout< A.defg B.cdef C.ghab D.efgh【參考答案】 D33.有

12、以下程序#includestruct STUchar num10;float score3;void main()struct STU s3=20021,90,95,85, 20022,95,80,75, 20023,100,95,90,*p=s;int i;float sum=0;for(i=0;i<3;i+)sum=sum+p->scorei;cout< 程序運(yùn)行后的輸出結(jié)果是()A.260 B.270 C.280 D.285【參考答案】 B34.以下程序段的執(zhí)行結(jié)果為()#includedefine PLUS(X,Y)X+Yvoid main() int x=1,y=2

13、,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,z);cout<<SUM=< cout< A.SUM=9 B.SUM=12 C.SUM=18 D.SUM=30【參考答案】 B35.以下程序的輸出結(jié)果是()#includeint f() static int i=0;int s=1;s+=i;i+;return s;void main() int i,a=0;for(i=0;i<5;i+)a+=f();cout< A.20 B.24 C.25 D.15【參考答案】 D一、填空題 1.在算法正確的前提下,評價(jià)一個(gè)算法的兩個(gè)標(biāo)準(zhǔn)是【1】。 【參考答

14、案】 【1】時(shí)間復(fù)雜度和空間復(fù)雜度 2.軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了【2】的原理來設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。 【參考答案】 【2】軟件工程學(xué) 3.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)【3】。 【參考答案】 【3】關(guān)系 4.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【4】維護(hù)和預(yù)防性維護(hù)。 【參考答案】 【4】完善性 5.關(guān)鍵字ASC和DESC分別表示【5】的含義。 【參考答案】 【5】升序排列和降序排列 6.下面程序的結(jié)果為【6】。 #include void main() int a=1,b=2; bool c=1; if(a&

15、gt;b)|c)cout<<true< else cout<<false< 【參考答案】 【6】true 7.下面程序的輸出結(jié)果是【7】。 #include void main() int a6=1,2,3,4,5,6; for(int i=0;i<5;i+) cout< cout< 【參考答案】 【7】1 2 3 4 5 8.假定A為一個(gè)類,則語句A(A &a);為該類【8】函數(shù)的原型說明。 【參考答案】 【8】拷貝構(gòu)造 9.類模板不同于函數(shù)模板,類模板只可用【9】型參數(shù)。 【參考答案】 【9】類 10.內(nèi)聯(lián)函數(shù)是通過【10】來實(shí)

16、現(xiàn)的,因此內(nèi)聯(lián)函數(shù)是真正的函數(shù)。 【參考答案】 【10】編譯器 11.以下程序的執(zhí)行結(jié)果為【11】。 #include using namespace std; class base public: virtual void who() cout<<base class< ; class derive1:public base public: void who() cout<<derive1 class< ; class derive2:public base public: void who() cout<<derive2 class<

17、; void main() base obj1,*p; derive1 obj2; derive2 obj3; p=&obj1; p->who(); p=&obj2; p->who(); p=&obj3; p->who(); 【參考答案】 【11】base class derive1 class derive2 class 12.operator是運(yùn)算符重載時(shí)必須使用的關(guān)鍵字,它和被重載的運(yùn)算符連在一起,作為運(yùn)算符函數(shù)的專用函數(shù)名,務(wù)必把該函數(shù)說明為【12】的。 【參考答案】 【12】二義性 13.【13】是一系列相關(guān)函數(shù)的模型或樣板,這些函數(shù)的【14

18、】形式相同,只是所針對的【15】不同。 【參考答案】 【13】函數(shù)模板 【14】源代碼 【15】數(shù)據(jù)類型上機(jī)部分 一、改錯(cuò)題 使用VC6打開考生文件夾下的工程kt6_1,此工程包含一個(gè)源程序文件kt6_1.cpp,但該程序運(yùn)行有問題,請改正程序中的錯(cuò)誤,使程序的輸出結(jié)果如下: Constructor2 Constructor1 i=0 i=10 Destructor 源程序文件kt6_1.cpp清單如下: #include 來源:classCSample inti; public: CSample()cout<<"Constructor1"< CSampl

19、e(intval)cout<<"Constructor2"< CSample()cout<<"Destructor"< voiddisp(); ; /*found*/ voiddisp() cout<<"i="< voidmain() CSample*a,b(10); /*found*/ a->disp(); /*found*/ b->disp(); 【參考答案】 (1)將void disp() 改為:void CSample:disp() (2)將a->disp

20、(); 改為:a=new CSample; a->disp(); (3)將b->disp(); 改為:b.disp(); 【試題解析】 (1)主要考查類成員函數(shù)定義格式的熟練掌握,對于類體外函數(shù)的實(shí)現(xiàn),應(yīng)該使用作用域符":",按照返回值類型 類名:函數(shù)名(參數(shù)列表)的形式進(jìn)行說明; (2)主要考查對動(dòng)態(tài)存儲(chǔ)分配的掌握,根據(jù)前面的定義,a是一個(gè)指針類型的變量,指向一個(gè)對象,但是并沒有被初始化,此時(shí)a中的數(shù)據(jù)無任何意義,應(yīng)該使用動(dòng)態(tài)存儲(chǔ)分配new生成一個(gè)新的對象,并將返回的指針賦值給a; (3)主要考查對象指針與對象在調(diào)用成員函數(shù)時(shí)格式的不同,b是一個(gè)對象變量,使用

21、b調(diào)用成員函數(shù)應(yīng)該用"."運(yùn)算符。二、簡單應(yīng)用題 編寫函數(shù)fun(),它的功能是利用以下所示的簡單迭代方法求方程cos(x)-x=0的一個(gè)實(shí)根。 xn+1=cos(xn) 迭代步驟如下: (1)取x1初值為0.0。 (2)x0=x1,把x1的值賦給x0。 (3)x1=cos(x0),求出一個(gè)新的x1。 (4)若x0-x1的絕對值小于0.000001,則執(zhí)行步驟(5),否則執(zhí)行步驟(2)。 (5)所求x1就是方程cos(x)-x=0的一個(gè)實(shí)根,做為函數(shù)值返回。 程序輸出結(jié)果Root=0.739085。 注意:部分源程序已存在文件kt6_2.cpp中。 請勿改動(dòng)主函數(shù)main和

22、其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。 文件kt6_2的內(nèi)容如下: #include 考試大論壇#include #include floatfun() voidmain() cout<<"Root="< 【參考答案】 float fun() float x1=0.0,x0; do x0=x1; x1=cos(x0); while(fabs(x0-x1)>=1e-6); return x1; 【試題解析】 解答本題的關(guān)鍵之處在于看清題中所給的“迭代步驟”,同時(shí)要理解xn+1=cosxn通式的含義,要考慮到x1的初值為0.

23、0。三、綜合應(yīng)用題 使用VC6打開考生文件夾下的工程kt6_3,此工程包含一個(gè)源程序文件kt6_3.cpp,其中定義了用于表示考生的類Student,請按要求完成下列操作,將程序補(bǔ)充完整。 (1)定義私有數(shù)據(jù)成員code、english分別用于表示考生的編號(hào)、英語成績、它們都是int型的數(shù)據(jù)。請?jiān)谧⑨尅?*1*”之后添加適當(dāng)?shù)恼Z句。 (2)完成成員函數(shù)voidStudent:inputinformation()的定義,該函數(shù)用于用戶輸入一個(gè)考生對象的信息,輸入格式如下所示: 輸入編號(hào): 英語成績: 計(jì)算機(jī)成績: 請?jiān)谧⑨尅?*2*”之后添加適當(dāng)?shù)恼Z句。 (3)利用已實(shí)現(xiàn)的類Student的成員

24、函數(shù),完成函數(shù)voidfirstname(Student*A,intnum)的定義,該函數(shù)根據(jù)考生信息A,輸出num個(gè)考生中總分最高者的編號(hào)及其相應(yīng)的總分,在此不考慮總分相同的情況。請?jiān)谧⑨尅?*3*”之后添加適當(dāng)?shù)恼Z句。 注意:除在指定位置添加語句之外,請不要改動(dòng)程序中的其他內(nèi)容。 源程序文件kt6_3.cpp清單如下: #include classStudent /*1* intcomputer; 考試大(wwwE)inttotal; public: voidgetinformation(); voidcomputesum(); intgetcode(); intgettotalscore(); Student(); voidStudent:getinformation() /*2* cout<<"英語成績:" cin>>english; cout<<"計(jì)算機(jī)成績:&qu

溫馨提示

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

最新文檔

評論

0/150

提交評論