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

news/2024/9/22 19:35:34/

目录

引言

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.ppmy.cn/news/1528979.html

相关文章

数据结构:堆排序

更完堆&#xff0c;再更一期堆排序 利用容器实现堆排序 在C等高级语言中&#xff0c;基本上都有堆或者优先队列等容器&#xff0c;借助这些容器很容易实现堆排序。 将数组里面的元素先插入到容器中&#xff0c;建好堆&#xff0c; 接着将容器中的元素&#xff0c;按照升序或降…

C++ boost——时间与日期

文章目录 timerprogress_timerdate_time创建日期访问日期日期输出转换C结构日期长度日期运算日期区间日期区间运算日期迭代器其他功能综合运用 timer 是一个小型计时器&#xff0c;提供毫秒级的精度 适用于要求不高的程序计时任务 class timer { public :timer()(_start_time…

2024年9月16日--9月22日,(工作日源码抄写+周末ue5肉鸽独立游戏)

继续进行&#xff0c;按照周一到周五每天晚上在公司抄3小时源码gpu精粹催眠&#xff0c;周末独立游戏的方式&#xff0c;也就是说&#xff0c;要把独立游戏在周末做下去较长的一段时间&#xff0c;看看这条路能不能走通。 具体执行情况&#xff1a; 周一&#xff1a; 15&#…

SQL优化之深度分页优化

深度分页是指在分页查询场景下&#xff0c;当数量很大时&#xff0c;随着页数的增大&#xff0c;查询会变得越慢&#xff0c;数据库在梳理分页查询时需要跳过大量的数据&#xff0c;降低查询效率。 //查询第 1 到第 20 条商品 select * from products limit 20 offset 0; sele…

Python 二级考试

易错点 电脑基础知识 定义学生关系模式如下&#xff1a;Student &#xff08;S#&#xff0c; Sn&#xff0c; Ssex&#xff0c;class&#xff0c;monitorS#&#xff09;&#xff08;其属性分别为学号、学生名、性别、班级和班长学号&#xff09; 在关系模式中&#xff0c;如果…

Spring Boot-定时任务问题

Spring Boot 定时任务问题及其解决方案 1. 引言 在企业级应用中&#xff0c;定时任务是一项常见需求&#xff0c;通常用于自动化执行某些操作&#xff0c;如数据备份、日志清理、系统监控等。Spring Boot 提供了简洁易用的定时任务机制&#xff0c;允许开发者通过简单的配置来…

Python计算机视觉第十章-OpenCV

目录 10.1 OpenCV的Python接口 10.2 OpenCV基础知识 10.2.1 读取和写入图像 10.2.2 颜色空间 10.2.3 显示图像及结果 10.3 处理视频 10.3.1 视频输入 10.3.2 将视频读取到NumPy数组中 10.4 跟踪 10.4.1 光流 10.4.2 Lucas-Kanade算法 10.1 OpenCV的Python接口 O…

【算法业务】互联网风控业务中的拒绝推断场景算法应用分享(涉及半监督算法、异常检测、变分自编码、样本权重自适应调整、迁移学习等)

1. 业务目标和任务描述 该项目是很早期的一个工作&#xff0c;属于互联网信贷风控场景&#xff0c;研究并应用信贷中的拒绝推断任务&#xff0c;处理方式也许对于目前的一些业务还有参考意义&#xff0c;因此这里做下分享。拒绝推断是指在信贷业务中&#xff0c;利用已知的接受…