C语言函数—数学函数

C语言常用函数分类总结

 

一、C语言常用的数学函数

 

要使用这些函数时,必须在程序文件头加入:#include <math.h>

函数说明如下:

1、double sin(double x)   x 的正弦函数值

2、double cos(double x)   x 的余弦函数值

3、double tan(double x)   x 的正切函数值

4、double asin(double x) x 的反正弦函数值 sin-1x,x的值在 [-1,1] 之间,传回的值在 [-p/2,p/2] 之间

5、double acos(double x) x 的反余弦函数值cos-1x,x的值在 [-1,1] 之间,传回的值在 [-p/2,p/2] 之间

6、double atan(double x)   x 的反正切函数值tan-1x,传回的值在 [-p/2,p/2] 之间

7、double atan2(double y, double x) y/x 的反正切函数值tan-1(y/x),传回的值在 [-p, p] 之间

8、double sinh(double x)    x 的双曲正弦函数值

9、double cosh(double x)    x 的双曲余弦函数值

10、double tanh(double x)   x 的双曲正切函数值

11、double exp(double x)    x 的指数函数 ex

12、double log(double x)     x 的自然对数 ln(x),x > 0

13、double log10(double x)   x 底数为 10 的对数,log10x,x > 0

14、double pow(double x, double y)     x 的 y 次方 xy

15、double sqrt(double x)             x 的根号值 √x

16、double ceil(double x)             不小于 x 的最小整数(但其型别为 double)

17、double floor(double x)            不大于 x 的最大整数(但其型别为 double)

18、int abs(int x)                    整数 x 的绝对值 |x|

19、long labs(long x)                长整数 x 的绝对值 |x|

20、double fabs(double x)             实数 x 的绝对值 |x|

21、double ldexp(double x, int n)        eg: y=ldexp(x,n);   printf("x=%ftn=%dty=%fn",x,n,y);

22、double fmod(double x, double y)     x/y 的浮点数余数,符号与 x 相同

 

二、三角函数:(所有参数必须为弧度)
 
 1.acos

   函数申明:acos  (double x);
   用途:用来返回给定的 X 的反余弦函数。

 2.asin

   函数申明:asin  (double x);
   用途:用来返回给定的 X 的反正弦函数。

 3.atan

   函数申明:atan  (double x);
   用途:用来返回给定的 X 的反正切函数。

 4.sin

   函数声明:sin   (double x);
   用途:用来返回给定的 X 的正弦值。

 5.cos

   函数声明:cos   (double x);
   用途:用来返回给定的 X 的余弦值。

 6.tan

   函数声明:tan   (double x);
   用途:用来返回给定的 X 的正切值。

 7.atan2

   函数声明:atan2 (double y, double x);
   用途:返回给定的 X 及 Y 坐标值的反正切值
 
三、其他函数:

 

 8.atof

  函数名: atof  (const char *s);
  功  能: 把字符串转换成浮点数
  用  法: double atof(const char *nptr);
  程序例:
   #i nclude <stdlib.h>
   #i nclude <stdio.h>

   int main(void)
   {

    float arg,*point=&arg;
    float f;
    char *str = "12345.67";

    f = atof(str);
    printf("string = %s float = %f/n", str, f);
    return 0;
   }

 

 9. ceil  和 floor

   函数名: ceil 
                 floor
   功  能: 向上舍入
        向下舍入
   用  法: double ceil(double x);
        double floor(double x);
   程序例:

   #i nclude<math.h>

   int main(void)
   {
    double number = 123.54;
    double down, up;

    down = floor(number);
    up = ceil(number);

    printf("original number     %5.2lf/n", number);
    printf("number rounded down %5.2lf/n", down);
    printf("number rounded up   %5.2lf/n", up);

    return 0;
  }该程序运行结果:original number     123.54
                   number rounded down 123.00
                   number rounded up   124.00
 

 10.fabs

    函数名:fabs
    功能:求浮点数x的绝对值.
    用法:fabs  (double x);

 

 11.fmod

    函数名: fmod
    功  能: 计算x对y的模, 即x/y的余数
    用  法: double fmod(double x, double y);
    程序例:

    #i nclude <stdio.h>
    #i nclude <math.h>

    int main(void)
    {
     double x = 5.0, y = 2.0;
     double result;

     result = fmod(x,y);
     printf("The remainder of (%lf / %lf) is /
          %lf/n", x, y, result);
     return 0;
    }

 

 12.abs

   函数名:abs
   功能:返回整型数的绝对值.
   用法:Abs(number)
        number 参数可以是任意有效的数值表达式。如果 number 包含 Null,则返回 Null;如果是未初始化变量,则返回 0.

 

四、幂指数:

 

 13.exp

    函数名:exp
    功能:返回 e 的 n 次幂.
    用法:exp   (double x);

 

 14.frexp

    函数名: frexp
    功  能: 把一个双精度数分解为尾数的指数
    用  法: double frexp(double value, int *eptr);
    程序例:

    #i nclude <math.h>
    #i nclude <stdio.h>

    int main(void)
    {
      double mantissa, number;
      int exponent;
      number = 8.0;
      mantissa = frexp(number, &exponent);
      printf("The number %lf is ", number);
      printf("%lf times two to the ", mantissa);
      printf("power of %d/n", exponent);
      return 0;
    }

 

 15.log

    函数名:log
    功 能: 自然对数函数ln(x)
    用 法: double log(double x);
    程序例:

    #i nclude <math.h>
    #i nclude <stdio.h>
    int main(void)
    {
     double result;
     double x = 8.6872;
     result = log(x);
     printf("The natural log of %lf is %lf/n", x, result);
     return 0;
    }

   log(x,y)=ln(y)/ln(x)

 

 16.ldexp

    函数名: ldexp
    功 能: 计算value*(2的exp幂 ).
    用 法: double ldexp(double value, int exp);
    程序例:
    #i nclude
    #i nclude
    int main(void)
    {
     double value;
     double x = 2;

     value = ldexp(x,3);
     printf("The ldexp value is: %lf/n", value);
     return 0;
    } 运行结果为:2*2^3=16.
 
 17.log10

    函数名:log10
    功能:返回以 10 为底的对数.
    用法:log10 (double x);

 18.sqrt

 

    函数名:sqrt
    功能:返回指定数字的平方根.
    用法:sqrt  (double x);

 

 19.modf

    函数名:modf
    功  能: 把数分为指数和尾数
    用  法: double modf(double value, double *iptr);
    程序例:
    #i nclude <math.h>
    #i nclude <stdio.h>
    int main(void)
   {
    double fraction, integer;
    double number = 100000.567;
    fraction = modf(number, &integer);
    printf("The whole and fractional parts of %lf are %lf and %lf/n",number, integer, fraction);
    return 0;
   }

 

 20.pow

    函数名:pow
    功能:返回指定数字的指定次幂.
    用法:pow   (double x, double y);(将返回x的y次幂)
 
五、双曲函数:
 
 21.cosh

    函数名:cosh
    功能:返回指定角度的双曲余弦值.
    用法:Double  Cosh(double x(以弧度计量的角度)) ;

 22.sinh

    函数名:sinh
    功能:返回指定角度的双曲正弦值。
    用法:sinh  (double x);(其中参数x必须为弧度制)
 
 23.tanh

     函数名:tanh
    功能:回指定角度的双曲正切值.
    用法:tanh  (double x);

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页