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

2015年計算機二級預測試卷(C語言)

計算機二級 閲讀(2.32W)

1定義結構體數組:

2015年計算機二級預測試卷(C語言)

以上程序段的輸出結果為(  )。

A.2A3N4A5UB.112A3H4IC.1A2N3A4UD.2H3A4H5I

參考答案:A

參考解析:本題主要考查結構體數組的使用。x[i]為結構體xl-i]中的hum成員,x[i][2]是結構體x[i]中name成員的第3個元素。程序執行循環過程時:第1次循環,i=1,輸出x[i],x[1][2]的值;第2次循環,i=2,輸出x[2],x[2][2]的值,即3N;第3次循環,i=3,輸出x[3],x[3][2]的值,即4A;第4次循環,i=4,輸出x[4],x[4][2]的值,即5U。

2下述程序的輸出結果是(  )。

A.10234B.12344C.12334 D.12234

參考答案:B

參考解析:函數fun()的功能是從數組a中依次將當前值賦給一個元素,所以當函數fun(a,2,9)執行後,數組a[]={1,2,3,4,4,5,6,7,8,9,10),由題意依次取該數組前5個元素,所以選項B正確。

3數據的存儲結構是指(  )。

A.數據所佔的存儲空間

B.數據的邏輯結構在計算機中的存放形式

C.數據在計算機中的順序存儲方式

D.存儲在計算機外存中的數據

參考答案:B

參考解析:數據的存儲結構,又稱為數據的物理結構,是數據的邏輯結構在計算機中的存放形式。

4下面描述中,不屬於軟件危機表現的是(  )。

A.軟件過程不規範

B.軟件開發生產率低

C.軟件質量難以控制

D.軟件成本不斷提高

參考答案:A

參考解析:軟件危機的表現包括:①對軟件開發的進度和費用估計不準確;②用户對已完成的軟件系統不滿意的現象時常發生;③軟件產品的質量往往靠不住;④軟件常常是不可維護的;⑤軟件通常沒有適當的文檔;⑥軟件成本在計算機系統總成本中所佔的比例逐年上升;⑦軟件開發生產率提高的速度遠遠跟不上計算機應用迅速普及深入的趨勢。

5下列運算符中優先級最高的算符是(  )。

A.

B.

C.

D.

參考答案:A

參考解析:C語言中規定運算符的優先順序:一元算術運算符一>二元算術運算符一>關係運算符一>邏輯運算符一>賦值運算符,A項是關係運算符,B項和D項都是邏輯運算符,C項是賦值運算符,因此優先級最高的是A項。

6利用fseek()函數可實現的操作是(  )。

A.實現文件的順序讀寫

B.改變文件的位置指針

C.實現文件的隨機讀寫

D.以上答案均正確

參考答案:D

參考解析:本題考查fseek()函數,其功能是:改變文件的位置指針;輔助實現文件的順序讀寫;輔助實現文件的隨機讀寫。

7有以下程序:

程序的輸出結果是(  )。

.B,CC.C,D D.不確定的值

參考答案:A

參考解析:char ch;ch=ˊAˊ+ˊ5ˊ-ˊ3ˊ;//計算字符ˊAˊ+ˊ5 ˊ-ˊ3ˊ即ˊA ˊ+2,因為ˊ5 ˊ與ˊ3ˊASCL碼就差2,得ˊC ˊprintf(″%d,%cn″,ch,ch);//%d是按整型輸出,輸出的是ch的ASC碼,查表可得67//%c是按字符型輸出,輸出為C所以輸出就為67,C。因此A為正確選項。

8以下敍述中正確的是(  )。

-while語句構成的循環不能用其他語句構成的循環來代替

-while語句構成的循環只能用break語句退出

C.用do-while語句構成循環時,只有在while後的表達式為非零時結束循環

D.用do-while語句構成循環時,只有在while後的表達式為零時結束循環

參考答案:D

參考解析:選項A,可以用for循環代替;選項B,不滿足條件時即條件的邏輯值為假(0)時退出,break也可以;選項C,while(條件),條件為真時進行循環,為假(0)時退出。

9讀取二進制文件的函數調用形式為:fread(buffer,size,count,fp);,其中buffer代表的是(  )。

A.一個文件指針,指向待讀取的.文件

B.一個整型變量,代表待讀取的數據的字節數

C.一個內存塊的首地址,代表讀人數據存放的地址

D.一個內存塊的字節數

參考答案:C

參考解析:fread函數中的參數buffer是內存塊的首地址,輸入的數據存入此內存塊中。

10若變量a、b、x、j都已正確定義並賦值,則以下符合C語言語法的表達式是(  )。

A.a+=&-=(b-4)*(a=3)B.x%(-3);C.a=a*3=2D.y=float(i)

參考答案:A

參考解析:取餘運算符%兩邊都應是正數,賦值語句左邊必須是變量,不能是表達式,強制轉換語句強制類型應加括號,而非加在變量上。

二、程序填空題

請補充函數proc(),該函數的功能是:把字符串str中的字符按字符的ASCⅡ碼升序排列,處理後的字符串仍然保存在原串中,字符串及其長度作為函數參數傳人。

例如,如果輸入“9fedcba”,則輸出為“abcdefg”。

注意:部分源程序給出如下。

請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的橫線上填入所編寫的若干表達式或語句。

試題程序:

參考解析:

【1】i+1【2】str[j]=str[i]

【解析】:題目要求把字符串str中的字符按其ASCⅡ碼值升序排列,可以使字符串中的每一個字符與其後的所有字符相比較,因此【1】填“i+1”;把該字符與ASCⅡ碼值小於其本身而且位置在它後面的字符相交換,最後就可以使ASCⅡ碼值小的在前、大的在後,因此【2】填“str[j]=str[i]”。

三、程序改錯題

下列給定程序中,函數proc()的功能是:刪除字符串str中所有空白字符(包括Tab字符、Enter符及換行符)。輸入字符串時以“#”結束輸入。

請修改程序中的錯誤,使它能得出正確的結果。

注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。

試題程序:

參考解析:

錯誤:c[t]=″