本文共 3122 字,大约阅读时间需要 10 分钟。
C语言的数学库函数之<math.h>函数库
1、 三角函数
double sin(double); 正弦 double cos(double); 余弦 double tan(double); 正切#include#include #define PI 3.1415926int main(){ double a,b,c; a = sin(30.0 / 180 * PI); //角度要转换成弧度制 b = cos(30.0 / 180 * PI); //角度要转换成弧度制 c = tan(30.0 / 180 * PI); //角度要转换成弧度制 printf("正弦值:%f\n余弦值:%f\n正切值:%f\n",a,b,c);} 输出结果: 正弦值:0.500000 余弦值:0.866025 正切值:0.577350
2 、反三角函数
double asin (double); 反正弦 , 介于[-π/2,π/2] double acos (double); 反余弦 , 介于[0,π] double atan (double); 反正切, 介于[-πI/2,π/2] double atan2 (double,double); 反正切2,结果介于[-π,π]说明:若tanβ=a/b;那么β==atan(a/b的结果)==atan2(a值,b值)#include#include #define PI 3.1415926int main(){ double a, b, c,d; a = asin(0.5) * 180 / PI; //转换成角度值° b = acos(0.5) * 180 / PI; //转换成角度值° c = atan(-1) * 180 / PI; //转换成角度值° d = atan2(0.2,-0.2) * 180 / PI; //转换成角度值° -1 = -0.2/0.2; printf("反正弦值: %f\n反余弦值: %f\n反正切值: %f\n反正切值2:%f\n", a, b, c,d);} 输出结果: 反正弦值: 30.000001 反余弦值: 60.000001 反正切值: -45.000001 反正切值2: 135.00002 返回的角度不同,可确定象限;
3 、双曲三角函数
double sinh (double); double cosh (double); double tanh (double);4 、指数与对数
double exp (double);求取自然数e的幂 double sqrt (double);开平方 double log (double); 以e为底的对数 double log10 (double);以10为底的对数 double pow(double x, double y);计算以x为底数的y次幂 float powf(float x, float y); 功能与pow一致,只是输入与输出皆为浮点数5 、取整
double ceil (double); 取上整 double floor (double); 取下整6 、绝对值
double fabs (double);求绝对值 double cabs(struct complex znum) ;求复数的绝对值7 、标准化浮点数
double frexp (double f, int *p); 例如: f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] ) double ldexp (double x, int p); 与frexp相反, 已知x, p求f8 、取整与取余
double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分 double fmod (double, double); 返回两参数相除的余数9 、其他
double hypot(double x, double y);已知直角三角形两个直角边,求斜边长度 double ldexp(double x, int exponent);计算x*(2的exponent次幂) double poly(double x, int degree, double coeffs [] );计算多项式 nt matherr(struct exception *e);数学错误计算处理程序一、三角函数 | |
---|---|
1 | double sin(double x) |
求正弦 | 返回弧度角 x 的正弦。 |
2 | double cos(double x) |
求余弦 | 返回弧度角 x 的余弦。 |
3 | double tan(double) |
求 正切 | 返回弧度角 x 的正切。 |
二、反三角函数 | |
1 | double asin(double x) |
反正弦 | 返回以弧度表示的 x 的反正弦。 |
2 | double acos(double x) |
反余弦 | 返回以弧度表示的 x 的反余弦。 |
3 | double atan(double x) |
反正切 | 返回以弧度表示的 x 的反正切。 |
4 | double atan2(double y, double x) |
反正切 | 返回以弧度表示的 y/x 的反正切。y 和 x 的值的符号决定了正确的象限。 |
三、双曲三角函数 | |
1 | double cosh(double x) |
双曲余弦 | 返回 x 的双曲余弦。 |
2 | double sinh(double x) |
双曲正弦 | 返回 x 的双曲正弦。 |
3 | double tanh(double x) |
双曲正切 | 返回 x 的双曲正切。 |
四、指数与对数 | |
1 | double exp(double x) |
e 的 x 次幂 | 返回 e 的 x 次幂的值。 |
2 | double sqrt(double x) |
求平方根 | 返回 x 的平方根。 |
3 | double log(double x) |
自然对数 | 返回 x 的自然对数(基数为 e 的对数)。 |
4 | double log10(double x) |
常用对数 | 返回 x 的常用对数(基数为 10 的对数)。 |
5 | double pow(double x, double y) |
x 的 y 次幂 | 返回 x 的 y 次幂。 |
五、取整 | |
1 | double ceil(double x) |
取上整 | 返回大于或等于 x 的最小的整数值。 |
2 | double floor(double x) |
取下整 | 返回小于或等于 x 的最大的整数值。 |
六、取绝对值 | |
1 | double fabs(double x) |
求绝对值 | 返回 x 的绝对值。 |
七、标准化浮点数 | |
1 | double frexp (double f, int *p) |
标准化浮点数 | 如: f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] ) |
2 | double ldexp(double x, int exponent) |
按标准求浮点数 | 与frexp相反, 已知x, p求f |
八、取整与取余 | |
1 | double modf(double x, double *integer) |
分离小数点前后数 | x为小数点后的部分,*integer 为整数部分。 |
2 | double fmod(double x, double y) |
求余数 | 返回 x 除以 y 的余数。 |
转载地址:http://ucqm.baihongyu.com/