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;
   
   // Convert to radians
   double angle_radians = angle_degrees * M_PI / 180.0;  
   double tangent = tan(angle_radians);

   printf("The tangent of %.2f degrees is %.2f\n", 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\n");
   printf("****************|**********\n");
   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\n", 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\n");
   printf("****************|**********\n");
   for (int i = 0; i < size; i++) {
       double tangent = tan(angles_radians[i]);
       if (isnan(tangent)) {
           printf("%15.2f | NaN\n", angles_radians[i]);
       } else if (isinf(tangent)) {
           printf("%15.2f | Infinity\n", angles_radians[i]);
       } else {
           printf("%15.2f | %f\n", 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
math_h.htm
广告