math.h函数
math.c函数作用
1. 基本三角函数(参数为弧度)
sin(double x)
:计算正弦值。cos(double x)
:计算余弦值。tan(double x)
:计算正切值。asin(double x)
:反正弦(返回值范围:[-π/2, π/2]
)。acos(double x)
:反余弦(返回值范围:[0, π]
)。atan(double x)
:反正切(返回值范围:[-π/2, π/2]
)。atan2(double y, double x)
:四象限反正切(返回值范围:[-π, π]
)。
2. 双曲函数
sinh(double x)
:双曲正弦。cosh(double x)
:双曲余弦。tanh(double x)
:双曲正切。asinh(double x)
:反双曲正弦。acosh(double x)
:反双曲余弦(要求x ≥ 1
)。atanh(double x)
:反双曲正切(要求|x| < 1
)。
3. 指数与对数函数
exp(double x)
:计算自然指数 e**x。log(double x)
:自然对数 ln(x)(要求x > 0
)。log10(double x)
:常用对数 log10(x)(要求x > 0
)。log2(double x)
:以 2 为底的对数(C99 新增)。pow(double x, double y)
:计算 x**y。sqrt(double x)
:平方根(要求x ≥ 0
)。cbrt(double x)
:立方根(C99 新增)。
4. 绝对值与取整
fabs(double x)
:浮点数绝对值。ceil(double x)
:向上取整(返回不小于x
的最小整数)。floor(double x)
:向下取整(返回不大于x
的最大整数)。trunc(double x)
:截断取整(直接去除小数部分,C99 新增)。round(double x)
:四舍五入取整(C99 新增)。
5. 其他常用函数
hypot(double x, double y)
:计算 x2+y2(常用于求直角三角形斜边)。fmod(double x, double y)
:浮点数取余(结果符号与x
相同)。remainder(double x, double y)
:IEEE 754 标准的余数(C99 新增)。fma(double x, double y, double z)
: fused multiply-add(计算x*y + z
,C99 新增)。
使用示例
#include <stdio.h>
#include <math.h>int main() {double x = 2.5;printf("sin(%.2f) = %.2f\n", x, sin(x)); // 三角函数printf("exp(%.2f) = %.2f\n", x, exp(x)); // 指数函数printf("sqrt(%.2f) = %.2f\n", x, sqrt(x)); // 平方根printf("ceil(%.2f) = %.2f\n", x, ceil(x)); // 向上取整return 0;
}
编译注意:使用math.h
函数时,需要在编译命令中添加-lm
链接数学库(例如:gcc your_file.c -o output -lm
)。