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

C语言6大常用标准库 -- 4.<math.h>

目录

引言

4. C标准库--math.h

4.1 简介

4.2 库变量

4.3 库宏

4.4 库函数

 4.5 常用的数学常量


🌈你好呀!我是 程序猿

🌌 2024感谢你的陪伴与支持 ~

🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!


引言

        C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。

        C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程序员之间都得到广泛使用。

        C 标准库(C Standard Library)包含了一组头文件,这些头文件提供了许多函数和宏,用于处理输入输出、字符串操作、数学计算、内存管理等常见编程任务。

4. C标准库--math.h

4.1 简介

       math.h 头文件定义了各种数学函数和一个宏。在这个库中所有可用的功能都带有一个 double 类型的参数,且都返回 double 类型的结果。

       <math.h> 是 C 标准库中的一个头文件,包含了大量用于数学运算的函数和宏。这些函数和宏提供了基本的算术运算、三角函数、指数函数、对数函数、幂函数、舍入函数等。

       <math.h> 提供了一系列的数学函数和常量,帮助程序员在 C 语言中进行各种数学计算。通过使用这些函数和常量,可以轻松实现复杂的数学运算,从而提高程序的效率和可读性。

4.2 库变量

<stdio.h> 中定义的变量类型
N0.变量 & 描述
1-

4.3 库宏

<stdio.h> 中定义的宏
N0.宏 & 描述
1

HUGE_VAL

当函数结果溢出时返回的值(正无穷大)。此宏代表一个非常大的双精度浮点数,通常用来作为某些数学函数在结果超出可表示范围时的返回值。当一个函数的结果太大以至于无法用正常的浮点数表示(即发生上溢)时,会设置 errno 为 ERANGE(范围错误),并返回 HUGE_VAL 或其负值(对于负无穷大)。

2

HUGE_VALF

当函数结果溢出时返回的值(正无穷大,浮点型)

3

HUGE_VALL

当函数结果溢出时返回的值(正无穷大,长双精度)

4

INFINITY

正无穷大

5

NAN

非数字值(Not-A-Number)

6

FP_INFINITE

表示无穷大

7

FP_NAN

表示非数字值

8

FP_NORMAL

表示正常的浮点数

9

FP_SUBNORMAL

表示次正规数

10

FP_ZERO

表示零

4.4 库函数

<stdio.h> 中定义的库函数
N0.函数 & 描述
1double acos(double x)
返回以弧度表示的 x 的反余弦。
2double asin(double x)
返回以弧度表示的 x 的反正弦。
3double atan(double x)
返回以弧度表示的 x 的反正切。
4double atan2(double y, double x)
返回以弧度表示的 y/x 的反正切。y 和 x 的值的符号决定了正确的象限。
5double cos(double x)
返回弧度角 x 的余弦。
6double cosh(double x)
返回 x 的双曲余弦。
7double sin(double x)
返回弧度角 x 的正弦。
8double sinh(double x)
返回 x 的双曲正弦。
9double tanh(double x)
返回 x 的双曲正切。
10double exp(double x)
返回 e 的 x 次幂的值。
11double frexp(double x, int *exponent)
把浮点数 x 分解成尾数和指数。返回值是尾数,并将指数存入 exponent 中。所得的值是 x = mantissa * 2 ^ exponent。
12double ldexp(double x, int exponent)
返回 x 乘以 2 的 exponent 次幂。
13double log(double x)
返回 x 的自然对数(基数为 e 的对数)。
14double log10(double x)
返回 x 的常用对数(基数为 10 的对数)。
15double modf(double x, double *integer)
返回值为小数部分(小数点后的部分),并设置 integer 为整数部分。
16double pow(double x, double y)
返回 x 的 y 次幂。
17double sqrt(double x)
返回 x 的平方根。
18double ceil(double x)
返回大于或等于 x 的最小的整数值。
19double fabs(double x)
返回 x 的绝对值。
20double floor(double x)
返回小于或等于 x 的最大的整数值。
21double fmod(double x, double y)
返回 x 除以 y 的余数。

 4.5 常用的数学常量

<stdio.h> 中常用的数学常量
M_PI3.14159265358979323846圆周率 π
M_E2.71828182845904523536自然对数的底数 e
M_LOG2E1.44269504088896340736log2(e)
M_LOG10E0.43429448190325182765log10(e)
M_LN20.69314718055994530942    ln(2)
M_LN102.30258509299404568402    ln(10)
M_PI_21.57079632679489661923    π/2
M_PI_40.78539816339744830962    π/4
M_1_PI0.31830988618379067154    1/π
M_2_PI0.63661977236758134308    2/π
M_2_SQRTPI1.12837916709551257390    2/√π
M_SQRT21.41421356237309504880√2
M_SQRT1_20.707106781186547524401/√2


  ​期待批评指正,共同进步~


http://www.kler.cn/a/315183.html

相关文章:

  • 1.7 JS性能优化
  • kafka面试题解答(四)
  • 性能优化、安全
  • GIS空间分析案例---城市公共设施配置与服务评价
  • 基于混合配准策略的多模态医学图像配准方法研究
  • vue2或vue3的name属性有什么作用?
  • Docker学习笔记(三)存储与卷
  • Vite + Vue + TypeScript 项目搭建总结
  • OpenMV学习第一步安装IDE_2024.09.20
  • 使用API有效率地管理Dynadot域名,为域名进行隐私保护设置
  • (C++23) expected 基础使用
  • hive-拉链表
  • 代码随想录算法训练营|151.翻转字符串里的单词 、卡码网:55.右旋转字符串
  • 分布式Redis(14)哈希槽
  • 深入理解Go并发编程:避免Goroutine泄漏与错误处理
  • C++_数据封装详解
  • 综述论文“Towards Personalized Federated Learning”分享
  • 研究生第一次刷力扣day1
  • 认识结构体
  • Docker笔记-Docker Dockerfile
  • 语言模型的在线策略提炼:从自我错误中学习
  • Redis数据结构之set
  • 音视频入门基础:AAC专题(8)——FFmpeg源码中计算AAC裸流AVStream的time_base的实现
  • Qt:静态局部变量实现单例(附带单例使用和内存管理)
  • socket是什么?为什么要用socket?
  • Python 实现图形学几何变换算法