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

2016全國計算機二級《C語言》機考試題及答案

計算機二級 閱讀(2.86W)

  一、程式填空題(共18分)

2016全國計算機二級《C語言》機考試題及答案

下列給定程式中,函式fun的功能是:求ss所指字串陣列中長度最短的字串所在的行下標,作為函式值返回,並把其串長放在形參n所指的變數中。ss所指字串陣列中共有M個字串,且串長小於N。請在程式的下劃線處填入正確的內容並將下劃線刪除,使程式得出正確的結果。

  二、程式修改題(共18分)

下列給定程式中函式fun的功能是:將tt所指字串中的小寫字母全部改為對應的大寫字母,其他字元不變。

例如,若輸入“Ab,cD”,則輸出“AB,CD”。

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

注意:部分源程式在檔案MODIl.C中,不得增行或刪行,也不得更改程式的結構!

  三、程式設計題(共24分)

編寫函式fun,其功能是:將所有大於1小於整數m的非素數存人XX所指陣列中,非素數的個數通過k返回。

例如,若輸入l7,則應輸出:4 6 8 9 10 12 14 15 16。注意:部分源程式在檔案PROGl.C中。

請勿改動主函式main和其他函式中的任何內容,僅在函式fun的花括號中填入你編寫的若干語句。

  參考答案

  一、程式填空題

  【參考答案】

(1)M(2)<(3)k

  【考點分析】

本題考查:for迴圈語句的迴圈條件;if語句條件表示式;return語句完成函式值的返回。

  【解題思路】

填空1:題目指出88所指字串陣列中共有M個字串,所以for迴圈語句迴圈條件是i

填空2:要求求長度最短的字串,t n中存放的是已知字串中長度最短的字串的長度,這裡將當前字串長度與+n1七較,若小於t n,則將該長度值賦給+n,因此if語句的務件表示式為1en<+n。

填空3:將最短字串的`行下標作為函式值返回,變數-儲存行下標的值。

  二、程式修改題

  【參考答案】

(1)if((tt[i]>=’a’)&&(tt[i]<=‘z’))

(2)tt[i]一=32;

  【考點分析】

本題考查:if語句條件表示式;小寫字母轉大寫字母的方法。

  【解題思路】

(1)分析本題可知,要判斷字元是否為小寫字母,即判斷其是否在a—z之間,所以這裡需要進行連續的比較,用&&。(2)從ASCI1碼錶中可以看出,小寫字母的ASCI1碼值比對應大寫字母的ASCI1值大32。將字串中的小寫字母改為大寫字母的方法是:從字串第一個字元開始,根據ASCI1碼值判斷該字母是不是小寫字母,若是,則ASCI1碼值減32即可。

  三、程式設計題

  【參考答案】

  【考點分析】

本題考查:如何判斷非素數;迴圈判斷結構;陣列的引用。

  【解題思路】

題目要求將1—m之問的非素數存人陣列中,應使用迴圈判斷結構。迴圈語句用來遍歷1一m之間的每個數,判斷語句用來判斷該數是否為素數,若不是素數,則將其存人陣列中。這道題目是考查—個數是否為素數的簡單延伸,只要掌握了判斷素數的方法,問題便能順利解決。

  【解題寶典

判定一個數是否為素數,即該數除了能被1和它本身外,不能被任何數整除。

程式碼實現為:

for(j=2;j

此語句需要熟記,很多判斷素數的題目也可通過此法解決。