C语言中的数学函数 (math.h)
C语言标准库通过 math.h 头文件提供了丰富的数学计算函数。使用前必须引入该头文件:#include <math.h>。
1. 函数类型后缀(float / long double 版本)
默认的数学函数(如 sqrt、ceil)处理的是 double 类型。
- 末尾加
f:处理float类型(如ceilf()、sqrtf())。 - 末尾加
l:处理long double类型(如ceill()、sqrtl())。
2. 数值计算函数(表 2-11)
常用基础数学函数如下:
| 函数 | 操作说明 | 示例(x=2.25) |
|---|---|---|
floor(x) | 向下取整(不大于x的最大整数) | floor(2.25) → 2 |
ceil(x) | 向上取整(不小于x的最小整数) | ceil(2.25) → 3 |
fabs(x) | 返回x的绝对值 | fabs(-2.25) → 2.25 |
log(x) | 自然对数(底为 e) | – |
log10(x) | 常用对数(底为 10) | – |
exp(x) | 返回 e^x 的值 | – |
sqrt(x) | 返回x的平方根 | sqrt(2.25) → 1.5 |
pow(x, y) | 返回 x^y 的幂值 | pow(2, 3) → 8.0 |
代码示例:
#include <stdio.h>
#include <math.h>
int main(void)
{
double x = 2.25;
double less = floor(x); // 2.0
double more = ceil(x); // 3.0
double root = sqrt(x); // 1.5
printf("floor: %.0lf\n", less);
printf("ceil: %.0lf\n", more);
printf("sqrt: %.2lf\n", root);
return 0;
}Code language: PHP (php)
3. 三角函数(表 2-12)与弧度转换
常用三角函数:
| 函数 | 操作说明 |
|---|---|
sin(x) | x(弧度值)的正弦 |
cos(x) | x 的余弦 |
tan(x) | x 的正切 |
重要规则:参数需为弧度值。
角度转弧度公式:弧度 = 角度 / 180.0 * π。
(注:原文中“180度为1弧度”为口误,实际应为π弧度=180度,即 180度对应约 3.14159 弧度)。
代码示例与纠错:
原文示例中变量名 consine 拼写错误,且求余弦应调用 cos() 函数:
#include <stdio.h>
#include <math.h>
int main(void)
{
double angle = 45.0;
double pi = 3.14159265;
double radian = pi * angle / 180.0; // 角度转弧度
double sine = sin(radian); // 正确调用正弦
double cosine = cos(radian); // 正确调用余弦,变量名修正为 cosine
printf("sin(45) = %.2lf\n", sine);
printf("cos(45) = %.2lf\n", cosine);
return 0;
}Code language: PHP (php)
4. 扩展函数
按需学习的高级函数:
- 反三角函数:
asin()(反正弦)、acos()(反余弦)、atan()(反正切)。 - 双曲函数:
sinh()、cosh()、tanh()。