第 1 頁:選擇題 |
第 5 頁:程序填空題 |
第 6 頁:程序改錯題 |
三、程序改錯題
42下列給定程序中函數fun的功能是:將tt所指字符串中的小寫字母全部改為對應的大寫字母,其他字符不變。
例如,若輸入“Ab,cD”,則輸出“AB,CD”。
請改正程序中的錯誤,使它能得出正確的結果。
注意:部分源程序在文件MODIl.C中,不得增行或刪行,也不得更改程序的結構!
參考解析:
(1)if((tt[i]>=’a’)&&(tt[i]<=‘z’))
(2)tt[i]一=32;
【考點分析】
本題考查:if語句條件表達式;小寫字母轉大寫字母的方法。
【解題思路】
(1)分析本題可知,要判斷字符是否為小寫字母,即判斷其是否在a—z之間,所以這里需要進行連續的比較,用&&。(2)從ASCIl碼表中可以看出,小寫字母的ASCIl碼值比對應大寫字母的ASCIl值大32。將字符串中的小寫字母改為大寫字母的方法是:從字符串第一個字符開始,根據ASCIl碼值判斷該字母是不是小寫字母,若是,則ASCIl碼值減32即可。
四、程序設計題
43某學生的記錄由學號、8門課程成績和平均分組成,學號和8門課程的成績已在主函數中給出,請編寫函數fun,其功能是:求出該學生的平均分,并放入記錄的ave成員中。
例如,學生的成績是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應為78.875。注意:部分源程序在文件PROGl.C中。
請勿改動主函數main和其他函數中的任何內容,僅在函數fIm的花括號中填入你編寫的若干語句。
參考解析:
void fun(STREC*a)
inti:
a一>ave=0.0:
fbr(i=0;iave=a—>ave+·一>s[i];/*求各門成績的總和}/
a->ave/=N;/}求平均分*/}
【考點分析】
本題考查:結構體類型成員運算,指向結構體類型的指針變量作函數參數。
【解題思路】
本題考查自定義形參的相關知識點,程序流程是這樣的:在如n()函數中求出平均分后,返回到主函數時平均分也要帶回,所以只能定義一個指針類型的形參STREC·a,此時,引用成員的方式可以使用指向運算符,即a一>ave和a—>s[i],當然也可用(*a),ave和(*a).S[i]。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |