Příkaz if
Zatím vaše programy prováděly všechny příkazy jeden po druhém, shora dolů. Program se ale často musí rozhodnout, co udělá: zobrazit varování, jen když je heslo příliš krátké, nebo dát slevu, jen když je zákazník student. Takhle se rozhodujeme pořád: pokud bude pršet, vezmu si deštník.
V jazyce C se rozhodnutí zapisuje příkazem if (anglicky „pokud“):
int teplota = 30;
if (teplota > 25) {
printf("Je horko, vezměte si kšiltovku\n");
}
printf("Hezký den\n");Tento kód vypíše:
Je horko, vezměte si kšiltovku
Hezký denPříkaz if má tři části:
- klíčové slovo
if. Klíčové slovo je slovo, které má v C zvláštní význam, a proto se nedá použít jako název proměnné; - podmínku v kulatých závorkách:
(teplota > 25). Podmínka je otázka, na kterou se dá odpovědět jen ano (pravda), nebo ne (nepravda): je teplota větší než 25? Závorky kolem podmínky jsou povinné; - blok kódu ve složených závorkách
{ }. Blok se provede, jen když je podmínka pravdivá.
Za blokem program pokračuje jako obvykle, takže Hezký den se vypíše v každém případě. Kdyby teplota byla 10, podmínka by byla nepravdivá: program by blok přeskočil a vypsal jen Hezký den.
V podmínce můžete porovnávat pomocí > (větší než) a < (menší než) stejně jako v matematice. Další porovnávací operátory poznáte za chvíli.
Složené závorky jsou nutné, kdykoli má blok víc než jeden příkaz. V tomto kurzu je píšeme vždy, i kolem jediného příkazu. Proč, uvidíte v dalším cvičení.
Za ) ani za } se nepíše středník. Když zapomenete kulaté závorky kolem podmínky, překladač ohlásí chybu error: expected '(' after 'if'. Zrádnější je středník za podmínkou:
int teplota = 10;
if (teplota > 25); {
printf("Je horko, vezměte si kšiltovku\n");
}Tento kód vypíše:
Je horko, vezměte si kšiltovkuJe přitom jen 10 stupňů. Středník za závorkou ukončí celý příkaz if, takže k podmínce patří jen prázdný příkaz. Blok ve složených závorkách s podmínkou nijak nesouvisí a provede se vždy. Překladač na to upozorní jen varováním a varování se na tomto webu nezobrazují. Když se tedy blok provede, i když by neměl, podívejte se nejdřív, jestli za podmínkou není středník.
Jak psát:
Pokyny
Místo komentáře napište příkaz if s podmínkou cena_monitoru < 4000. V jeho bloku vypište Koupím monitor.
Pod blok napište druhý příkaz if s podmínkou cena_monitoru > 4000, který vypíše Je moc drahý. Spusťte program: pořád vypíše jen Monitor stojí 3000 Kč a Koupím monitor, protože 3000 není větší než 4000, a druhý blok se proto přeskočí.
Začněte programovat zdarma
1/12