math.h
math.h je hlavičkový soubor standardní knihovny jazyka C, který zpřístupňuje matematické funkce pro reálná čísla (např. goniometrické funkce, logaritmy) s přesností double
, standard C99 i pro komplexní čísla a také s přesnostmi float
a long double
. (Může obsahovat konstanty např. Ludolfovo číslo, Eulerovo číslo, ...). Hlavičkový soubor se do zdrojového kódu vkládá pomocí direktivy preprocesoru #include <math.h>
(v C) nebo #include <cmath>
(v C++).
Funkce pow
Funkce pow
(z anglického power, což znamená umocňovat) je funkce, která umožňuje umocňovat reálný základ reálným číslem. Při programování se často místo této funkce používá součin několika proměnných, například .
V případě, že je potřeba spočítat druhou odmocninu, lze použít předdefinovanou funkci sqrt
, případně se používá alternativa ve tvaru pow(x, 1./2.)
, což je základ umocnění na jednu polovinu.
Toto se používá i u jiných odmocnin. Při počítání liché odmocniny je v matematice definována odmocnina ze záporného čísla, ale u této funkce toto není definováno. Tento problém lze obejít podmínkami if
a else
a pomocí funkce abs(x)
.
Příklad zdrojový kódu pro funkci pow
#include <math.h>
#include <stdio.h>
int main()
{
double x, z;
printf("Zadejte cislo, ktere chcete umocnit na 3. :");
scanf("%lf", &x);
z = pow(x, 3.);
printf("Vysledek je: %f\n", z);
return 0;
}
Funkce sqrt
Funkce sqrt
(z anglického square root, což znamená druhá odmocnina) je další funkci, která je možné volat ve tvaru z = sqrt(x);
. Pro tuto funkci není definována odmocnina ze záporného čísla. Tomuto problému lze zabránit příkazem abs(x)
nebo podmínkami if
a else
. Alternativa tohoto příkazu je příkaz pow
, kde je proměnná umocněna na jednu polovinu.
Příklad zdrojový kódu pro funkci sqrt
#include <math.h>
#include <stdio.h>
int main()
{
double x, z;
printf("Zadejte cislo, ktere chcete odmocnit: ");
scanf("%lf", &x);
if(x >= 0.)
{
z = sqrt(x);
printf("Vysledek je: %f\n", z);
return 0;
}
else
{
printf("Chyba, program ukoncen!\n");
return 1;
}
}
Tabulka s přehledem nejužívanějších příkazů této knihovny
Příkaz | Popis |
---|---|
abs | absolutní hodnota |
labs | absolutní hodnota typu long |
fabs | absolutní hodnota typu float |
div | vrátí výsledek spolu se zbytkem dělení |
ldiv | vrátí výsledek spolu se zbytkem dělení typu long |
sqrt | druhá odmocnina |
pow | vrátí umocněné číslo |
log | přirozený logaritmus |
log10 | logaritmus se základem 10 |
sin | sinus |
cos | kosinus |
tan | tangens |
acos | arcus cosinus |
asin | arcus sinus |
atan | arcus tangens |
atan2 | arcus tangens |
sinh | hyperbolický sinus |
cosh | hyperbolický cosinus |
tanh | hyperbolický tangens |
ceil | vrátí nejbližší celé číslo ne menší než argument (zaokrouhlí nahoru) |
floor | vrátí nejbližší celé číslo ne větší než argument (zaokrouhlí dolů) |
Související články
- C (programovací jazyk)
- C++
- Komentář (programování)
- escape sekvence
- stdio.h
- date.h
- iostream
- algoritmus