English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de linguagem C

Controle de fluxo de linguagem C

Funções C

Matrizes C

Ponteiro C

String C

Estrutura de linguagem C

Arquivo de linguagem C

Outros C

Manual de referência do C

Uso e exemplo da função de biblioteca C acos()

Biblioteca Padrão <math.h> C

A função acos() retorna o valor do arco-cosseno de um número representado em radianos.

A função acos() aceita um único parâmetro (1≥x≥-1),e retorna o valor do arco-cosseno em radianos.

A função acos() está incluída no arquivo de cabeçalho <math.h>.

Função原型 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 ou x > 1NaN (不是数字)

示例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("Cosseno de (%.2f);2f) 反余弦值 = %.2f.2lf 弧度\n", x, result);
    //将弧度转换成角度
    result = acos(x)*180/PI;
    printf("Cosseno de (%.2f);2f) 反余弦值 = %.2f.2lf 度\n", x, result);
    //参数不在范围内
    x = 1.2;
    result = acos(x);
    printf("Cosino inverso de (%.2f);2f) = %.2f.2lf", x, result);
    return 0;
}

Resultados de Saída

cos(-0.50) 反余弦值 = 2.09 Radianos
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;
    //float 类型的反余弦
    fx = -0.505405;
    facosx = acosf(fx);
    //long double 类型的反余弦
    lx = -0.50540593;
    ldacosx = acosf(lx);
    printf("acosf(x) = %f radianos\n", facosx);
    printf("acosl(x) = %Lf radianos", ldacosx);
    return 0;
}

Resultados de Saída

acosf(x) = 2.100648 Radianos
acosl(x) = 2.100649 Radianos

Biblioteca Padrão <math.h> C