If-valintarakenne
if-rakenteen yksinkertaisin muoto on
Code Block |
---|
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:
Code Block |
---|
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:
Code Block |
---|
if (ehto) {
lauseita
} else {
lauseita
}
|
Esimerkiksi:
Code Block |
---|
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:
Code Block |
---|
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:
Code Block |
---|
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ä:
Code Block |
---|
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 ohjelmalohkosta (sulkulauseke voi olla myös tyhjä). Alistettuja if-lauseita käytetään usein tehokkaan ohjelmoinnin yhteydessä:
Code Block |
---|
if (ia>b) { if (ja<2) lauseke1; if (kc==5) lauseke2; else lauseke3; } else else { lauseke4; } |