下列给定程序中,函数fun的功能是计算如下公式:
直到
,并且把计算结果作为函数值返回。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h >
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));
参考答案:
0或(double)3 (2) > (3) (t+1)
答案考生文件夹
解析:
本题考查:基本算术运算时的类型转换,其转换规则为:
如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致;
如果双目运算符两边运算的类型不一致,系统将自动进行类型转换,使运算符两边的类型达到一致后,再进行运算规律如下。
运算数1,运算数2,转换结果类型
短整型,大整型,短整型长整型
整型,大整型,整型长整型
字符型,整型,字符型整型
有符号整型,无符号整型,有符号整型无符号整型
整型,浮点型,整型浮点型while循环语句,一般考查如何根据题意确定循环条件,以及如何通过循环变量变化实现循环操作。
[解题思路] 填空1:变量x定义为double类型,而运算符"/"后面是整型数,所以给x赋值时,需要注意数据类型,此处不能将3.0写成3。
填空2:while循环语句的循环条件,根据题意确定循环变量应大于1e-3,因此此处应填">"。
填空3:表达式的通项是(2][解题宝典]
本题填空1还可以运用强制类型转换来实现。强制类型转换是通过类型转换运算来实现的。其一般形式为:"(类型说明符) (表达式)"。其功能是:把表达式的运算结果强制转换成类型说明符所表示的类型。
例如:
(float) a 把a转换为实型
(int)(x+y) 把x+y的结果转换为整型