<math.h> — 数学函数

头文件: #include <math.h>
提供三角函数、指数/对数、幂次、取整等数学运算。编译时需链接数学库:-lm


编译与链接

gcc program.c -lm     # 必须显式链接 libm

三角函数(参数均为弧度)

函数说明
sin, cos, tan正弦、余弦、正切
asin, acos, atan反三角函数
atan2(y, x)计算 y/x 的反正切,根据符号确定象限,值域 (-pi, pi]

指数与对数

函数说明
exp(x)e^x
log(x)自然对数 ln(x),x > 0
log10(x)常用对数 log10(x)
expm1(x)e^x - 1,x 接近 0 时精度更高 (C99)
log1p(x)ln(1+x),x 接近 0 时精度更高 (C99)

幂次与根

函数说明
pow(x, y)x^y;x 为负且 y 非整数时报错
sqrt(x)平方根,x >= 0
cbrt(x)立方根,x 可为负 (C99)
hypot(x, y)sqrt(x^2 + y^2),避免上溢/下溢 (C99)

取整与绝对值

函数说明示例
fabs(x)绝对值fabs(-3.5) -> 3.5
ceil(x)向上取整ceil(3.1) -> 4.0
floor(x)向下取整floor(3.9) -> 3.0
round(x)四舍五入,0.5 远离零round(0.5) -> 1.0
trunc(x)向零取整trunc(-3.9) -> -3.0

取余与分割

函数说明
fmod(x, y)浮点取余;结果符号与 x 相同
modf(x, iptr)分解为整数部分(存于 iptr)和小数部分(返回值)

跨语言参考