當前位置:才華齋>計算機>計算機二級>

2015年全國計算機二級考試《C語言》衝刺模擬題(三)答案

計算機二級 閱讀(5.37K)

1.D。【解析】本題考查對軟體生命週期的理解,軟體生命週期整體上可分為定義階段、開發階段和維護階段。其中定義階段包括可行性研究與計劃制訂和需求分析;開發階段包括概要設計、詳細設計、開發和測試;維護階段是一個單獨階段,不包含在開發階段內,它是所花費用最多的一個階段。

2015年全國計算機二級考試《C語言》衝刺模擬題(三)答案

2.C。【解析】檢視設計的設計次序分3種:自頂向下、自底向上和由內向外。它們為檢視設計提供了具體的操作方法,設計者可根據實際情況靈活掌握。

3.C。【解析】根據二叉樹的性質及定義,一棵深度為k且有2k-1個結點的二叉樹為滿二叉樹。滿二叉樹的葉子結點為最後一層的結點數,又根據滿二叉樹的性質,在滿二叉樹的第i層上至多有2i-1個結點,因此深度為5的滿二叉樹的葉子結點數為25-1=16個。

4.A。【解析】二分法查詢只用於順序儲存的有序線性表,而順序查詢用於順序儲存的非有序線性表和線性連結串列。

5.C。【解析】陣列下標從0開始,當陣列元素的下標超出了定義的範圍時,系統不會出“下標越界”的資訊,執行會出錯,因此在程式設計時務必檢查下標是否越界。

6.B。【解析】在用靜態static與外部extern定義變數時,系統立刻給其分配記憶體,而定義自動類auto與強制放入暫存器register型別變數時,只有當使用時才分配記憶體。

7.D。【解析】scanf是鍵盤輸入語句,%d是列印十進位制檔案,&x就是把你從鍵盤輸入的值賦給x後面依此類推,因此正確答案為D。

8.C。【解析】本題考查三目運算子a9.C。【解析】線性表可以是空表,線上性表中,第一個結點沒有前驅結點(前件),最後一個結點沒有後繼結點,其他結點有且只有一個前驅點(後繼點)。

10.A。【解析】用E—R圖可以描述實體及其相互之間的聯絡,還可以描述多個實體集之間的聯絡和一個實體集內部實體之間的.聯絡。用E—R圖表示的概念資料模型不僅能轉換為關係資料模型,還可以轉換為其他資料模型,如網狀模型和層次模型等。所以A的說法正確。

11.A。【解析】*P=a;P指向首地址,*(P+2))往後移動兩個元素,指向3,所以正確答案為A。

12.A。【解析】題中X<=Y<=Z的意思為X<=Y並且Y<=Z,在C語言中,要表示“且”的關係,應用“與”邏輯運算子,即“&&”,故選擇A選項。

13.D。【解析】程式中ptr指標指向陣列arr的首地址,*ptr=arr[0]=6,*(ptr2)=2.故選D。

14.C。【解析】C項開始a=t,a的值就沒了,a的值就被t的值代替,最後b=a,b中的值拿到的是t中的值。

15.C。【解析】b++是先用表示式的值然後自增1,因此表示式值為ˊ2ˊ,b為ˊ3ˊ;b-a=ˊ3 ˊ-ˊ1ˊ=2,因此最後輸出的結果為2,2,前一個為字元2,後一個為數字2。

16.C。【解析】本題中int(*ptr)()的含義是指向函式的指標變數,其為指向函式的指標變數,該函式返回一個int型資料,故選擇C選項。

17.A。【解析】當值相同時按位異或,則為0,按位或與按位與時仍不變,負數也為非0。

18.C。【解析】本題用了函式呼叫,fun中if語句成立則進行i,j的交換,用到主函式中則為把下標0、3,1、2互換,因此,當執行完後x的陣列為8,1,6,2,故選擇C選項。

19.B。【解析】B選項中不應該加“,”號。

20.D。【解析】scanf函式讀取的是char型資料,所以回車時輸入的換行符也是有效字元。於是c1,c2,c3,c4的內容分別是1,2,3,ˊn ˊ。

21.D。【解析】本題考查continue的用法,continue語句的作用是結束本次迴圈,直接進行下次迴圈。所以在程式中,只有當a=10時,才退出迴圈,故選擇D選項。

22.C。【解析】sum+=i等價於SUn+i,在本題中sum沒有賦初值,而題中只輸出slim的值,因此整個結果為不確定值。

23.D。【解析】主要考查運算子的優先順序。sizeof的優先順序最高,其次是%<<、>,優先順序最低的是“=”。

