第 1 頁:選擇題 |
第 5 頁:基本操作題 |
第 6 頁:程序改錯題 |
第 7 頁:程序設計題 |
第 8 頁:參考答案 |
二、基本操作題程序填空題
【1】score[i]或*(score+i)【2】below【3】below[i]或*(below+i)
【解析】fun()函數(shù)的功能是返回低于平均成績的人數(shù),通過for循環(huán)遍歷數(shù)組score,求和存入變量aver,然后計算出平均值。第二個循環(huán)將低于平均成績的數(shù)據(jù)賦值數(shù)組b,因此第【1】處填“score[i]”或“*(score+i)”;在主函數(shù)中調(diào)用函數(shù)fun()時,最后一個參數(shù)應填入數(shù)組名blew,即將低分考生數(shù)據(jù)存入數(shù)組blew中,然后語句“printf("\n Below the average score are:%d"n);”輸出低分考生個數(shù),n值即fun()函數(shù)返回值也就是低分考生的人數(shù)值。最后利用循環(huán)輸出below中的結(jié)果。
三、程序改錯題
(1)錯誤:switch(g);
正確:switch(g)
(2)錯誤:case l:case2:return l;
正確:case l;case 2:return l;
【解析】此題考查C語言的語法規(guī)則,switch(表達式)后不應該帶有“;”,case語句常量后應該是“:”。
switch語句的一般形式如下:
switch(表達式){
case常量表達式1:語句1;
case常量表達式2:語句2;
case常量表達式n:語句i;
default:語句n+1;
}
四、程序設計題
void fun(STREC*a)
{
int i;
a->ave=0.0;
for(i=0;i a->ave=a->ave+a->s[i];
/*求各門課程成績的總和*/
a->ave=a->ave/N;/*求平均分*/
}
【解析】本題考查的是指向結(jié)構(gòu)體類型的指針變量做參數(shù)和結(jié)構(gòu)體類型成員的運算。fun()函數(shù)中求出平均成績,要帶回主函數(shù)則必須定義一個指針類型的形參STREC*a,同時引用成員使用指向運算符,a->ave和a->s[i]。
編輯推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |