c语言数学函数库
‘壹’ c语言什么情况需要调用数学函数库
当你调用的数学函数是由标准库中的数学函数库提供时。如求绝对值的函数就是由“math.h”库提供的。也就是你调用到了标准库的函数就要引用标准库头文件,如printf()就要调用“stdio.h”,当然有时编译器是默认包含"stdio.h"。
‘贰’ c语言中math头文件中的函数有哪些
数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:
1
三角函数
double
sin
(double);
double
cos
(double);
double
tan
(double);
2
反三角函数
double
asin
(double);
结果介于[-PI/2,
PI/2]
double
acos
(double);
结果介于[0,
PI]
double
atan
(double);
反正切(主值),
结果介于[-PI/2,
PI/2]
double
atan2
(double,
double);
反正切(整圆值),
结果介于[-PI/2,
PI/2]
3
双曲三角函数
double
sinh
(double);
double
cosh
(double);
double
tanh
(double);
4
指数与对数
double
exp
(double);
double
sqrt
(double);
double
log
(double);
以e为底的对数
double
log10
(double);
double
pow(double
x,
double
y)//计算以x为底数的y次幂
5
取整
double
ceil
(double);
取上整
double
floor
(double);
取下整
6
绝对值
double
fabs
(double);
double
cabs(struct
complex
znum)
//求复数的绝对值
7
标准化浮点数
double
frexp
(double
f,
int
*p);
标准化浮点数,
f
=
x
*
2^p,
已知f求x,
p
(
x介于[0.5,
1]
)
double
ldexp
(double
x,
int
p);
与frexp相反,
已知x,
p求f
8
取整与取余
double
modf
(double,
double*);
将参数的整数部分通过指针回传,
返回小数部分
double
fmod
(double,
double);
返回两参数相除的余数
9其他
double
hypot(double
x,
double
y);//已知直角三角形两个直角边长度,求斜边长度
double
ldexp(double
x,
int
exponent);//计算x*(2的exponent次幂)
double
poly(double
x,
int
degree,
double
coeffs
[]
)//计算多项式
nt
matherr(struct
exception
*e)//数学错误计算处理程序
source:
《C
&
C++
Code
Capsules》
‘叁’ 在C语言里,关于库函数中各种数学函数的代码。
你说的就是库函数的源码,也就是glibc,源码在ftp://ftp.gnu.org/gnu/glibc可以下到,比如下载ftp://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.gz,打开后就可以看到你需要的各种库的具体实现代码,比如在string中的strcat.c中就有
char*strcat(dest,src)
char*dest;
constchar*src;
{
char*s1=dest;
constchar*s2=src;
reg_charc;
/*Findtheendofthestring.*/
do
c=*s1++;
while(c!='