Існує більш ніж двадцять математичних функцій, оголошених в <math.h>; ось декілька з найчастіше використовуваних. Кожна з них візьме один або два аргументи типу double(подвійного) і повертає теж double.
sin(x)
| синус x, x в радіанах
|
cos(x)
| косинус x, x в радіанах
|
atan2(y,x)
| арктангенс y/x, в радіанах
|
exp(x)
| показникова функція ex
|
log(x)
| натуральний логаритм x (x>0) (при основі e)
|
log10(x)
| десятковий (звичайний) логаритм x (x>0)
|
pow(x,y)
| xy
|
sqrt(x)
| квадратний корінь x (x>0)
|
fabs(x)
| абсолютне значення x
|
Генератор випадкових чисел
Функція rand() обчислює послідовність псевдовипадкових цілих в діапазоні від нуля доRAND_MAX, означеного в <stdlib.h>. Одним з способів здобуття випадкових чисел з рухомою точкою більших або рівних нулю але менших одиниці, це
#define frand() ((double) rand() / (RAND_MAX+1.0))
(Якщо ваша бібліотека передбачає функцію для випадкових чисел з рухомою точкою, вона ймовірніше матиме кращі статистичні властивості ніж навеведена вище.)
Функція srand(unsigned) встановлює зерно для rand. Портабельне втілення rand і srand, рекомендоване Стандартом, можна знайти в Розділі 2.7.
Вправа 7-9. Функції на зразок isupper можна втілити так, щоб зберегти місце або зберегти час. Розгляньте обидві можливості.