2015計算機二級《C語言程序設計》無紙化操作題三份
注意:部分源程序給出如下。
不得增行或刪行,也不得更改程序的結構!
試題程序:
參考解析:
【參考答案】:
(1)s[i] (2)~9 (3)*t=n
【考點分析】
本題考查:for循環語句;if語句條件表達式;指針變量。
【解題思路】
填空1:通過for循環語句來判斷是否到字符型結尾,變量i用來存放字符型數組下標,則應填入s[i]。
填空2:題目要求判斷數字字符,所以此處應填入‘9’。
填空3:將數字字符個數存入變量t中,此處需注意變量t是指針變量。
【解題寶典】
if語句的條件表達式一般會考查三方面的內容:
(1)條件判斷,即>與>=、<與<=、==與!=的區別,需要仔細分析題干的意思,確定條件表達式的內容。 ,
(2)邏輯判斷,即&&(邏輯與)與|l(邏輯或)的區別,需要根據題于確定if條件中若干個條件表達式的并存關系。
(3)=(賦值號)與==(等于號)的區別,注意在if條件中不會出現=(賦值號)。
二、程序改錯題
2下列給定程序中函數fun的功能是:用遞歸算法計算斐波拉契數列中第n項的值。從第1項起,斐波拉契數列為:1,1,2,3,5,8,13,21,…例如,若給n輸入7,則該項的斐波拉契數值為13。
請改正程序中的錯誤,使它能得出正確結果。
注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!
試題程序:
參考解析:
【參考答案】:
(1)去掉分號
(2)case l:case 2:return l;
【考點分析】
本題考查:switch語句。其一般形式如下:
switch(表達式){
case常量表達式1:語句1;
case常量表達式2:語句2;
Case常量表達式il:語句n;
default:語句n+1;
其中switch(表達式)后不應該帶有“;”,同時case語句常量后應該是“:”。
【解題思路】
C語言中,switch語句之后不能有分號,并且ease語句常量后應用的是冒號。
三、程序設計題
3編寫函數fun,其功能是:根據以下公式求π的值(要求精度0.0005,即某項小于0.0005時停止迭代)。
程序運行后,若輸入精度0.0005,則程序應輸出為3.14…。
注意:部分源程序給出如下。
請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
試題程序:
參考解析:
【參考答案】
【考點分析】
本題考查:迭代法求給定多項式的值。迭代算法是讓計算機對一組指令(或一定步驟)進行重復執行,在每次執行這組指令(或這些步驟)時,都從變量的原值推出它的一個新值。需要注意變量的數據類型以及賦初值操作。
【解題思路】
首先應該定義double類型變量,并且賦初值,用來存放多項式的某一項和最后的總和。從第二項開始以后的每一項都是其前面一項乘以n/(2*n+1),程序中用sl來表示
每一項,s表示求和后的結果。需注意sl和s的初值都為1.0,因為循環變量從第二項開始累加。