Заголовочный файл в C содержит стандартные функции математической библиотеки, которые можно использовать для различных математических операций. Все библиотечные функции math.h принимают тип double в качестве аргумента и в результате возвращают значение типа double. Он также содержит некоторые часто используемые константы, определенные как макросы.
Синтаксис:
#include <math.h>
После включения заголовочного файла мы можем пользоваться его услугами в программе. В заголовочном файле math.h есть два типа элементов:
- Функции
- Макросы
Функции библиотеки math.h
Это функции, определенные в заголовочном файле , которые при вызове выполняют определенную математическую операцию.
Пример:
C
// C program to demonstrate the
// use of math.h library
// functions
#include <math.h>
#include <stdio.h>
int
main()
{
// two variables for test
double
x = 3.3, y = 1.1;
// ceil and floor demonstration
printf
(
"Ceil of %.1lf = %.1lf \nFloor of %.1lf = %.1lf\n"
,
x,
ceil
(x), x,
floor
(x));
// pow function demonstration
printf
(
"%.1lf raised to the power %.1lf = %.1lf\n"
, x,
y,
pow
(x, y));
return
0;
}
Выход
Ceil of 3.3 = 4.0 Floor of 3.3 = 3.0 3.3 raised to the power 1.1 = 3.7
Часто используемые функции файла заголовка math.h
Имя функции | Описание функции |
ceil(x) | Возвращает наибольшее целое число, меньшее или равное x. |
floor(x) | Возвращает наименьшее целое число, большее или равное x. |
fabs(x) | Возвращает абсолютное значение x. |
sqrt(x) | Возвращает квадратный корень из x. |
cbrt(x) | Возвращает кубический корень из x. |
pow(x , y) | Возвращает значение x, возведенное в степень y. |
ехр(х) | Возвращает значение e(число Эйлера), возведенное в степень x. |
fmod(x , y) | Возвращает остаток от деления x на y. |
log(x) | Возвращает натуральный логарифм x. |
log10(x) | Возвращает десятичный логарифм x. |
modf(x , *y) | Возвращает дробную часть x и задает для y целочисленную часть x. |
cos(x) | Возвращает косинус угла x в радианах. |
sin(x) | Возвращает синус угла x в радианах. |
tan(x) | Возвращает тангенс угла x в радианах. |
acos(x) | Возвращает арккосинус x в радианах. |
asin(x) | Возвращает арксинус x в радианах. |
atan(x) | Возвращает арктангенс x в радианах. |
cosh(x) | Возвращает гиперболический косинус x. |
sinh(x) | Возвращает гиперболический синус x. |
Макросы библиотеки math.h
Это макросы, определенные внутри заголовочного файла с использованием препроцессора #define. Они могут быть либо константами, которые заменяются своим значением при использовании, либо макросами, подобными функциям.
Пример:
С
// C program to demonstrate
// the use of math.h library
// macros
#include <math.h>
#include <stdio.h>
int
main()
{
// HUGE_VAL macro
printf
(
"Value Returned by HUGE_VAL = %.1lf\n"
, HUGE_VAL);
// isgreater macro demonstration
printf
(
"Value returned by isgreater = %d"
, isgreater(12.0, 13.0));
return
0;
}
Выход
Value Returned by HUGE_VAL = inf Value returned by isgreater = 0
Примечание: inf используется для представления положительной бесконечности (очень большого числа, которое нельзя представить с помощью double или float.
Вот список некоторых часто используемых макросов библиотеки math.h:
Имя макроса | Описание макроса |
HUGE_VAL | Представлять положительную бесконечность, т. е. значения, слишком большие для представления с использованием числа с плавающей запятой или двойного числа. |
isgreater(x, y) | Проверяет, является ли x > y, и возвращает true/false соответственно. |
isless(x, y) | Проверяет, является ли x < y, и возвращает true/false соответственно. |