Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
ccpp:vetveni [2019/10/10 14:08] – durdilova | ccpp:vetveni [2019/10/10 15:10] (aktuální) – durdilova | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Větvení programu | ====== Větvení programu | ||
- | Pro větvení programu slouží | + | K větvení programu slouží příkazy **[[ccpp: |
- | Pokud potřebujeme | + | Příkaz **[[ccpp: |
- | Pokud se mají provést nějaké příkazy | + | |
- | Pokud potřebujeme větvit program do více větví například podle proměnné, jejíž hodnota je prvkem různých intervalů, můžeme příkazy if do sebe vnořovat. | + | Příkaz **[[ccpp: |
- | Pokud potřebujeme větvit program do více větví na základě hodnot nějakého selektoru, použijeme příkaz | + | |
- | + | ||
- | ===== Úplný rozhodovací příkaz ===== | + | |
- | Úplný rozhodovací příkaz obsahuje části: | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | ===== Syntaxe úplného rozhodovacího příkazu ===== | + | |
- | <code c> | + | |
- | // S jedním příkazem v těle | + | |
- | if (podmínka) | + | |
- | prikaz1; | + | |
- | else | + | |
- | | + | |
- | + | ||
- | // S blokem příkazů v těle | + | |
- | if (podmínka) | + | |
- | { | + | |
- | prikaz1a; | + | |
- | prikaz1b; | + | |
- | //... | + | |
- | } | + | |
- | else | + | |
- | { | + | |
- | prikaz2a; | + | |
- | prikaz2b; | + | |
- | //... | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | ==== Poznámky ==== | + | |
- | * Středník ukončuje až celý příkaz if, za hlavičku se středník nepíše. | + | |
- | * Pokud je v kladné nebo záporné | + | |
- | * V případě, že potřebujeme definovat odlišná chování pro více hodnot než 2, můžeme použít vnořený rozhodovací příkaz. | + | |
- | + | ||
- | ===== Průběh rozhodovacího příkazu ===== | + | |
- | - **vyhodnocení podmínky** | + | |
- | - podmínka platí | + | |
- | - **vykonání první skupiny příkazů** | + | |
- | - podmínka neplatí | + | |
- | - **vykonání druhé skupiny příkazů za else** | + | |
- | + | ||
- | ==== Výpis textu, zda celé číslo x je liché nebo sudé ==== | + | |
- | <code c> | + | |
- | if (x % 2 == 0) | + | |
- | printf(" | + | |
- | else | + | |
- | printf(" | + | |
- | </ | + | |
- | + | ||
- | ===== Syntaxe neúplného rozhodovacího příkazu ===== | + | |
- | <code c> | + | |
- | // S jedním příkazem v těle | + | |
- | if (podmínka) | + | |
- | prikaz1; | + | |
- | + | ||
- | // S blokem příkazů v těle | + | |
- | if (podmínka) | + | |
- | { | + | |
- | prikaz1a; | + | |
- | prikaz1b; | + | |
- | //... | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | ===== Průběh neúplného rozhodovacího příkazu ===== | + | |
- | - **vyhodnocení podmínky** | + | |
- | - podmínka platí | + | |
- | - **vykonání první skupiny příkazů** | + | |
- | - podmínka platí | + | |
- | - **program pokračuje vykonáváním dalších příkazů za příkazem rozhodovacím** | + | |
- | ==== Výpočet absolutní | + | |
- | <code c> | + | |
- | float y = x; | + | |
- | if (x < 0) | + | |
- | y = -y; | + | |
- | </ | + | |
- | + | ||
- | ==== Seřazení dvou hodnot podle velikosti ==== | + | |
- | <code c> | + | |
- | if (a > b) // Podmínka | + | |
- | { | + | |
- | int pomoc = a; | + | |
- | a = b; | + | |
- | b = pomoc; | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | ===== Větvení programu | + |