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,因为循环变量从第二项开始累加。