1、math.h 函数以及其他一些库函数函数名称: abs函数原型: int abs(int x);函数功能: 求整数 x 的绝对值函数返回: 计算结果参数说明:所属文件: ,使用范例:#include #include int main()int number=-1234;printf(“number: %d absolute value: %d“,number,abs(number);return 0;函数名称: fabs函数原型: double fabs(double x);函数功能: 求 x 的绝对值 .函数返回: 计算结果参数说明:所属文件: 使用范例:#include #include
2、 int main()float number=-1234.0;printf(“number: %f absolute value: %f“,number,fabs(number);return 0;函数名称: cabs函数原型: double cabs(struct complex znum)函数功能: 求复数的绝对值函数返回: 复数的绝对值参数说明: zuum 为用结构 struct complex 表示的复数,定义如下:struct complexdouble m;double n;所属文件: #include #include int main()struct complex z;do
3、uble val;z.x=2.0;z.y=1.0;val=cabs(z);printf(“The absolute value of %.2lfi %.2lfj is %.2lf“,z.x,z.y,val);return 0;函数名称: ceil函数原型: double ceil(double num)函数功能: 得到不小于 num 的最小整数函数返回: 用双精度表示的最小整数参数说明: num-实数所属文件: #include #include int main()double number=123.54;double down,up;down=floor(number);up=ceil(n
4、umber);printf(“original number %5.2lf“,number);printf(“number rounded down %5.2lf“,down);printf(“number rounded up %5.2lf“,up);return 0;函数名称: sin函数原型: double sin(double x);函数功能: 计算 sinx 的值.正弦函数函数返回: 计算结果参数说明: 单位为弧度所属文件: 使用范例:#include #include int main()double result,x=0.5;result=sin(x);printf(“The s
5、in() of %lf is %lf“,x,result);return 0;函数名称: cos函数原型: double cos(double x);函数功能: 计算 cos(x)的值.余弦函数.函数返回: 计算结果参数说明: x 的单位为弧度所属文件: 使用范例:#include #include int main()double result;double x=0.5;result=cos(x);printf(“The cosine of %lf is %lf“,x,result);return 0;函数名称: tan函数原型: double tan(double x);函数功能: 计算
6、tan(x)的值,即计算角度 x 的正切数值函数返回: 计算结果参数说明: x=0 单位为弧度所属文件: 使用范例:#include #include int main()double result,x;x=0.5;result=tan(x);printf(“The tan of %lf is %lf“,x,result);return 0;函数名称: asin函数原型: double asin(double x);函数功能: 计算 sin-1(x)的值.反正弦值函数函数返回: 计算结果参数说明: x 应在 -1 到 1 范围内.单位为弧度所属文件: 使用范例:#include #includ
7、e int main()double result;double x=0.5;result=asin(x);printf(“The arc sin of %lf is %lf“,x,result);return 0;函数名称: acos函数原型: double acos(double x);函数功能: 计算 cos-1(x)的值,反余弦函数函数返回: 计算结果参数说明: x 应在-1 到 1 范围内.切记单位为弧度所属文件: 使用范例:#include #include int main()double result;double x=0.5;result=acos(x);printf(“Th
8、e arc cosine of %lf is %lf“,x,result);return 0;函数名称: atan函数原型: double atan(double x);函数功能: 计算 tan-1(x)的值.函数返回: 计算结果参数说明: 单位为弧度所属文件: 使用范例:#include #include int main()double result;double x=0.5;result=atan(x);printf(“The arc tangent of %lf is %lf“,x,result);return 0;函数名称: atan2函数原型: double atan2(doubl
9、e x,double y);函数功能: 计算 tan-1/(x/y)的值.求 x/y 的反正切值.函数返回: 计算结果参数说明: 单位为弧度所属文件: 使用范例:#include #include int main()double result;double x=90.0,y=45.0;result=atan2(y,x);printf(“The arc tangent ratio of %lf is %lf“,(y/x),result);return 0;函数名称: sinh函数原型: double sinh(double x);函数功能: 计算 x 的双曲正弦函数 sinh(x)的值.函数返
10、回: 计算结果参数说明: 单位为弧度所属文件: 使用范例:#include #include int main()double result,x=0.5;result=sinh(x);printf(“The hyperbolic sin() of %lf is %lf“,x,result);return 0;函数名称: cosh函数原型: double cosh(double x);函数功能: 计算 x 的双曲余弦 cosh(x)的值.函数返回: 计算结果参数说明:所属文件: 使用范例:#include #include int main()double result;double x=0.5
11、;result=cosh(x);printf(“The hyperboic cosine of %lf is %lf“,x,result);return 0;函数名称: tanh函数原型: double tanh(double x);函数功能: 计算 x 的双曲正切函数 tanh(x)的值.函数返回: 计算结果参数说明: x=0所属文件: 使用范例:#include #include int main()double result,x;x=0.5;result=tanh(x);printf(“The hyperbolic tangent of %lf is %lf“,x,result);ret
12、urn 0;函数名称: exp函数原型: double exp(double x);函数功能: 求 e 的 x 次幂函数返回: 计算结果.幂的值参数说明: x-指数所属文件: 使用范例:#include #include int main()double result;double x=4.0;result=exp(x);printf(“e raised to the power of %lf(e%lf)=%lf“,x,x,result);return 0;函数名称: floor函数原型: double floor(double x);函数功能: 求出不大于 x 的最大整数.函数返回: 该整数
13、的双精度实数参数说明:所属文件: 使用范例:#include #include int main()double number=123.54;double down,up;down=floor(number);up=ceil(number);printf(“original number %10.2lf“,number);printf(“number rounded down %10.2lf“,down);printf(“number rounded up %10.2lf“,up);return 0;函数名称: fmod函数原型: double fmod(double x,double y);
14、函数功能: 求整数 x/y 的余数函数返回: 返回余数的双精度数 .x/y 的余数值.参数说明:所属文件: 使用范例:#include #include int main()double x=5.0,y=2.0;double result;result=fmod(x,y);printf(“The remainder of (%lf/%lf) is %lf“,x,y,result);return 0;函数名称: frexp函数原型: double frexp(double val,int *eptr);函数功能: 把双精度数 val 分解为数字部分(尾数)x 和以 2 为底的指数 n,即 val
15、=x*2n,n 存放在 eptr 指向的变量中 .函数返回: 返回数字部分 x,0.5使用范例:#include #include int main()double mantissa,number;int exponent;number=8.0;mantissa=frexp(number,printf(“The number %lf is“,number);printf(“%lf times two to the“,mantissa);printf(“power of %d“,exponent);return 0;函数名称: log函数原型: double log(double x);函数功能
16、: 求 logeX(e 指的是以 e 为底), 即计算 x 的自然对数(ln X)函数返回: 计算结果参数说明:所属文件: 使用范例:#include #include int main()double result;double x=8.6872;result=log(x);printf(“The natural log of %lf is %lf“,x,result);return 0;函数名称: log10函数原型: double log10(double x);函数功能: 求 log10x(10 指的是以 10 为底). 计算 x 的常用对数函数返回: 计算结果参数说明:所属文件: 使
17、用范例:#include #include int main()double result;double x=800.6872;result=log10(x);printf(“The common log of %lf is %lf“,x,result);return 0;函数名称: modf函数原型: double modf(double val,double *iptr);函数功能: 把双精度数 val 分解为整数部分和小数部分,把整数部分存到 iptr 指向的单元.函数返回: val 的小数部分参数说明: val 待分解的数所属文件: 使用范例:#include #include int
18、 main()double fraction,integer;double number=100000.567;fraction=modf(number,printf(“The whole and fractional parts of %lf are %lf and %lf“,number,integer,fraction);return 0;函数名称: pow函数原型: double pow(double x,double y);函数功能: 计算以 x 为底数的 y 次幂,即计算 xy 的值.函数返回: 计算结果参数说明: x-底数,y-幂数所属文件: 使用范例:#include #inc
19、lude int main()double x=2.0,y=3.0;printf(“%lf raised to %lf is %lf“,x,y,pow(x,y);return 0;函数名称: sqrt函数原型: double sqrt(double x);函数功能: 计算 x 的开平方 .函数返回: 计算结果参数说明: x=0所属文件: 使用范例:#include #include int main()double x=4.0,result;result=sqrt(x);printf(“The square root of %lf is %lf“,x,result);return 0;函数名称
20、: hypot函数原型: double hypot(double x,double y)函数功能: 已知直角三角形两个直角边长度,求斜边长度函数返回: 斜边长度参数说明: x,y-直角边长度所属文件: #include #include int main()double result;double x=3.0;double y=4.0;result=hypot(x,y);printf(“The hypotenuse is: %lf“,result);return 0;函数名称: poly函数原型: double poly(double x,int degree,double coeffs)函数
21、功能: 计算多项式函数返回: 多项式的计算结果参数说明: 计算 cn*xn+cn-1xn-1+.+c1*x+c0所属文件: #include #include int main()double array=-1.0,5.0,-2.0,1.0;double result;result=poly(2.0,3,array);printf(“The polynomial: x*3 - 2.0x*2 + 5x - 1 at 2.0 is %lf“,result);return 0;函数名称: matherr函数原型: int matherr(struct exception *e)函数功能: 数学错误计
22、算处理程序函数返回:参数说明: 该函数不能被直接调用,而是被库函数 _matherr()调用所属文件: #includeint matherr(struct exception *a)return 1;函数名称: ldexp函数原型: double ldexp(double x,int exponent)函数功能: 计算 x*2 的 exponent 次幂,即 2*pow(2,exponent)的数值函数返回:参数说明:所属文件: #include #include int main()double value;double x=2;value=ldexp(x,3);printf(“The l
23、dexp value is: %lf“,value);return 0;int abs(int i) 返回整型参数 i 的绝对值double cabs(struct complex znum) 返回复数 znum 的绝对值double fabs(double x) 返回双精度参数 x 的绝对值long labs(long n) 返回长整型参数 n 的绝对值double exp(double x) 返回指数函数 ex 的值double frexp(double value,int *eptr) 返回 value=x*2n 中 x 的值,n 存贮在 eptr 中double ldexp(doubl
24、e value,int exp); 返回 value*2exp 的值double log(double x) 返回 logex 的值double log10(double x) 返回 log10x 的值double pow(double x,double y) 返回 xy 的值double pow10(int p) 返回 10p 的值double sqrt(double x) 返回+x 的值double acos(double x) 返回 x 的反余弦 cos-1(x)值,x 为弧度double asin(double x) 返回 x 的反正弦 sin-1(x)值,x 为弧度double at
25、an(double x) 返回 x 的反正切 tan-1(x)值,x 为弧度double atan2(double y,double x) 返回 y/x 的反正切 tan-1(x)值,y 的 x 为弧度double cos(double x) 返回 x 的余弦 cos(x)值,x 为弧度double sin(double x) 返回 x 的正弦 sin(x)值,x 为弧度double tan(double x) 返回 x 的正切 tan(x)值,x 为弧度double cosh(double x) 返回 x 的双曲余弦 cosh(x)值,x 为弧度double sinh(double x) 返
26、回 x 的双曲正弦 sinh(x)值,x 为弧度double tanh(double x) 返回 x 的双曲正切 tanh(x)值,x 为弧度double hypot(double x,double y) 返回直角三角形斜边的长度 (z),x 和 y 为直角边的长度,z2=x2+y2double ceil(double x) 返回不小于 x 的最小整数double floor(double x) 返回不大于 x 的最大整数void srand(unsigned seed) 初始化随机数发生器int rand() 产生一个随机数并返回这个数double poly(double x,int n,d
27、ouble c)从参数产生一个多项式double modf(double value,double *iptr)将双精度数 value 分解成尾数和阶double fmod(double x,double y) 返回 x/y 的余数double frexp(double value,int *eptr) 将双精度数 value 分成尾数和阶double atof(char *nptr) 将字符串 nptr 转换成浮点数并返回这个浮点数double atoi(char *nptr) 将字符串 nptr 转换成整数并返回这个整数double atol(char *nptr) 将字符串 nptr 转
28、换成长整数并返回这个整数char *ecvt(double value,int ndigit,int *decpt,int *sign)将浮点数 value 转换成字符串并返回该字符串char *fcvt(double value,int ndigit,int *decpt,int *sign)将浮点数 value 转换成字符串并返回该字符串char *gcvt(double value,int ndigit,char *buf)将数 value 转换成字符串并存于 buf 中,并返回 buf 的指针char *ultoa(unsigned long value,char *string,in
29、t radix)将无符号整型数 value 转换成字符串并返回该字符串,radix 为转换时所用基数char *ltoa(long value,char *string,int radix)将长整型数 value 转换成字符串并返回该字符串,radix 为转换时所用基数char *itoa(int value,char *string,int radix)将整数 value 转换成字符串存入 string,radix 为转换时所用基数double atof(char *nptr) 将字符串 nptr 转换成双精度数,并返回这个数 ,错误返回 0int atoi(char *nptr) 将字符串
30、 nptr 转换成整型数, 并返回这个数 ,错误返回 0long atol(char *nptr) 将字符串 nptr 转换成长整型数,并返回这个数,错误返回 0double strtod(char *str,char *endptr)将字符串 str 转换成双精度数 ,并返回这个数,long strtol(char *str,char *endptr,int base)将字符串 str 转换成长整型数,并返回这个数,int matherr(struct exception *e)用户修改数学错误返回信息函数(没有必要使用)double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval)用户修改数学错误返回信息函数(没有必要使用)unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态void _fpreset() 重新初使化浮点数学程序包unsigned int _status87() 返回浮点状态字