C 库 - tan() 函数

❮ C 标准库 - <math.h>


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

❮ C 标准库 - <math.h>