計算機二級

當前位置 /首頁/計算機/計算機二級/列表

2016計算機二級《C語言》非選擇題練習及答案

  一、程式填空題

2016計算機二級《C語言》非選擇題練習及答案

下列給定程式中,函式fun的功能是:將s所指字串中的所有數字字元移到所有非數字字元之後,並保持數字字串和非數字字串原有的次序。例如,s所指的字串為“def35adh3kjsdi7”,執行後結果為“defadhajsdf3537”。請在程式的下劃線處填人正確的內容並將下劃線刪除,使程式得出正確的結果。注意:部分源程式在檔案BLANK1.C中。不得增行或刪行,也不得更改程式的結構!

  二、程式修改題

下列給定程式中函式fun的功能是:將tt所指字串中的小寫字母全部改為對應的大寫字母,其他字元不變。例如,若輸入“Ab,cD”,則輸出“AB,CD”。請改正程式中的'錯誤,使它能得出正確的結果。注意:部分源程式在檔案MODI1.C中,不得增行或刪行,也不得更改程式的結構!

  三、程式設計題

編寫函式fun,其功能是:求ss所指字串中指定字元的個數,並返回此值。例如,若輸入字串123412132,輸入字元為1,則輸出3。注意:部分源程式在檔案PROG1.C中。請勿改動主函式main和其他函式中的任何內容,僅在函式fun的花括號中填入你編寫的若干語句。

  參考答案

  一、程式填空題

【考點分析】

本題考查:指標型變數;陣列變數賦值迴圈語句。

解題思路

填空1:根據函式fun中的內容可知,陣列t1儲存了s中的非數字字元,陣列t2儲存了s中的數字字元,為了儲存下一個數字字元,下標j要進行加1操作。

填空2:將s串中的數字與非數字字元分開後,要先將非數字字元放入字串s中,因此填人s[i]=t1[i]。

填空3:最後將數字字元加到s串之後,並且i要小於數字的個數j。

  二、程式修改題

【考點分析】

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

【解題思路】

(1)分析本題可知,要判斷字元是否為小寫字母,即判斷其是否在a~z之間,所以這裡需要進行連續的比較,用&&。

(2)從ASCII碼錶中可以看出,小寫字母的ASCII碼值比對應大寫字母的ASCII值大32。將字串中的小寫字母改為大寫字母的方法是:從字串第一個字元開始,根據ASCII碼值判斷該字母是不是小寫字母,若是,則ASCII碼值減32即可。

  三、程式設計題

【參考答案】

【考點分析】

本題考查:for迴圈語句遍歷字串,並通過if條件語句,判斷字串是否結束。

【解題思路】

從字串中查詢指定字元,需要使用迴圈判斷結構,迴圈語句用來遍歷字串,迴圈條件為字串沒有結束,即當前字元不是‘O’,判斷語句用來判斷當前字元是否為指定字元。最後返回指定字元的個數。