Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
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");
}
{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}