糯米文學吧

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

2016年計算機二級《C語言》操作試題及答案大綱

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

2016年計算機二級《C語言》操作試題及答案大綱

下列給定程序中,函數fun的功能是:把形參a所指數組中的最小值放在元素a[o]中,接着把a_所指數組中的最大值放在a[1]元素中;再把a所指數組元素中的次小值放在a[2]中,把a所指數組元素中的次大值放在a[3],以此類推。

例如,若a所指數組中的數據最初排列為:9、1…4 2 3、6、5、8、7;則按規則移動後,數據排列為:1、9.2、8:3、7、4、6、5。形參13.中存放a所指數組中數據的個數。‘

規定fum函數中的max存放當前所找的最大值,px存放當前所找最大值的下標。請在程序的'下劃線處填人正確的內容並將下劃線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANKl.C中。不得增行或刪行,也不得更改程序的結構!

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

下列給定程序中函數fun的功能是。用遞歸算法計算斐波拉契數列中第n項的值。從第l項起,斐波拉契數列為:1、1、2、3、5、8、l3、21、……

例如,若給n輸入7,則該項的斐波拉契數值為l3。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結構。

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

某學生的記錄由學號、8門課程成績和平均分組成,學號和8門課程的成績已在主函數中給出,請編寫函數fun,其功能是:求出該學生的平均分,並放入記錄的ave成員中。

例如,學生的成績是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應為78.875。注意:部分源程序在文件PROGl.C中。

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

  
  

  參考答案

  一、程序填空題

【參考答案】(1)a[i](2)a[j](3)a[j]

  【考點分析】

本題考查:數組的引用;if語句條件表達式,如果表達式的值為真,則執行下面的語句,如果該值為假,財不執行下面的語句。

  【解題思路】

填空l:for循環語句循環體中將數組元素a[i]賦值給變量max和變量rain。

填空2:通過一次for循環,找到數組中的最大值,if語句的條件表達式是mu

填空3:同理,此處if語句的條件表達式是min>a[j]。

  【解題寶典】

求最大值或者最小值的題目,一般都是假設一個元素最大或最小,然後通過if條件語句將該元素和其他元素進行比較操作來完成。

  、程序修改題

【參考答案】

去掉分號

(2Case l:caBe

2:return l;

【考點分析】

本題考查:switch語句,其一般形式為switch(表達式)

cage常量表達式l:語句l;case常量表達式2:語句2;

cm常量表達式n:語句n;default:語句n+1;

其中switch(表達式)後不應該帶有“;”,同時case語句常量後應該是“:”。

  【解題思路】

C語言中,switch語句之後不能有分號,並且case語句常量後應用的是冒號。.

  三、程序設計題

【參考答案】

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]。