...
operaattori | merkitys (suluissa englanniksi) |
---|---|
| negaatio eli kielto (NOT) |
| tai (OR) |
| ja (AND) |
Lisäksi voidaan testata onko jokin erisuuri kuin nolla, kts esimerkki 1.
Esimerkkejä
Loogisilla operaatioilla saadaan informaatio siitä onko muuttuja nolla tai ei, lisäksi voidaan testata muuttujien yhtä- ja erisuuruutta.1)
- muuttuja
...
a
...
- on
...
- nolla
...
Code Block if (!a) printf("a on nolla"); else printf("a ei ole nolla");
...
- muuttuja
a
tai (OR) muuttujab
on tosi (erisuuri kuin nolla), myös molemmat voivat olla tosia.Code Block if (a || b) { printf("muuttuja a tai muuttuja b on tosi (erisuuri kuin nolla), myös molemmat voivat olla tosia"); } else
...
...
{ printf("molemmat muuttujat ovat epätosia");
...
}
- muuttujat a on suurempi tai yhtäsuuri kuin b ja c on pienempi kuin d.
Code Block if (a>=b && c<d) { printf("muuttujat a on suurempi tai yhtäsuuri kuin b"); } else { printf("muuttujat a on suurempi tai yhtäsuuri kuin b ja c on pienempi kuin d"); }
- muuttuja
a
ja (AND) muuttujab
on tosi.Code Block if (a && b) { printf("muuttuja a ja muuttuja b on tosi (erisuuri kuin nolla)"); } else
...
{ printf("molemmat muuttujat ovat epätosia"); }
- muuttujat a on suurempi tai yhtäsuuri kuin b tai c on pienempi kuin d.
Code Block if (a>=b || c<d) printf("muuttujat a on suurempi tai yhtäsuuri kuin b"); else printf("muuttujat a on suurempi tai yhtäsuuri kuin b tai c on pienempi kuin d");
Useampia ehtoja voidaan myös 'ketjuttaa' samaan if-ehtoon loogisten operaattoreiden avulla. Ehtojen lukumäärällä ei ole ylärajaa?
Code Block |
---|
if ((a>=0 && a<=100) || (a>=200 && a<=300)) {
printf("muuttuja a on lukualueella 0...100 tai 200...300");
} else {
printf("muuttuja a ei ole lukualueella");
}
|