糯米文學吧

位置:首頁 > 計算機 > 計算機二級

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

  一、程序填空題(共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

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