c语言的问题:#define h 1.E-10什么意思?
/*用牛顿迭代法解方程2x的三次方-4x的平方+3x-6=0在x=1.5附近的是实根,精度要求10的负5次方*/#include<stdio.h>#include<con...
/*用牛顿迭代法解方程2x的三次方-4x的平方+3x-6=0 在x=1.5附近的是实根,精度要求10的负5次方*/
#include<stdio.h>
#include<conio.h> /*conio.h是控制台输入输出*/
#include<math.h>
#define h 1.E-10
double f(double x0)
{
x0=pow((2*x0+5),1.0/3);/*计算以x为底数的y次幂 */
return x0;
}
/*求绝对值*/
double sub(double x)
{if(x>=0)return x;
else return -x;
}
main()
{double x0=2.5,x,s=0.0;
do{
x=f(x0);
s=sub(x-x0);
x0=x;
}while(s>h);
printf("x=%.10lf\n",x);
getch();
} 展开
#include<stdio.h>
#include<conio.h> /*conio.h是控制台输入输出*/
#include<math.h>
#define h 1.E-10
double f(double x0)
{
x0=pow((2*x0+5),1.0/3);/*计算以x为底数的y次幂 */
return x0;
}
/*求绝对值*/
double sub(double x)
{if(x>=0)return x;
else return -x;
}
main()
{double x0=2.5,x,s=0.0;
do{
x=f(x0);
s=sub(x-x0);
x0=x;
}while(s>h);
printf("x=%.10lf\n",x);
getch();
} 展开
展开全部
#define h 1.E-10语句定义了一个宏,宏的名字是h,内容是1.E-10,
宏h定义之后,下面只要出现符号“h”的地方,都会被替换为1.E-10
比如while(s>h);这句话,就会被替换成为
while(s>1.E-10);替换之后才被编译。
宏是编译预处理指令,也就是说,在编译之前进行一些简单的替换处理,然后再编译。#define就是定义一些符号,编译之前先把这些符号替换为另一些值。
定义宏的目的是让程序容易读懂。
宏h定义之后,下面只要出现符号“h”的地方,都会被替换为1.E-10
比如while(s>h);这句话,就会被替换成为
while(s>1.E-10);替换之后才被编译。
宏是编译预处理指令,也就是说,在编译之前进行一些简单的替换处理,然后再编译。#define就是定义一些符号,编译之前先把这些符号替换为另一些值。
定义宏的目的是让程序容易读懂。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询