当前位置: 首页 > news >正文

【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):

    • 作用:计算 baseexponent 次方。
    • 示例pow(2, 3) 返回 8.0
  • exp(double x):

    • 作用:计算 e 的 x 次方(自然指数函数)。
    • 示例exp(1) 返回近似 2.71828
  • 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;
}

通过使用这些数学函数,可以广泛地应用于工程计算、科学研究,以及其它需要复杂数学运算的场合。


http://www.mrgr.cn/news/48759.html

相关文章:

  • 浅谈钓鱼攻防之道-制作免杀word文件钓鱼
  • 幽默视频下载网站推荐
  • C#拓展方法
  • 一文搞懂什么是 classpath
  • 备受好评的 5 款安卓手机数据恢复工具推荐
  • vim实用笔记
  • Windows 下 cocos2d-x-3.17.2 VS2017开发环境搭建
  • 机器学习与神经网络:从技术前沿到诺贝尔奖的跨越与未来展望
  • Python酷库之旅-第三方库Pandas(145)
  • 【Adobe全家桶】 Adobe 全家桶 AE AU PR ME WIN MAC 各个版本
  • 安卓无障碍获取录屏权限
  • C语言中缓冲区底层实现以及数据输入的处理
  • Linux内核USB3.0驱动框架分析--USB主机控制器hcd驱动分析
  • 【经管】上市公司供应链金融数据(1990-2023年)
  • React
  • 题解:牛客小白月赛102(A - C)
  • ASR-01和ESP32语音控制LED灯——基于VSCODE编辑器和ESP-IDF环境
  • 《Spring Cloud 微服务:构建高效、灵活的分布式系统》
  • 优秀的面试官!通过一个问题考察了所有网络编程知识点
  • Floyd