C语言中的数学库math.h介绍

news/2024/11/20 13:44:34/

目录

1、三角函数

2、双曲函数

3、指数函数与对数函数

4、幂函数

5、误差与伽马函数

6、四舍五入与余数函数

7、绝对值、最小、最大 Absolute、Minimum, maximum


C语言中的数学函数库是math.h,它提供了许多常用的数学函数,如三角函数、指数函数、对数函数、幂函数、取整函数等等。

下面是math.h中一些常用的函数及其用法:

1、三角函数

sin(x):计算正弦函数的值,x为弧度制的角度。

cos(x):计算余弦函数的值,x为弧度制的角度。

tan(x):计算正切函数的值,x为弧度制的角度。

acos() 反余弦函数

asin() 反正弦函数

atan() 反正切函数

atan2() 带两个参数的反正切函数

#include <math.h>
#include <stdio.h>int main()
{double angle = 30.0;double radian = angle * M_PI / 180.0;double result = sin(radian);printf("sin(%lf) = %lf\n", angle, result);return 0;
}

2、双曲函数

双曲余弦函数cosh()

双曲正弦函数sinh()

双曲正切函数tanh()

/* tanh example */
#include <stdio.h>      /* printf */
#include <math.h>       /* tanh, log */int main ()
{double param, result;param = log(2.0);result = tanh (param);printf ("The hyperbolic tangent of %f is %f.\n", param, result);return 0;
}

3、指数函数与对数函数

exp () 指数函数,以 e 为底数

frexp(param,n) 二进制浮点数表示方法 x=param*2^n

log(x) x的自然对数 (Natural logarithm of x)

log10() 常用对数,以10为底 ( Common logarithm of x )

modf() 返回x的小数部分,其符号与x相同 ,但是参数中可以添加整数部分的变量( The fractional part of x, with the same sign)

exp2() 返回2的x次方,2 raised to the power of x.

log2() x的二进制对数( The binary logarithm of x)

/* log2 example */
#include <stdio.h>      /* printf */
#include <math.h>       /* log2 */int main ()
{double param, result;param = 1024.0;result = log2 (param);printf ("log2 (%f) = %f.\n", param, result );return 0;
}

4、幂函数

pow(base, power) 幂函数 The result of raising base to the power exponent

sqrt(x) 计算x的平方根

cbrt(x) 计算x的立方根

hypot(x,y) 计算直角三角形的斜边 ( The square root of (x^2+y^2) )

/* hypot example */
#include <stdio.h>      /* printf */
#include <math.h>       /* hypot */int main ()
{double leg_x, leg_y, result;leg_x = 3;leg_y = 4;result = hypot (leg_x, leg_y);printf ("%f, %f and %f form a right-angled triangle.\n",leg_x,leg_y,result);return 0;
}

5、误差与伽马函数

误差函数erf(x)

余差函数erfc(x) erfc(x) = 1-erf(x) 误差函数的补函数

tgamma(x) 伽马函数 ( the gamma function )

lgamma(x) log伽马函数 ( log-gamma function )

/* lgamma example */
#include <stdio.h>      /* printf */
#include <math.h>       /* lgamma */int main ()
{double param, result;param = 0.5;result = lgamma (param);printf ("lgamma(%f) = %f\n", param, result );return 0;
}

6、四舍五入与余数函数

ceil(x) x上取整函数

floor(x) x的下取整函数

fmod(y, x) y/x的余数

round(x) x的四舍五入值

/* round vs floor vs ceil vs trunc */
#include <stdio.h>      /* printf */
#include <math.h>       /* round, floor, ceil, trunc */int main ()
{const char * format = "%.1f \t%.1f \t%.1f \t%.1f \t%.1f\n";printf ("value\tround\tfloor\tceil\ttrunc\n");printf ("-----\t-----\t-----\t----\t-----\n");printf (format, 2.3,round( 2.3),floor( 2.3),ceil( 2.3),trunc( 2.3));printf (format, 3.8,round( 3.8),floor( 3.8),ceil( 3.8),trunc( 3.8));printf (format, 5.5,round( 5.5),floor( 5.5),ceil( 5.5),trunc( 5.5));printf (format,-2.3,round(-2.3),floor(-2.3),ceil(-2.3),trunc(-2.3));printf (format,-3.8,round(-3.8),floor(-3.8),ceil(-3.8),trunc(-3.8));printf (format,-5.5,round(-5.5),floor(-5.5),ceil(-5.5),trunc(-5.5));return 0;
}

