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!='