问题 问答题

下列给定程序中,函数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的结果转换为整型

填空题
多项选择题