头文件中说明了数学函数和宏。
宏EDOM和ERANGE(定义在头文件中)是两个非0整常量,用于引发各个数学函数的定义域错误和值域错误;HUGE_VAL是一个double类型的正数。当变量取值在函数的定义域之外时,就会出现定义域错误。在发生定义域错误时,全局变量errno的值被置为EDOM,函数的返回值视具体实现而定。如果函数的结果不能用double类型表示,那么就会发生值域错误。当结果上溢时,函数返回HUGE_VAL并带有正确的符号(正负号),errno的值被置为ERANGE。当结果下溢时,函数返回0,而errno是否被设置为ERANGE视具体实现而定。
4.1 sin
double sin(double arg);
返回arg的正弦值,arg单位为弧度。
4.2 cos
double cos(double arg);
返回arg的余弦值,arg单位为弧度。
4.3 tan
double tan(double arg);
返回arg的正切值,arg单位为弧度。
4.4 asin
double asin(double arg);
返回arg的反正弦值sin-1(x),值域为[-pi/2,pi/2], 其中变量范围[-1,1]。
4.5 acos
double acos(double arg);
返回arg的反余弦值cos-1(x),值域为[0,pi], 其中变量范围[-1,1]。
4.6 atan
double atan(double arg);
返回arg的反正切值tan-1(x),值域为[-pi/2,pi/2]。
4.7 atan2
double atan2(double a, double b);
返回a/b的反正切值tan-1(a/b),值域为[-pi,pi]。
4.8 sinh
double sinh(double arg);
返回arg的双曲正弦值。
4.9 cosh
double cosh(double arg);
返回arg的双曲余弦值。
4.10 tanh
double tanh(double arg);
返回arg的双曲正切值。
4.11 exp
double exp(double arg);
返回幂函数e^x。
4.12 log
double log(double arg);
返回自然对数ln(x),其中变量范围arg > 0。
4.13 log10
double log10(double arg);
返回以10为底的对数log10(x),其中变量范围arg > 0。
4.14 pow
double pow(double x, double y);
返回x^y,如果x=0且y<=0或者如果x<0且y不是整数,那么产生定义域错误。
4.15 sqrt
double sqrt(double arg);
返回arg的平方根,其中变量范围arg>=0。
4.16 ceil
double ceil(double arg);
返回不小于arg的最小整数。
4.17 floor
double floor(double arg);
返回不大于arg的最大整数。
4.18 fabs
double fabs(double arg);
返回arg的绝对值|x|。
4.19 ldexp
double ldexp(double num, int exp);
返回num * 2^exp。
4.20 frexp
double frexp(double num, int *exp);
把num分成一个在[1/2,1)区间的真分数和一个2的幂数。将真分数返回,幂数保存在*exp中。如果num等于0,那么这两部分均为0。
4.21 modf
double modf(double num, double *i);
把num分成整数和小数两部分,两部分均与num有同样的正负号。函数返回小数部分,整数部分保存在*i中。
4.22 fmod
double fmod(double a, double b);
返回a/b的浮点余数,符号与a相同。如果b为0,那么结果由具体实现而定。