糯米文學吧

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

2016年9月計算機二級C語言操作題及答案

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

2016年9月計算機二級C語言操作題及答案

下列給定程序中,函數flm的功能是:將s所指字符串中的所有數字字符移到所有非數字字符之後,並保持數字字符串和非數字字符串原有的次序。

例如,s所指的字符串為“def35adh3kjsdt7”,執行後結果為“defadhajsdt3537”。

請在程序的下劃線處填入正確的內容並將下劃線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANKl.c中。

不得增行或刪行,也不得更改程序的結構!

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

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

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

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

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

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

編寫函數fun,其功能是:求ss所指字符串中指定字符的個數,並返回此值。例如,若輸入字符串123412132,輸入字符為l,則輸出3。

注意:部分源程序在文件PROCl.C中。

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

  參考答案與解析

  一、程序填空題

  【參考答案】

(1)j++或j+=1或++j或j=j+1

(2)s[i]=t1[i](3)j

  【考點分析】

本題考查:指針型變量;數組變量賦值;for循環語句。

  【解題思路

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

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

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

  二、程序修改題

  【參考答案】

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

(2)tt[i]一=32;

  【考點分析】

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

  【解題思路】

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

  三、程序設計題

  【參考答案】

int fun(char*ss,char c)

inti=0;

for(;*ss!=’