Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Wiki Markup
h2. If-valintarakenne

...



if-rakenteen yksinkertaisin muoto on

...


{code
}
if (ehto)
{
    lauseita
}
{code}
* 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
}
if (a<b) {
    printf("a oli pienempi kuin b");
}

if ja else -rakenne

{code}

h2. if ja else \-rakenne

if-rakenteseen voidaan lisätä vaihtoehtoinen haara, joka suoritetaan silloin kun ehto ei ole voimassa:

...


{code
}
if (ehto) {
    lauseita
} else {
    lauseita
}
{code}
Esimerkiksi:

...


{code
}
if (a<b) {
    printf("a oli pienempi kuin b");
} else {
    printf("a oli yhtäsuuri tai suurempi kuin b");
}
{code}

h2. else if \-rakenne

...



Testaus voidaan jakaa myös useampaan osaan:

...


{code
}
if (ehto1) {
    lauseita1
} else if (ehto2) {
    lauseita2
...
} else if (ehto_n) {
    lauseita_n
} else {
    lauseita3
}
{code}
* else-if haaroille ei ole mitään lukumäärärajoituksia, niitä voi olla n kappaletta.

...



Esimerkki:

...


{code
}
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"); }
{code}
{{if}}\-valinta voidaan tehdä monen vaihtoehdon välillä:

...


{code
}
if (ehto1) lauseke1;
else if (ehto2) lauseke2;
else if (ehto3) lauseke3;
else lauseke4; // tämä toteutetaan jos mikään ehto ei ole tosi
{code}
Lauseke1 voi koostua yhdestä käskystä tai {} sulkujen sisällä olevasta ohjelmalohkosta (sulkulauseke voi olla myös tyhjä).

...


{code
}
if (a>b) {
    if (a<2) lauseke1;
    if (c==5) lauseke2;
    else      lauseke3;
} else {
    lauseke4;
}
{code}