7、绝对值、最小、最大 Absolute、Minimum, maximum

fabs(x) x的绝对值函数

abs(x) x的绝对值

fmax(x, y) 两个参数中的最大值 (The maximum numeric value of its arguments. Values among which the function selects a maximum )

fmin(x, y) 两个参数中的最小值

/* fmin example */
#include <stdio.h>      /* printf */
#include <math.h>       /* fmin */int main ()
{printf ("fmin (100.0, 1.0) = %f\n", fmin(100.0,1.0));printf ("fmin (-100.0, 1.0) = %f\n", fmin(-100.0,1.0));printf ("fmin (-100.0, -1.0) = %f\n", fmin(-100.0,-1.0));return 0;
}

当然,上面只列举了部分常用的函数,更多的内容,可以在需要的时候查阅相关手册。


http://www.ppmy.cn/news/89088.html

相关文章

MySQL mysqldump备份数据库(附带实例)

数据库的主要作用就是对数据进行保存和维护&#xff0c;所以备份数据是数据库管理中最常用的操作。为了防止数据库意外崩溃或硬件损伤而导致的数据丢失&#xff0c;数据库系统提供了备份和恢复策略。 保证数据安全的最重要的一个措施就是定期的对数据库进行备份。这样即使发生…

linuxOPS基础_运维概述,及其泛概念

运维岗位定义 什么是运维&#xff1f; ​ 在技术人员&#xff08;写代码的&#xff09;之间&#xff0c;一致对运维有一个开玩笑的认知&#xff1a;运维就是修电脑的、装网线的、背锅的岗位。 ​ IT运维管理是指为了保障企业IT系统及网络的可用性、安全性、稳定性&#xff0…

实时时钟 RTC(2)

RTC 使能与停止 RTC 上电后立即启动&#xff0c;不可关闭&#xff0c;软件应在32K 晶体振荡器完全起振后再设置当前时间&#xff1b;在晶体振荡器起振之前芯片使用内部环振计时&#xff0c;偏差较大。 RTC 时间设置 软件可以在任意时刻直接设置RTC 时间寄存器&#xff1b;由于…

SAP 从入门到放弃系列之安全库存

概念 安全库存的主要目的是以一定数量的库存或时间的作为缓冲区间&#xff0c;以应对供需之间波动的影响。SAP ERP 系统提供两种类型的安全库存&#xff1a;静态安全库存和动态安全库存&#xff08;即安全天数供应&#xff09;。 静态安全库…

智能指针: share_ptr(共享智能指针)

智能指针 c中不像java自带垃圾回收机制&#xff0c;必须释放掉分配的内存&#xff0c;否则机会造成内存泄漏。因此c11加入了智能指针。智能指针是存储指向动态分配&#xff08;堆&#xff09;对象指针的类&#xff0c;用于生存期的控制&#xff0c;能够确保在离开指针所在作用…

Kubernetes 准入控制器

Kubernetes 极大地提高了当今生产中后端集群的速度和可管理性。由于灵活、可扩展、易用&#xff0c;Kubernetes 已成为容器编排的事实标准。Kubernetes 还提供了一系列保护功能。而 Admission Controllers&#xff08;准入控制器&#xff09; 是一组安全相关的插件&#xff0c;…

Java的Atomic原子类

Java SDK 并发包里提供了丰富的原子类&#xff0c;我们可以将其分为五个类别&#xff0c;这五个类别提供的方法基本上是相似的&#xff0c;并且每个类别都有若干原子类。 对基本数据类型的变量值进行原子更新&#xff1b;对对象变量的指向进行原子更新&#xff1b;对数组里面的…

Golang中函数的使用

目录 函数 函数特点 函数的使用 函数定义 函数的参数 函数的返回值 函数的变量作用域 函数的递归调用 函数的可变参数 函数的闭包 函数的 defer 语句 注意 函数 函数调用&#xff1a;函数调用时需要传递函数定义中要求的参数&#xff0c;并根据需要接收返回值。 …