boolean-lauseista - true ja false
mitä tiedätte tästä jo?
tietokone ajattelee binäärisesti
boolean-algebra
|
|
bool olenIloinen=true;
while(olenIloinen==true){
printf("olen iloinen");
olenIloinen=false;
}
printf("en ole enää iloinen");
bool olenIloinen=true;
while(olenIloinen){ // toimii myös
printf("olen iloinen");
olenIloinen=false;
}
printf("en ole enää iloinen");
bool-tyyppi on tullut C-kieleen vasta C-kielen vuoden 1999 versiossa nimeltä C99.
Vanhemmissa versioissa bool-tyypin saa käyttöön seuraavalla koodirivillä:
typedef enum { false, true } bool;
if(a) // sama kuin if(a==true)
int olenIloinen=1;
while(olenIloinen){
printf("olen iloinen");
olenIloinen=0;
}
printf("en ole enää iloinen");
int olenIloinen=42;
while(olenIloinen){
printf("olen iloinen");
olenIloinen=0;
}
printf("en ole enää iloinen");
int olenIloinen=true; // ???
while(olenIloinen){
printf("olen iloinen \n");
olenIloinen=0;
}
printf("en ole enää iloinen \n");
int olenIloinen=1;
while(olenIloinen){
printf("olen iloinen \n");
olenIloinen=false; // ???
}
printf("en ole enää iloinen \n");
If the source type is bool, the value
false
is converted to zero and the valuetrue
is converted to one.
Koska vertailuoperaattorit tuottavat boolean-arvoja, niitä voi säilöä boolean-muuttujiin.
int i=4;
bool isompiKuinViisi=i>5; //
if(isompiKuinViisi){
printf("isompi kuin 5 \n");
}else{
printf("ei isompi kuin 5 \n");
}
int i=4;
bool isompiKuinViisi=i>5; //
if(isompiKuinViisi){
printf("isompi kuin 5 \n");
}else{
printf("ei isompi kuin 5 \n");
}
i=6;
if(isompiKuinViisi){
printf("isompi kuin 5 \n");
}else{
printf("ei isompi kuin 5 \n");
}
Ehto täytyy toistaa jotta uusi arvo otetaan huomioon
int i=4;
bool isompiKuinViisi=i>5;
if(isompiKuinViisi){
printf("isompi kuin 5 \n");
}else{
printf("ei isompi kuin 5 \n");
}
i=6;
isompiKuinViisi=i>5;
if(isompiKuinViisi){
printf("isompi kuin 5 \n");
}else{
printf("ei isompi kuin 5 \n");
}
ei toistoa!
int i=4;
if(biggerThanFive(i)){
printf("isompi kuin 5 \n");
}else{
printf("ei isompi kuin 5 \n");
}
i=6;
if(biggerThanFive(i)){
printf("isompi kuin 5 \n");
}else{
printf("ei isompi kuin 5 \n");
}
miten funktio biggerThanFive toteutetaan?