Библиотека математических функций
Операндами в арифметических выражениях могут быть математические функции. Для вычисления значения той или иной математической функции в выражении, используют функции из библиотеки math.h.
Математ. функция | Вызов функции | Тип аргумента | Тип результата функции | Краткое описание | Пример |
|x| | fabs(x) | double | double | нахождение абсолютного значения типа double | double x=-12.34; long y=fabs(x); |
arccos | acos(x) | int | int | вычисление арккосинуса x | |
duble | duble | ||||
arcsin | asin(x) | int | int | вычисление арксинуса x | double x=0.5; |
duble | duble | int y=asin(x); | |||
arctan | atan(x) | int | int | вычисление арктангенса х | |
duble | duble | ||||
cos | cos(x) | int | int | вычисление косинуса x | |
duble | duble | ||||
ex | exp(x) | int | int | вычисление экспоненты x | |
duble | duble | ||||
floor(x) | int, usigned int | double | Округление вниз (нахождение наибольшего целого, меньшего или равного х) | ||
ldexp | ldexp(x, exp) | double x, int y | double | вычисление х*2exp , т.е. преобразует число из формата с плавающей точкой в формат с фиксированной точкой | |
log | log(x) | double x | double | вычисление натурального логарифма | |
log10 | log10(x) | double x | double | вычисление логарифма по основанию 10 | |
xy | pow(x) | double x и double y | double | Результат: х в степени у | |
sin | sin(x) | double x | double | вычисление синуса | |
sinh | sinh(x) | double x | double | вычисление гиперболического синуса | |
sqrt | sqrt(x) | double x | double | нахождение квадратного корня | |
tan | an(x) | double x | double | вычисление тангенса | |
fmod(x,y) | double x и double y | double | Остаток от деления x на y | ||
frexp(x,y) | double x, int y | double | Выделяет мантиссу и порядок числа х. Порядок записывает в y, а мантисса результат функции. | ||
modf(x,y) | double x, double *y | double | Выделяет целую и дробную часть числа. Результат функции – целая часть числа, а дробная часть помещается в переменную y |
Функции библиотеки stdlib.h
Математ. функция | Вызов функции | Тип аргумента | Тип результата функции | Краткое описание | Пример |
|x| | abs(x) | int | int | нахождение абсолютного значения выражения типа int | abs(-5) результат 5 |
|x| | labs(x) | lоng | lоng | нахождение абсолютного значения типа long | long x=-12345; long y=labs(x); |
exit | Прерывает выполнение программы | ||||
atof(s) | s -строка | double | Преобразует строку в вещественное число | ||
atol(s) | s -строка | long | Преобразует строку в целое число типа long | ||
atoi(s) | s - строка | int | Преобразует строку в целое число типа int | ||
ldiv(x,y) | long x,y; | Структура с двумя полями типа long | Деление с остатком Структура, содержащая целую часть и остаток при делении х на у. | ||
div(x,y) | int x,y; | Структура с двумя полями типа long | Деление с остатком. Структура, содержащая целую часть и остаток при делении х на у. | ||
qsort(x, n, int (compare)(void* a, void* b)) | Х – массив любого типа; int n; количество элементов; compare – функция сравнивает значения переменных а и b | Сортирует массив Х | |||
rand() | int | Возвращает число в диапазоне от 0 до Rand_Max | |||
srand( x) | int x; | void | Устанавливает начальное число в последовательности псевдослучайных чисел | srand( 10); int x=rand(); | |
system(s) | Выполнение командным процессором ОС программы или утилиты согласно параметру s | System(“PAUSE”) – остановка выполнения программы |
Примеры записи выражений с использованием функций
Математическая запись | Запись на Си |
Для целых (abs(x)+abs(y))/2 Для вещественных типа double: (fabs(x)+fabs(y))/2 | |
sqrt(x*x + y*y) | |
1+log10X | 1+log10(x) |
Pow(x, -3)+pow(x,-10)+ cos(z) |
Пример программы вычисления значения выражения
#include "stdafx.h"
#include "math.h"
#include "stdio.h"
int main()
{
double x, y, z;
printf("Введите х=");
scanf("%lf", &x);
printf("Введите y=");
scanf("%lf", &y);
z=(abs(x)+abs(y))/2;
printf(" Результат = %f", z);
getchar();getchar();
}
Операция присваивания
Предназначена для присваивания переменной нового значения.