Стандартная библиотека языка Си предоставляет ряд математических функций, которые определены в разных заголовочных файлах, но в основном определены в файле math.h.
Функция pow(), определенная в заголовочном файле math.h
, возвращает степень числа:
#include <stdio.h> #include <math.h> int main(void) { printf("pow(2, 3) = %.f\n", pow(2, 3)); // 2 в степени 3 printf("pow(5, 2) = %.f\n", pow(5, 2)); // 5 в степени 2 return 0; }
Стоит отметить, что эта функция возвращает число типа double
.
Для возведения в степень чисел типа float
и long double
также определены функции powf()
и powl()
соответственно.
Функция round() округляет число до ближайшего целого. В качестве параметра она принимает число типа double
:
#include <stdio.h> #include <math.h> int main(void) { double n1 = 3.14; printf("round(%.2f) = %.2f\n", n1, round(n1)); // round(3.14) = 3.00 double n2 = 3.49; printf("round(%.2f) = %.2f\n", n2, round(n2)); // round(3.49) = 3.00 double n3 = 3.5; printf("round(%.2f) = %.2f\n", n3, round(n3)); // round(3.50) = 4.00 return 0; }
Функция sqrt() возвращает квадратный корень числа типа double
:
#include <stdio.h> #include <math.h> int main(void) { double n1 = 224; printf("sqrt(%.f) = %.f\n", n1, sqrt(n1)); // sqrt(224) = 15 double n2 = 36; printf("sqrt(%.f) = %.f\n", n2, sqrt(n2)); // sqrt(36) = 6 return 0; }
Для получения квадратного корня числа float
также есть функция sqrtf(), а для числа типа long double
- функция sqrtl()
Функция abs, определенная в файле "stdlib.h", возвращает абсолютное значение числа
#include <stdio.h> #include <stdlib.h> int main(void) { int m = -15; int n = 24; printf("abs(m) = %d \n", abs(m)); // abs(m) = 15 printf("abs(n) = %d \n", abs(n)); // abs(n) = 24 return 0; }
Для возвращения абсолютного значения чисел типов long
и long long
определены в "stdlib.h" функции labs
и llabs
соответственно. Для получения абсолютного значения для числа типа float
в файле math.h
определена функция fasbs
. Все эти функцию работают
аналогично abs()