math.h头定义了各种数学函数和一个宏。这个库中所有可用的函数取double参数并返回double的结果。使用#include<math.h>对接下来的程序进行预处理,拷贝编译器中math库到预处理器所在位置,便可以进行除简单四则运算之外的数学运算等内容
1.幂指数运算(power&exponent)
pow(a,b) 返回值为a的b次方--> a^b;
#include<stdio.h>
#include<math.h>
int main()
{
double r = 0.09,p = 0;
int n = 10;
p = pow(1 + r, n);
printf("%lf", p);
return 0;
}
例为将1+r的n次方赋值到p并以小数输出;
exp(a) 返回值为e的a次方;
#include<stdio.h>
#include<math.h>
int main()
{
double a = exp(1),b=exp(2);
printf("%lf %lf", a,b);
return 0;
}
2.对数运算
log(a) 返回值默认为以e为底数a的对数;
loga(b) 返回值为以a为底b的对数;
#include<stdio.h>
#include<math.h>
int main()
{
double a = exp(1),b=exp(2);
printf("%lf %lf\n", a,b);
printf("%lf %lf %lf", log(1), log(b),log10(1000));
return 0;
}
3.开方运算(square root)
sqrt(x) 返回值为对x开平方根
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c;
a = sqrt(16), b = sqrt(4), c = sqrt(2);
printf("%lf %lf %lf", a, b, pow(c, 2));
return 0;
}
4.绝对值(float abslute)
fabs(a)返回值为a的绝对值
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c;
a =0, b =fabs(-1), c = -1;
printf("%lf %lf %lf %lf", fabs(a), b,fabs((-1)*fabs(c)),(-1)* fabs((-1) * fabs(c)));
return 0;
}
5.取整
floor(a) 返回<=a 的最大整数
cell(a) 返回>=a的最小整数
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,d;
a = floor(-1.5), b = floor(1.5);
printf("%lf %lf\n", a,b);
c = ceil(-1.5), d = ceil(1.5);
printf("%lf %lf", c, d);
return 0;
}
6.取余
fmod(a,b) 对浮点数a与b取余(a%b)
#include<stdio.h>
#include<math.h>
int main()
{
double a, b, c, d;
a = 27.08, b = 2.8;
printf("%lf", fmod(a, b));
return 0;
}
7.三角函数
三角函数名(a)
注意a代表了一个以弧度表示的角度,且PI的标准值为3.14159265
1弧度=180/pai 度
利用参数val可以将输入的角度数转化为对应弧度数
#include<stdio.h>
#include<math.h>
#define PI 3.14159265
int main()
{
double x, ret1,ret2,ret3, val;
/*x = 45.0;*/
scanf("%lf", &x);
val = PI / 180;
ret1 = sin(x * val);
ret2 = cos(x * val);
ret3 = tan(x * val);
printf("%lf\n%lf\n%lf\n", ret1, ret2, ret3);
return 0;
}