Týden 3
Funkce matematické knihovny math
Standardní knihovna jazyka C obsahuje základní matematické funkce pro výpočet goniometrických funkcí, mocniny a odmocniny čísla, logaritmů a také zaokrouhlovací funkce. Podrobnou dokumentaci naleznete na http://www.cplusplus.com/reference/clibrary/cmath/, ve cvičeních užijeme funkce:
- cos - cosinus
- sin - sinus
- pow - mocnina
- sqrt - druhá odmocnina
- ceil - horní celá část
- floor - dolní celá část
- fabs - absolutní hodnota desetinného čísla
Blok příkazů
V jazyce C je možné sloučit do bloku příkazy, které následují v programu přímo po sobě. V praxi se bloky využijí za řídícími konstrukcemi jako jsou podmíněný příkaz nebo cykly.
Blok se v jazyce C zapíše pomocí složených závorek takto:
{ float base, exp; printf("Zadejte zaklad: "); scanf("%g", &base); printf("Zadejte exponent: "); scanf("%g", &exp); float result = pow(base, exp); printf("%.4f ^ %.2f = %.4f", base, exp, result); }
Podmíněný příkaz if - else
Pokud chceme některou část programu provést jen pokud je splněna nějaká podmínka, můžeme v jazyce C použít podmíněný příkaz if. Takto můžeme v programu provést jeden příkaz nebo blok příkazů. Navíc je možné provést příkazy, když podmínka splněna není, k tomu se užije klíčové slovo else.
Zápis podmínky může vypadat takto:
int num; /* Nacteni num ze vstupu */ if (num > 0) printf("Uzivatel zadal kladne cislo");
Se zápisem v bloku a s použitím větve else by vypadal stejný program takto:
int num; /* Nacteni num ze vstupu */ if (num > 0) { printf("Uzivatel zadal kladne cislo"); } else { printf("Potrebuji kladne cislo"); }
Logické výrazy
V jazyce C je možné utvářet jednoduché logické výrazy, např.:
- a < b - a je menší než b,
- a >= b - a je větší nebo rovno b,
- a == b - a je rovno b,
- a != b - a není rovno b.
Kromě základních relačních operátorů je možné logické výrazy negovat a jednoduché výrazy spojovat do složitějších pomocí logických spojek a a nebo:
- !a - negace a,
- a && b - a a zároveň b,
- a || b - a nebo b.
Často může být vhodné jednodušší výrazy uzavírat do závorek, aby byla explicitně určena priorita s jakou budou vyhodnocovány.