- 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 程式設計資源
- 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
廣告