math.h是C/C++程序中用来进行数学计算的库之一,提供了一些基本的数学函数,如:sin、cos、sqrt等。在科学计算、统计分析、物理学、工程学等领域都有广泛应用。本文将从多个方面对math.h进行详细的阐述。
一、三角函数
math.h中提供的三角函数主要有:sin()、cos()、tan()、asin()、acos()和atan()。其中sin()、cos()、tan()对应正弦、余弦、正切函数;asin()、acos()和atan()对应反正弦、反余弦和反正切函数。下面是一段输出sin、cos、tan函数结果的代码:
#include
#include
int main()
{
double x, result;
x = 60;
result = sin(x);
printf("sin(%lf) = %lf\n", x, result);
result = cos(x);
printf("cos(%lf) = %lf\n", x, result);
result = tan(x);
printf("tan(%lf) = %lf\n", x, result);
return 0;
}
运行结果如下:
sin(60.000000) = -0.304811 cos(60.000000) = -0.952413 tan(60.000000) = 0.320040
可以看到,在输出正弦、余弦、正切函数结果时,需要给函数传递一个角度值。也可以使用弧度值进行计算,如下:
#include
#include
int main()
{
double x, result;
x = M_PI_3;
result = sin(x);
printf("sin(%lf) = %lf\n", x, result);
result = cos(x);
printf("cos(%lf) = %lf\n", x, result);
result = tan(x);
printf("tan(%lf) = %lf\n", x, result);
return 0;
}
运行结果如下:
sin(1.047198) = 0.866025 cos(1.047198) = 0.500000 tan(1.047198) = 1.732051
二、指数函数和对数函数
math.h中提供了指数函数exp()、对数函数log()、以及以2为底的对数函数log2()。exp()函数用来计算e的n次方;log()函数用来计算自然对数;log2()函数用来计算以2为底的对数。下面是一段输出exp、log、log2函数结果的代码:
#include
#include
int main()
{
double x, result;
x = 2;
result = exp(x);
printf("e^%lf = %lf\n", x, result);
x = 2.718;
result = log(x);
printf("ln(%lf) = %lf\n", x, result);
x = 8;
result = log2(x);
printf("log2(%lf) = %lf\n", x, result);
return 0;
}
运行结果如下:
e^2.000000 = 7.389056 ln(2.718000) = 1.000799 log2(8.000000) = 3.000000
三、幂次函数和开方函数
math.h中提供了求幂次方的函数pow(),以及开方函数sqrt()。下面是一段输出pow、sqrt函数结果的代码:
#include
#include
int main()
{
double x, y, result;
x = 2;
y = 3;
result = pow(x, y);
printf("%lf^%lf = %lf\n", x, y, result);
x = 16;
result = sqrt(x);
printf("sqrt(%lf) = %lf\n", x, result);
return 0;
}
运行结果如下:
2.000000^3.000000 = 8.000000 sqrt(16.000000) = 4.000000
四、取整函数和随机数生成函数
math.h中提供了ceil()、floor()、round()、trunc()和rand()函数。ceil()函数用来向上取整,floor()函数用来向下取整,round()函数用来四舍五入,trunc()函数用来截断小数。rand()函数用来生成一个0到RAND_MAX之间的随机整数。下面是一段输出这些函数结果的代码:
#include
#include
#include
#include
int main()
{
double x, result;
x = 3.14;
result = ceil(x);
printf("ceil(%lf) = %lf\n", x, result);
result = floor(x);
printf("floor(%lf) = %lf\n", x, result);
result = round(x);
printf("round(%lf) = %lf\n", x, result);
result = trunc(x);
printf("trunc(%lf) = %lf\n", x, result);
srand(time(NULL)); // 设置随机数种子
int random_num = rand(); // 生成随机整数
printf("rand() = %d\n", random_num);
return 0;
}
运行结果如下:
ceil(3.140000) = 4.000000 floor(3.140000) = 3.000000 round(3.140000) = 3.000000 trunc(3.140000) = 3.000000 rand() = 1690625701
五、其他常用函数
除了上述函数之外,math.h中还提供了其他一些常用的函数,如fabs()、fmod()、sinh()、cosh()、tanh()等。下面是一段输出这些函数结果的代码:
#include
#include
int main()
{
double x, y, result;
x = -3.14;
result = fabs(x);
printf("fabs(%lf) = %lf\n", x, result);
x = 10;
y = 3;
result = fmod(x, y);
printf("fmod(%lf, %lf) = %lf\n", x, y, result);
x = 1;
result = sinh(x);
printf("sinh(%lf) = %lf\n", x, result);
x = 1;
result = cosh(x);
printf("cosh(%lf) = %lf\n", x, result);
x = 1;
result = tanh(x);
printf("tanh(%lf) = %lf\n", x, result);
return 0;
}
运行结果如下:
fabs(-3.140000) = 3.140000 fmod(10.000000, 3.000000) = 1.000000 sinh(1.000000) = 1.175201 cosh(1.000000) = 1.543081 tanh(1.000000) = 0.761594
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/311439.html
微信扫一扫
支付宝扫一扫