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

目录

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 
#include 

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       /* printf */
#include        /* 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       /* printf */
#include        /* 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       /* printf */
#include        /* 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       /* printf */
#include        /* 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       /* printf */
#include        /* 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       /* printf */
#include        /* 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;
}

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

你可能感兴趣的:(开发语言,c语言,开发语言)