计算机c语言二级题库108套,国家计算机二级C语言108套操作题真题及答案解析试题精编版.doc...

所属年份:2010.9;2011.3;2012.3;2012.9

下列给定程序中,函数fun的功能是:计算如下公式

直到,并且把计算结果作为函数值返回。

例如,若形参e的值为1e-3,则函数返回值为0.551690。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

double fun(double e)

{ int i, k; double s, t, x;

s=0; k=1; i=2;

/**********found**********/

x=__1__/4;

/**********found**********/

while(x __2__ e)

{ s=s+k*x;

k=k* (-1);

t=2*i;

/**********found**********/

x=__3__/(t*t);

i++;

}

return s;

}

main()

{ double e=1e-3;

printf("\nThe result is: %f\n",fun(e));

}

【参考答案】

(1)3.0或(double)3  (2)>  (3) (t+1)

【考点分析】

本题考查:基本算术运算时的类型转换,其转换规则为:

如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致;

如果双目运算符两边运算的类型不一致,系统将自动进行类型转换,使运算符两边的类型达到一致后,再进行运算规律见下表。

运算数1

运算数2

转换结果类型

短整型

大整型

短整型→长整型

整型

大整型

整型→长整型

字符型

整型

字符型→整型

有符号整型

无符号整型

有符号整型→无符号整型

整型

浮点型

整型→浮点型

while循环语句,一般考查如何根据题意确定循环条件,以及如何通过循环变量变化实现循环操作。

【解题思路】

填空1:变量x定义为double类型,而运算符"/"后面是整型数,所以给x赋值时,需要注意数据类型,此处不能将3.0写成3。

填空2:while循环语句的循环条件,根据题意确定循环变量应大于1e-3,因此此处应填">"。

填空3:表达式的通项是(2*i+1)/(2*i)2 ,由于程序中已定义t=2*i,所以此处应该填写(t+1)。

【解题宝典】

本题填空1还可以运用强制类型转换来实现。强制类型转换是通过类型转换运算来实现的。其一般形式为:"(类型说明符) (表达式)"。其功能是:把表达式的运算结果强制转换成类型说明符所表示的类型。

例如:

(float) a    把a转换为实型

(int)(x+y)   把x+y的结果转换为整型

所属年份:2010.9;2011.3;2012.3;2012.9

下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。和值通过函数值返回。

例如,若n=5,则应输出8.391667。

请改正程序中的错误,使其得出正确的结果。

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

#include

/************found************/

void fun ( int n )

{ int a, b, c, k; double s;

s = 0.0; a = 2; b = 1;

for ( k = 1; k <= n; k++ ) {

/************found************/

s = s + (Double)a / b;

c = a; a = a + b; b = c;

}

return s;

}

main( )

{ int n = 5;

printf( "\nThe value of function is: %lf\n", fun ( n ) );

}

【参考答案】

(1)double fun(int n)

(2)s=s+(double)a/b;

【考点分析】

本题考查:函数定义,函数定义的一般形式为:"类型标识符 函数名(形式参数表列)",其中类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。

【解题思路】

(1)由语句"return(s)"和变量s定义为double数据类型可知,该函数定义时其类型标识符为double类型。

(2)注意数据类型double的书写格式。

【解题宝典】

确定函数类型标识符在填空和改错题中经常考到,如果函数没有返回值,则函数定义为vo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值