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
)。