C語言常用數學函數及其用法


 

此文轉自:http://blog.sina.com.cn/s/blog_8b5a0d0001011779.html

 

 

三角函數:(所有參數必須為弧度)
 
 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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM