Функции библиотеки 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.
Возвращаемое значение
- return
xЗначение арккосинуса в радианах. Диапазон возвращаемого значения — [0, π]. - if
xЕсли значение не находится в диапазоне [-1, 1], функция вернёт NaN и установит соответствующую математическую ошибку (например,EDOM)。
Пример
Следующий пример демонстрирует использование функции acos().
Пример
#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В. - print
xзначение арккосинуса в радианах. - Преобразуйте результат в градусы и выведите его. Формула преобразования:
弧度 * (180 / π)。
Давайте скомпилируем и запустим приведённую выше программу, которая выдаст следующий результат:
acos(0.500000) = 1.047198 radians acos(0.500000) = 60.000000 degrees
Обработка ошибок
Если входное значениеxвыходящее за пределы допустимого диапазона [-1, 1],acos()вернёт NaN и установитerrnoявляетсяEDOM. Можно использоватьisnan()Функция проверяет, является ли результат NaN:
Пример
#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], и обрабатывайте возможные ошибочные ситуации. Преобразовав результат в градусы, его можно понять более наглядно.