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

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

C 标准库 <math.h>

acos()函数返回一个以弧度表示的数值的反余弦值。

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

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

acos() 函数原型

double acos(double x);

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

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

另外,C99中引入了两个函数acosf()和acosl(),分别专门用于float类型和long double类型。

float acosf(float x);
long double acosl(long double x);

acos()参数

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

参数描述
double 值

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

acos()返回值

acos()函数返回以弧度为单位的[0.0,π]范围内的值。 如果传递给acos()函数的参数小于-1或大于1,则该函数返回NaN(不是数字)。

参数(x)返回值
x = [-1, +1]弧度在[0, π] 范围内
 -1 > x or x > 1NaN (不是数字r)

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

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

int main()
{
    //定义了常量 PI
    const double PI =  3.1415926;
    double x, result;

    x =  -0.5;
    result = acos(x);
    printf("cos(%.2f) 反余弦值 = %.2lf 弧度\n", x, result);

    //将弧度转换成角度
    result = acos(x)*180/PI;
    printf("cos(%.2f) 反余弦值 = %.2lf 度\n", x, result);

    //参数不在范围内
    x = 1.2;
    result = acos(x);
    printf("Inverse of cos(%.2f) = %.2lf", x, result);

    return 0;
}

输出结果

cos(-0.50) 反余弦值  = 2.09 弧度
cos(-0.50) 反余弦值  = 120.00 度
cos(1.20) 反余弦值  = nan

示例2:acosf()和acosl()函数

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

    //浮点型的反余弦
    fx = -0.505405;
    facosx = acosf(fx);

    //长双精度类型的反余弦
    lx = -0.50540593;
    ldacosx = acosf(lx);

    printf("acosf(x) = %f 弧度\n", facosx);
    printf("acosl(x) = %Lf 弧度", ldacosx);

    return 0;
}

输出结果

acosf(x) = 2.100648 弧度
acosl(x) = 2.100649 弧度

C 标准库 <math.h>