【C语言教程】【常用类库】(四)数学函数库 - <math.h>
4. 数学函数库 - <math.h>
4.1 基础数学函数
在C语言中,要进行数学计算,需要使用<math.h>
库,该库提供了一系列常用的数学函数。
4.1.1 三角函数:sin
, cos
, tan
这些函数用于计算给定角度(以弧度为单位)的正弦、余弦和正切值。
-
sin(double x)
:- 作用:返回角度
x
的正弦值。 - 示例:
sin(M_PI / 2)
返回1.0
。
- 作用:返回角度
-
cos(double x)
:- 作用:返回角度
x
的余弦值。 - 示例:
cos(0)
返回1.0
。
- 作用:返回角度
-
tan(double x)
:- 作用:返回角度
x
的正切值。 - 示例:
tan(M_PI / 4)
返回1.0
。
- 作用:返回角度
#include <stdio.h>
#include <math.h>
int main() {
double radians = M_PI / 4;
printf("sin(π/4) = %f\n", sin(radians));
printf("cos(π/4) = %f\n", cos(radians));
printf("tan(π/4) = %f\n", tan(radians));
return 0;
}
4.1.2 幂函数和对数函数:pow
, exp
, log
这些函数用于指数、对数运算。
-
pow(double base, double exponent)
:- 作用:计算
base
的exponent
次方。 - 示例:
pow(2, 3)
返回8.0
。
- 作用:计算
-
exp(double x)
:- 作用:计算 e 的
x
次方(自然指数函数)。 - 示例:
exp(1)
返回近似2.71828
。
- 作用:计算 e 的
-
log(double x)
:- 作用:返回
x
的自然对数。 - 示例:
log(exp(1))
返回1.0
。
- 作用:返回
#include <stdio.h>
#include <math.h>
int main() {
printf("pow(2, 3) = %f\n", pow(2.0, 3.0));
printf("exp(1) = %f\n", exp(1));
printf("log(e) = %f\n", log(exp(1)));
return 0;
}
4.1.3 其它基础函数:sqrt
, fabs
-
sqrt(double x)
:- 作用:计算
x
的平方根。 - 示例:
sqrt(9)
返回3.0
。
- 作用:计算
-
fabs(double x)
:- 作用:返回
x
的绝对值。 - 示例:
fabs(-5.5)
返回5.5
。
- 作用:返回
#include <stdio.h>
#include <math.h>
int main() {
printf("sqrt(9) = %f\n", sqrt(9));
printf("fabs(-5.5) = %f\n", fabs(-5.5));
return 0;
}
4.2 高级数学函数
4.2.1 双曲函数:sinh
, cosh
, tanh
这些函数用于计算双曲正弦、双曲余弦和双曲正切,其使用方法与普通三角函数类似。
-
sinh(double x)
:- 作用:计算
x
的双曲正弦。
- 作用:计算
-
cosh(double x)
:- 作用:计算
x
的双曲余弦。
- 作用:计算
-
tanh(double x)
:- 作用:计算
x
的双曲正切。
- 作用:计算
#include <stdio.h>
#include <math.h>
int main() {
double value = 1.0;
printf("sinh(1) = %f\n", sinh(value));
printf("cosh(1) = %f\n", cosh(value));
printf("tanh(1) = %f\n", tanh(value));
return 0;
}
4.2.2 圆周率常量:M_PI
在一些编译环境中,<math.h>
定义 M_PI
常量表示圆周率(π)。 使用它可以提高代码的可读性和准确性。
- 示例——使用常量
M_PI
:#include <stdio.h> #include <math.h> int main() { printf("π ≈ %f\n", M_PI); return 0; }
4.3 数值分析与误差控制
4.3.1 误差累积问题及解决办法
在数值计算中,浮点运算的不精确可能导致误差累积。应关注以下几个方面:
- 浮点精度:使用双精度浮点数(
double
)替代单精度(float
)来减少误差。 - 算法选择:选择稳定的数值算法,避免产生较大误差。
4.3.2 常见数值分析函数及应用
- 在数值分析中,常用到线性代数计算,数值积分和微分,可以结合C语言中的数学函数库实现金融和工程中的计算。
#include <stdio.h>
#include <math.h>
int main() {
double x = 0.1;
for(int i = 0; i < 10; i++) {
x += 0.1;
printf("x = %.17f\n", x);
}
return 0;
}
通过使用这些数学函数,可以广泛地应用于工程计算、科学研究,以及其它需要复杂数学运算的场合。
原文地址:https://blog.csdn.net/fjw12998/article/details/142885408
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!