现在位置: 首页 > C 教程 > 正文

C 库函数 - sin()

C 标准库 - <math.h> C 标准库 - <math.h>

描述

C 库函数 double sin(double x) 返回弧度角 x 的正弦。

sin() 是 C 标准库 <math.h> 中的一个函数,用于计算给定角度(以弧度为单位)的正弦值。正弦函数(sin)是一个基本的三角函数,在许多数学、物理和工程应用中有广泛的用途。

声明

下面是 sin() 函数的声明。

#include <math.h>

double sin(double x);
float sinf(float x);
long double sinl(long double x);

参数

  • x:以弧度为单位的角度,类型可以是 doublefloatlong double

返回值

该函数返回 x 的正弦,范围是 [-1, 1]。

实例

下面的实例演示了 sin() 函数的用法。

实例

#include <stdio.h>
#include <math.h>

#define PI 3.14159265

int main ()
{
   double x, ret, val;

   x = 45.0;
   val = PI / 180;
   ret = sin(x*val);
   printf("%lf 的正弦是 %lf 度", x, ret);
   
   return(0);
}

让我们编译并运行上面的程序,这将产生以下结果:

45.000000 的正弦是 0.707107 度

计算多个角度的正弦值

以下示例展示了如何计算多个角度的正弦值:

实例

#include <stdio.h>
#include <math.h>

int main() {
    double angles[] = {0, M_PI / 6, M_PI / 4, M_PI / 3, M_PI / 2, M_PI};
    const char* angle_labels[] = {"0", "π/6", "π/4", "π/3", "π/2", "π"};
    int num_angles = sizeof(angles) / sizeof(angles[0]);

    for (int i = 0; i < num_angles; i++) {
        double angle = angles[i];
        double result = sin(angle);
        printf("sin(%s) = %f\n", angle_labels[i], result);
    }

    return 0;
}

代码解析

  • 定义一个包含多个角度的数组 angles,每个角度以弧度表示。
  • 定义一个相应的标签数组 angle_labels,用于打印输出。
  • 使用 for 循环遍历每个角度,计算正弦值并打印结果。

让我们编译并运行上面的程序,这将产生以下结果:

sin(0) = 0.000000
sin(π/6) = 0.500000
sin(π/4) = 0.707107
sin(π/3) = 0.866025
sin(π/2) = 1.000000
sin(π) = 0.000000

错误处理

sin() 函数对于所有实数输入都是有效的,因此不需要特殊的错误处理。函数不会设置 errno,也不会返回 NaN,除非输入本身是 NaN 或无穷大。在这种情况下,返回的结果将是 NaN 或无穷大。

总结

sin() 函数用于计算给定角度(以弧度为单位)的正弦值,是处理三角函数运算的重要工具。通过合理使用 sin() 函数,可以在数学计算、物理模拟和工程应用中得到准确的结果。

C 标准库 - <math.h> C 标准库 - <math.h>