编辑这个页面须要登录或更高权限!

C 库函数 asin() 使用方法及示例

C 标准库 <math.h>

asin()函数返回以弧度数表示的反正弦值。

asin()函数采用单个参数(1≥x≥-1),并返回弧度的反正弦值。

asin()函数包含在<math.h>头文件中。

asin()原型

double asin(double x);

要查找类型为int,float或long double的反正弦,可以使用强制转换运算符将类型显式转换为double。

 int x = 0;
 double result;
 result = asin(double(x));

此外,C99中引入了两个函数asinf()和asinl(),分别用于float和long double类型。

float asinf(float x);
long double asinl(long double x);

asin()参数

asin()函数采用[-1,+1]范围内的单个参数。这是因为正弦值在1到-1之间。

参数描述
double 值

必需。一个介于- 1和+1之间的双精度值。

asin()返回值

asin()函数在[-π/ 2,+π/ 2]在弧度范围返回该值。如果传递给该asin()函数的参数小于-1或大于1,则该函数返回NaN(不是数字)。

参数(x)返回值
x = [-1, +1][-π/2, +π/2] 弧度
 -1 > x 或 x > 1NaN (非数字)

示例1:具有不同参数的asin()函数

#include <stdio.h>
#include <math.h>
int main()
{
    // PI常量
    const double PI =  3.1415926;
    double x, result;

    x =  -0.5;
    result = asin(x);
    printf("Inverse of sin(%.2f) 反正弦值 = %.2lf 弧度\n", x, result);

    //将弧度转换成角度
    result = asin(x)*180/PI;
    printf("Inverse of sin(%.2f) 反正弦值 = %.2lf in degrees\n", x, result);

    //参数不在范围内
    x = 1.2;
    result = asin(x);
    printf("Inverse of sin(%.2f) 反正弦值 = %.2lf", x, result);

    return 0;
}

输出结果

sin(-0.50) 反正弦值 = -0.52 弧度
sin(-0.50) 反正弦值 = -30.00 度
sin(1.20) 反正弦值 = nan

示例2:asinf()和asinl()函数

#include <stdio.h>
#include <math.h>
int main()
{
    float fx, fasinx;
    long double lx, ldasinx;

    // 浮动型圆弧正弦
    fx = -0.505405;
    fasinx = asinf(fx);

    // long double类型的反正弦
    lx = -0.50540593;
    ldasinx = asinf(lx);

    printf("asinf(x) 反正弦值 = %f 弧度\n", fasinx);
    printf("asinl(x) 反正弦值 = %Lf 弧度", ldasinx);

    return 0;
}

输出结果

asinf(x) 反正弦值 = -0.529851 弧度
asinl(x) 反正弦值 = -0.529852 弧度

C 标准库 <math.h>