C 库 - tan() 函数
C 库中的 tan() 函数返回给定角度的正切值。该函数在物理、天文学、谷歌地图、工程等多个领域都有广泛的实际应用。
语法
以下是 C 库函数 tan() 的语法 -
tan(double x);
参数
此函数仅接受一个参数 -
- x:double 类型表示用于计算正切值的角度(以弧度为单位)。
返回值
此函数返回指定的 x 值。
示例 1
以下是一个基本的 C 程序,演示了 tan() 函数的用法。
#include <stdio.h>
#include <math.h>
int main() {
double angle_degrees = 45.0;
// 转换为弧度
double angle_radians = angle_degrees * M_PI / 180.0;
double tangent = tan(angle_radians);
printf("The tangent of %.2f degrees is %.2f
", angle_degrees, tangent);
return 0;
}
输出
上述代码产生以下结果 -
The tangent of 45.00 degrees is 1.00
示例 2
这里,我们以数组的形式计算多个角度的正切值。
#include <stdio.h>
#include <math.h>
int main() {
double angles_degrees[] = {0, 30, 45, 60, 90};
int size = sizeof(angles_degrees) / sizeof(angles_degrees[0]);
printf("Angle (degrees) | Tangent
");
printf("****************|**********
");
for (int i = 0; i < size; i++) {
double angle_radians = angles_degrees[i] * M_PI / 180.0;
double tangent = tan(angle_radians);
printf("%15.2f | %f
", angles_degrees[i], tangent);
}
return 0;
}
输出
执行上述代码后,我们得到以下结果 -
Angle (degrees) | Tangent
****************|**********
0.00 | 0.000000
30.00 | 0.577350
45.00 | 1.000000
60.00 | 1.732051
90.00 | 16331239353195370.000000
示例 3
在处理特殊情况(例如无穷大和 NaN)时,它会计算可能导致特殊值的各种角度。因此,它会检查无穷大和 NaN 是否为指定值并打印。
#include <stdio.h>
#include <math.h>
int main()
{
double angles_radians[] = {M_PI / 4, M_PI / 2, M_PI, INFINITY, NAN};
int size = sizeof(angles_radians) / sizeof(angles_radians[0]);
printf("Angle (radians) | Tangent
");
printf("****************|**********
");
for (int i = 0; i < size; i++) {
double tangent = tan(angles_radians[i]);
if (isnan(tangent)) {
printf("%15.2f | NaN
", angles_radians[i]);
} else if (isinf(tangent)) {
printf("%15.2f | Infinity
", angles_radians[i]);
} else {
printf("%15.2f | %f
", angles_radians[i], tangent);
}
}
return 0;
}
输出
上述代码产生以下结果 -
Angle (radians) | Tangent
****************|**********
0.79 | 1.000000
1.57 | 16331239353195370.000000
3.14 | -0.000000
inf | NaN
nan | NaN

