Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс ПЯВУ 2 сем / Лекции 2 сем / Л№36.Библиотека стандартных программ / Лекция № 33. Библиотека стандартые функции.odt
Скачиваний:
15
Добавлен:
17.04.2015
Размер:
54.36 Кб
Скачать

5. Математические функции

Прототипы математических функций содержатся в файле math.h, за исключением прототипов _clear87, _control87, _fpreset, status87, определенных в файле float.h.

Вещественные функции, как правило, работают с двойной точностью (тип double).

Многие функции имеют версии, работающие с учетверенной точностью (тип long double). Имена таких функций имеют суффикс "l" в конце (atan и atanl, fmod и fmodl и т. д.). Действие модификатора long в применении к double зависит от архитектуры ЭВМ.

<math.h>

Таблица 6. Математические функции

_______________________________________________________________________________

Функция Краткое описание

_______________________________________________________________________________

abs нахождение абсолютного значения выражения типа int

acos вычисление арккосинуса. Аргументы этой и других

ригонометрических функций задаются в радианах

asin вычисление арксинуса

atan вычисление арктангенса х

atan2 вычисление арктангенса от у/х

cabs нахождение абсолютного значения комплексного числа

ceil нахождение наименьшего целого, большего или равного х

_clear87 получение значения и инициализация слова состояния сопроцессора

и библиотеки арифметики с плавающей точкой

_control87 получение старого значения слова состояния для функций

арифметики с плавающей точкой и установка нового состояния

cos вычисление косинуса

cosh вычисление гиперболического косинуса

exp вычисление экспоненты

fabs нахождение абсолютного значения типа double

floor нахождение наибольшего целого, меньшего или равного х

fmod нахождение остатка от деления х/у

_fpreset повторная инициализация пакета плавающей арифметики

frexp вычисляет для х вещественную мантиссу m и целое n так,что x=m*2n

hypot вычисление гипотенузы

labs нахождение абсолютного значения типа long

ldexp вычисление х*2e

log вычисление натурального логарифма

log10 вычисление логарифма по основанию 10

matherr управление реакцией на ошибки при выполнении функций

математической библиотеки

modf разложение х на дробную и целую часть

pow вычисление х в степени у

sin вычисление синуса

sinh вычисление гиперболического синуса

sqrt нахождение квадратного корня

_status87 получение значения слова состояния с плавающей точкой

tan вычисление тангенса

tanh вычисление гиперболического тангенса

__________________________________________________________________________

В библиотеке определен также ряд констант, таких как M_PI (число π), M_E (основание натурального логарифма e) и др.

Функция matherr, которую пользователь может определить в своей программе, вызывается любой библиотечной математической функцией при возникновении ошибки. Эта функция определена в библиотеке, но может быть переопределена для установки различных процедур обработки ошибок.

int matherr (struct exception *a) {

if (a->type == DOMAIN)

if (!strcmp(a->name,"sqrt")) {

a->retval = sqrt (-(a->arg1));

return 1;

}

return 0;

}

double x = -2.0, y;

y = sqrt(x);

printf("Matherr corrected value: %lf\n",y);