Linux C 第六章 数学计算函数

来源:互联网 发布:淘宝汽车商城 编辑:程序博客网 时间:2024/05/23 16:53

第六章 数学计算函数

//头文件#include<stdlib.h>#include<math.h>abs :int abs(int j)     返回参数j的绝对值;    int answer;    answer = abs(-23);acos :double acos(double x)    用来计算x的反余弦值,然后将结果返回, 参数x的范围为[-1,1]之间,超出此范围会失败;    返回0至PI之间的结果,单位为弧度,在函数库中角度均以弧度来表示;    EDOM:参数x超出范围;    使用GCC编译时请加入-lm;    double angle;    angle = acos(0.5);asin :double asin(double x)    用来计算x的反正弦值,然后将结果返回, 参数x的范围为[-1,1]之间,超出此范围会失败;    返回-PI/2至PI/2之间的结果;    EDOM:参数x超出范围;    使用GCC编译时请加入-lm;    double angle;    angle = asin(0.5);atan :double atan(double x);    用来计算参数x的反正切值,然后将结果返回;    返回-PI/2至PI/2之间的结果;    使用GCC编译时请加入-lm;    double angle;    angle = atan(1);atan2 :double atan2(double y, double x);    用来计算参数y/x的反正切值,然后将结果返回;    返回-PI/2至PI/2之间的结果;    使用GCC编译时请加入-lm;    double angle;    angle = atan2(1, 2); ceil :double ceil(double x);    返回不小于参数X的最小整数值,结果以double形态返回;    使用GCC编译时请加入-lm;    ceil(4.8) 返回5.000000;cos :double cos(double x);    用来计算参数x的余弦值,然后将结果返回;    返回-11之间的计算结果;    使用GCC编译时请加入-lm;    double answer = cos(0.5);cosh :double cosh(double x)    用来计算参数x的双曲线余弦值,然后将结果返回。    数学定义(exp(x)+exp(-x))/2;    使用GCC编译时请加入-lm;    double answer = cosh(0.5);div :div_t div(int number, int denom);    计算number/denom,然后将相除后的商及余数由div_t结构体返回;    typedef struct     {           int quot;        int rem;    }div_t    例:        div_t answer;        answer = div(46, 3);        answer.quot; 商        answer.rem; 余exp : double exp(double x);    用来计算以e为底的x次方值。即e^x的值;    返回e的x次方结果;    使用GCC编译时请加入-lm;    double answer;    answer = exp(10);fabs :double fabs(double x);    用来计算浮点数的绝对值;     fabs(-3.1415926);frexp: double frexp(double x, int *exp);    用来将参数x的浮点数切割成底数和指数,底数部分直接返回,指数部分则借参数exp指针返回,    将返回值乘以2exp次方即是x的值。    返回参数x的底数部分,指数部分则存于exp指针所指的地址;    使用GCC编译时请加入-lm;        例:        int exp;        double fraction;        fraction = frexp(1024, &exp);        结果exp = 11;  fraction = 0.5;  参数x=1024  0.5x2^11 = 1024;hypot :double hypot(double x, double y);    调用sqrt(x*x + y*y)然后将结果返回,通常用来计算直角三角形斜边长度;    或是计算原点到点(x,y)的距离;    返回(x*x + y*y)的平方根值;    double distance;    distance = hypot(3, 4);labs :long int labs(long int j);    计算长整形数的绝对值,然后将结果返回;    使用GCC编译时请加入-lm;    long int answer;    answer = labs(-35000);ldexp :double ldexp(double x, int exp);计算2的次方值;    将参数 x 乘上2exp次方。即x*2exp,然后将结果返回;    int exp = 2;    double x,answer;    answer = ldexp(3, exp); //(3*2)^2;ldiv :ldiv_t ldiv(long int number, long int denom);计算两个长整形数的商和余数。    计算参数number/denom,然后将相除后的商及余数由ldiv_t结构体返回;    ldiv_t结构体定义:    typedef struct    {        long int quot; /* 商数 */        long int rem;  /* 余数 */    } ldiv_t;    ldiv_t answer;    answer = ldiv(256665, 88956);    answer.quot;    answer.rem;log :double log(double x);计算以e为底的对数。    用来计算以e为底的x对数值,然后将结果返回;    EDOM:参数x为负数;    ERANGE:参数x为零值,零的对数值无定义;    使用GCC编译时请加入-lm;    log(100);结果是4.605170  即e^4.605170 = 100; e约等2.71828; e=(1+ 1/n)^n;    double answer;    answer = log(100);log10 :double log10(double x);计算以10为底的对数。    用来计算以10为底的x对数值,然后将结果返回;    返回参数x以10为底的对数值;    EDOM:参数x为负数;    ERANGE:参数x为零值,零的对数值无定义;    使用GCC编译时请加入-lm;    double answer;    answer = log10(100);modf :double modf(double x, double *iptr);将浮点数分解成整数和小数。    用来计算参数x的浮点型数分解成整数与小数,小数部分直接返回,整数部分则借参数iptr指针返回;    使用GCC编译时请加入-lm;    double intergral;    double fractional;    fractional = modf(3.1415926, &intergral);       intergral是整数部分。    fractional 是小数部分。pow :double pow(double x, double y);    计算以x为底的y次方。 pow(2, 3); //2^3    返回x的y次方值;    EDOM:参数x为负数且参数y不是整数;    使用GCC编译时请加入-lm;    double answer;    answer = pow(2, 3);sin :double sin(double x);取正弦函数值。    用来计算参数x的正弦值;    返回-11之间的计算结果;    使用GCC编译时请加入-lm;    double answer;    answer = sin(0.5);sinh :double sinh(double x);取双曲线正弦函数值。    用来计算参数x的双曲线正弦值,然后将结果返回;数学定义(exp(x) - exp(-x))/2    使用GCC编译时请加入-lm;    double answer;    answer = sinh(0.5);sqrtdouble sqrt(double x);计算x的平方根。    用来计算参数x的平方根,然后将结果返回,参数x必须为正数;    EDOM:参数x为负数;    使用GCC编译时请加入-lm;    double root;    root = sqrt(200);tandouble tan(double x);    用来计算参数x的正切值,然后将结果返回。    使用GCC编译时请加入-lm;    double answer;    answer = tan(0.5);tanh :double tanh(double x);双曲线正切函数值。    用来计算参数x的双曲线正切值,然后将结果返回;数学定义为:sinh(x) / cosh(x);    返回参数x的双曲线正切值;    使用GCC编译时请加入-lm;    double answer;    answer = tanh(0.5);