C程序语言中数学函数

来源:互联网 发布:抖音显示网络不给力 编辑:程序博客网 时间:2024/04/28 03:28

C语言中之数学函数

   C语言提供了以下的数学函数,要使用这些函数时,在程序文件头必须加入:

   #include <math.h>

  编译时,必须加上参数「-lm」(表示连结至数学函式库),例如「gcc -lm test.c」。

  函数之自变量与传回之值型别见自变量或函数前之型别宣告。

  函数已经在「math.h」或其它标头档宣告过了,因此在使用时不必再加型别宣告,例如「y=sin(x);」,不用写成「y=double sin(double x);」。

  函数说明

   double sin(double x)

   x 的正弦函数值

   double cos(double x)

   x 的余弦函数值

   double tan(double x)

   x 的正切函数值

   double asin(double x)

   x 的反正弦函数值 sin-1x,x的值在 [-1,1] 之间,传回的值在 [-p/2,p/2] 之间

   double acos(double x)

   x 的反余弦函数值cos-1x,x的值在 [-1,1] 之间,传回的值在 [-p/2,p/2] 之间

   double atan(double x)

   x 的反正切函数值tan-1x,传回的值在 [-p/2,p/2] 之间

   double atan2(double y, double x)

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

   double sinh(double x)

   x 的双曲正弦函数值

   double cosh(double x)

   x 的双曲余弦函数值

   double tanh(double x)

   x 的双曲正切函数值

   double exp(double x)

   x 的指数函数 ex

   double log(double x)

   x 的自然对数 ln(x),x > 0

   double log10(double x)

   x 底数为 10 的对数,log10x,x > 0

   double pow(double x, double y)

   x 的 y 次方 xy

   double sqrt(double x)

   x 的根号值 √x

   double ceil(double x)

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

   double floor(double x)

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

   int abs(int x)

  整数 x 的绝对值 |x|

   long labs(long x)

  长整数 x 的绝对值 |x|

   double fabs(double x)

  实数 x 的绝对值 |x|

   double ldexp(double x, int n)

   x?2n

   double fmod(double x, double y)

   x/y 的浮点数余数,符号与 x 相同

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

int main(void)
{
float f;
char *str = "12345.67";

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

函数名: atoi
功 能: 把字符串转换成整型数
用 法: int atoi(const char *nptr);
程序例:
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
int n;
char *str = "12345.67";

n = atoi(str);
printf("string = %s integer = %d/n", str, n);
return 0;
}

函数名: atol
功 能: 把字符串转换成长整型数
用 法: long atol(const char *nptr);
程序例:

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
long l;
char *str = "98765432";

l = atol(lstr);
printf("string = %s integer = %ld/n", str, l);
return(0);
}

原创粉丝点击