**math.h** je hlavičkový súbor štandardnej knižnice jazyka C, ktorý sprístupňuje matematické funkcie (napr. goniometrické funkcie, logaritmy) a konštanty (napr. Ludolfovo číslo). Hlavičkový súbor sa do zdrojového kódu vkladá pomocou direktívy preprocesoru `#include <math.h>` (v C) alebo `#include <cmath>` (v C++).

Funkcia pow
-----------

Funkcia `pow` (z anglického *power*, čo znamená umocňovať) je funkcia, ktorá umožňuje umocňovať reálny základ reálnym číslom. Pri programovaní sa často miesto tejto funkcie používa súčin niekoľkých premenných, napríklad {\displaystyle x^{3}=x\cdot x\cdot x}.

V prípade, že je potreba spočítať druhú odmocninu, možno použiť preddefinovanú funkciu `sqrt`, prípadne sa používa alternatíva v tvare `pow(x, 1.0/2.0)`, čo je základ umocnenia na jednu polovicu.

Toto sa používa aj u iných odmocnín. Pri počítaní nepárnej odmocniny je v matematike definovaná odmocnina zo záporného čísla, ale u tejto funkcie toto nie je definované. Tento problém možno obísť podmienkami `if` a `else` a pomocou funkcie `abs(x)`.

Príklad zdrojového kódu pre funkciu pow
---------------------------------------

```
#include <math.h>
#include <stdio.h>

int main()
{
 float x, z;
 printf("Zadajte číslo, ktoré chcete umocniť na 3. :");
 scanf("%f", &x);
 z = pow(x, 3);
 printf("Výsledok je: %f", z);
 return 0;
}

```

Funkcia sqrt
------------

Funkcia `sqrt` (z anglického *square root*, čo znamená druhá odmocnina) je ďalšia funkcia, ktorú je možné volať v tvare `z = sqrt(x);`. Pre túto funkciu nie je definovaná odmocnina zo záporného čísla. Tomuto problému možno zabrániť príkazom `abs(x)` alebo podmienkami `if` a `else`. Alternatíva tohoto príkazu je príkaz `pow`, kde je premenná umocnená na jednu polovicu.

Príklad zdrojového kódu pre funkciu sqrt
----------------------------------------

```
#include <math.h>
#include <stdio.h>

int main()
{
 float x, z;
 printf("Zadajte číslo, ktoré chcete odmocniť: ");
 scanf("%f", &x);

 if(x >= 0)
 {
 z = sqrt(x);
 printf("Výsledok je: %f", z);
 return 0;
 }
 else
 {
 printf("Chyba, program ukončený!");
 return 1;
 }
}

```

Tabuľka s prehľadom najpoužívanejších príkazov tejto knižnice
-------------------------------------------------------------

| Príkaz | Popis
  |
| --- | --- |
| abs | absolútna hodnota
  |
| labs | absolútna hodnota typu long
  |
| fabs | absolútna hodnota typu float
  |
| div | vráti výsledok spolu so zvyškom delenia
  |
| ldiv | vráti výsledok spolu so zvyškom delenia typu long
  |
| sqrt | druhá odmocnina
  |
| pow | ľubovoľná mocnina
  |
| log | prirodzený logaritmus
  |
| log10 | logaritmus so základom 10
  |
| sin | sínus
  |
| cos | kosínus
  |
| tan | tangens
  |
| acos | arcus cosinus
  |
| asin | arcus sinus
  |
| atan | arcus tangens
  |
| atan2 | arcus tangens
  |
| sinh | hyperbolický sínus
  |
| cosh | hyperbolický kosínus
  |
| tanh | hyperbolický tangens
  |
| ceil | vráti najbližšie celé číslo ne menšie než argument (zaokrúhli nahor)
  |
| floor | vráti najbližšie celé číslo ne väčšie než argument (zaokrúhli nadol)
  |

Pozri aj
--------

* C (programovací jazyk)
* C++
* Komentár (programovanie)
* escape sekvencia
* stdio.h
* date.h
* iostream
* algoritmus

Referencie
----------

* – C++ Reference
* Archivované 2011-07-24 na Wayback Machine