If-valintarakenne
if-rakenteen yksinkertaisin muoto on
if (ehto) { lauseita }
- Ehto voidaan muodostaa seuraavilla: vertailuoperaattorit ja loogiset operaattorit.
- Aaltosulkeiden välissä olevat lauseet valitaan suoritettaviksi vain ehdon ollessa voimassa.
- Lauseita voi olla yksi tai useampia.
- Jos lauseita on vain yksi, ei ole välttämätöntä käyttää aaltosulkeita.
Esimerkiksi:
if (a<b) { printf("a oli pienempi kuin b"); }
if ja else -rakenne
if-rakenteseen voidaan lisätä vaihtoehtoinen haara, joka suoritetaan silloin kun ehto ei ole voimassa:
if (ehto) { lauseita } else { lauseita }
Esimerkiksi:
if (a<b) { printf("a oli pienempi kuin b"); } else { printf("a oli yhtäsuuri tai suurempi kuin b"); }
else if -rakenne
Testaus voidaan jakaa myös useampaan osaan:
if (ehto1) { lauseita1 } else if (ehto2) { lauseita2 ... } else if (ehto_n) { lauseita_n } else { lauseita3 }
- else-if haaroille ei ole mitään lukumäärärajoituksia, niitä voi olla n kappaletta.
Esimerkki:
if (a<b) { printf("a oli pienempi kuin b"); } else if (a==b) { printf("a oli yhtäsuuri kuin b"); } else { printf("a suurempi kuin b"); }
if
-valinta voidaan tehdä monen vaihtoehdon välillä:
if (ehto1) lauseke1; else if (ehto2) lauseke2; else if (ehto3) lauseke3; else lauseke4; // tämä toteutetaan jos mikään ehto ei ole tosi
Lauseke1 voi koostua yhdestä käskystä tai {} sulkujen sisällä olevasta ohjelmalohkosta (sulkulauseke voi olla myös tyhjä).
if (a>b) { if (a<2) lauseke1; if (c==5) lauseke2; else lauseke3; } else { lauseke4; }