- C 标准库
- C 库 - 首页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用资源
- C 库 - 讨论
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
广告