You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Current »

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;
}
  • No labels
You must log in to comment.