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