24.A。【解析】C語言中用“&&”作兩個表示式的連線。

25.C。【解析】本題考查逗號表示式。程式輸出時輸出一個%d,所以輸出第一個a的值與後續無關。

26.B。【解析】本題考查for迴圈的使用。對於第1個for迴圈,任何一個i,內層j的迴圈都要使j=0到3,j=4時不符合,所以退出J迴圈;然後i減1。j仍然要從0~3,j=4時退出j迴圈直到i變成0,退出i迴圈。第一條{or語句執行6次,第二條for語句執行4次,所以內迴圈體執行6*4=24次。

27.C。【解析】本題考查while,while迴圈表示式k-1是個賦值表示式而不是邏輯表示式,k的初值為l2不符合迴圈條件,所以迴圈體語句一次也不執行。

28.B。【解析】本題考查3個知識點:將一個字元賦給一個字元變數時,是將該字元對應的ASCⅡ碼儲存到記憶體單元中;常見ASCⅡ碼的值如A和a;只要邏輯與運算子&&的兩個運算物件都為真時,返回值就是1。

29.A。【解析】本題考查函式值的型別,在函式定義時,由於函式沒有說明其型別,系統預設一律自動按整型(int)處理。

30.D。【解析】本題主要考查do=while迴圈,因為變數t的初始值等於l,經過第一次do=while迴圈後,執行t-t-1這條語句一次,所以變數t的值為-1,判斷關係表示式t!=n是否成立,如果關係表示式成立,則執行第二次迴圈,如果關係表示式不成立,退出迴圈。由此可見,只要輸入變數n的值為負奇數,則一定會使t!-n成立,故退出do-while迴圈。

31.D。【解析】double*P,a定義了一個指向雙精度型的指標變數P和雙精度型變數a,p=&a表示將變數a的地址賦給指標變數P;scanf(”%If”,p)表示用鍵盤輸入的數賦給指標變數P所指向的地址單元中,scanf()函式要求在輸入double型資料時,格式控制符必須用%lf。否則,資料不能正確輸入。所以選項D正確。

32.B。【解析】本題考查for迴圈及if…else語句巢狀,第1次執行for迴圈,p[l][0]=p[l][0]=p[l][0][1]3;第2次執行for迴圈,p[l][1]=p[1][1]-1=4;第3次執行for迴圈,p[1][2]=1,最後輸出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。

33.D。【解析】先取a變數的地址,送入子程式。然後輸出的時候是++*X,其中的*X的意思是25,也就是a的值,然後加++,就是26。最後,輸出26。

34.C。【解析】本題考查按位異或運算,異或就是相同為0,不同為1(化為二進位制00001101),017的二進位制為000001111,兩者異或結果為00000010。

35.D。【解析】本題考查feof(tp)函式,其功能是:測試所指的檔案的位置指標是否已達到檔案尾,如果已達到檔案尾,則函式返回非0值;否則返回0,表示檔案未結束。

36.C。【解析】語句“if(c==d)y=0;else y=1;”是if(a37.B。【解析】執行程式,當k=7時switch(7)執行case:7,s++後s=1,break跳出。k--,k=7繼續迴圈switch(6),執行case 6;直接跳出迴圈,k- -變成5,繼續迴圈switch(5),執行case 5後面的語句s+=2,也相當於s=s+2,此時s為3,break跳出,k變為4,繼續迴圈,執行case4為空,繼續執行case 7;s++為4跳出迴圈,k--變為3,繼續迴圈,執行case 3,空語句往下執行case 6,跳出,k-為2,繼續迴圈,執行case 2;空語句往下執行case 3,空語句再執行case 7,跳出迴圈,k--為1不符合迴圈,退出,此時s=4。

38.D。【解析】本題考查if語句。第l個if語句,如果a39.A。【解析】本題考查迴圈跳出的知識點:①break語句可以出現在switch迴圈體內及語句體內,它的作用是跳出迴圈體,不能用於其他的語句;②continue語句的作用是結束本次迴圈,即跳過迴圈體中下面尚未執行的語句,而接著判定迴圈條件是否成立,確定下一次迴圈是否繼續執行,執行contiune語句不會使整個迴圈終止;③迴圈體內使用break語句會使迴圈提前終止;④從多層迴圈巢狀中退出時,可以使用goto語句或者break語句。

40.B。【解析】用''w''方式開啟檔案,意思是如果檔名相同則覆蓋原來的檔案,所以當再次輸入時覆蓋了第一次的內容,B選項正確。