Функции библиотеки C -acos()

Стандартная библиотека C - <math.h>

Описание

acos()является стандартной библиотекой C<math.h>функция, используемая для вычисления значения арккосинуса числа (также известная как обратная функция косинуса среди обратных тригонометрических функций).

acos()Функция принимает вещественное число в диапазоне от -1 до 1 и возвращает арккосинус этого значения, в радианах.

Объявление

Ниже приведено объявление функции acos().

#include <math.h>

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

Параметр

  • x-- число с плавающей запятой от -1 до 1.

Возвращаемое значение

  • returnxЗначение арккосинуса в радианах. Диапазон возвращаемого значения — [0, π].
  • ifxЕсли значение не находится в диапазоне [-1, 1], функция вернёт NaN и установит соответствующую математическую ошибку (например,EDOM)。

Пример

Следующий пример демонстрирует использование функции acos().

Пример

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

int main() {
    double x = 0.5;
    double result = acos(x);

    printf("acos(%f) = %f radians\n", x, result);
    printf("acos(%f) = %f degrees\n", x, result * 180 / M_PI);

    return 0;
}

Анализ кода:

  • Сначала код подключает заголовочный файл.<math.h>и<stdio.h>。
  • определяет переменнуюx, значение равно 0.5.
  • Использованиеacos()Вычислитьxзначение арккосинуса и сохраняет результат вresultВ.
  • printxзначение арккосинуса в радианах.
  • Преобразуйте результат в градусы и выведите его. Формула преобразования:弧度 * (180 / π)。

Давайте скомпилируем и запустим приведённую выше программу, которая выдаст следующий результат:

acos(0.500000) = 1.047198 radians
acos(0.500000) = 60.000000 degrees

Обработка ошибок

Если входное значениеxвыходящее за пределы допустимого диапазона [-1, 1],acos()вернёт NaN и установитerrnoявляетсяEDOM. Можно использоватьisnan()Функция проверяет, является ли результат NaN:

Пример

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

int main() {
    double x = 2.0;  // Недопустимый ввод, вне диапазона [-1, 1]
    errno = 0;  // Сбросить errno
    double result = acos(x);

    if (errno == EDOM) {
        printf("Входное значение вне области определения. acos(%f) не определено."\n", x);
    } else {
        printf("acos(%f) = %f radians\n", x, result);
    }

    return 0;
}

Анализ кода:

  • Код пытается вычислитьacos(2.0), это недопустимое входное значение, потому что 2.0 не находится в диапазоне [-1, 1].
  • errnoсбрасывается в 0, затем вызватьacos(x)。
  • ПроверяетerrnoРавно ли оноEDOM, если так, вывести сообщение об ошибке.
  • Если ошибок нет, выводится результат вычисления.

Давайте скомпилируем и запустим приведённую выше программу, которая выдаст следующий результат:

acos(2.000000) = nan radians

acos()Функция используется для вычисления арккосинуса заданного значения и является распространённым инструментом для обработки обратных тригонометрических операций. При её использовании убедитесь, что входное значение находится в диапазоне [-1, 1], и обрабатывайте возможные ошибочные ситуации. Преобразовав результат в градусы, его можно понять более наглядно.

Стандартная библиотека C - <math.h>

Другие расширения