14. lecke
Az IF feltétel
lightbulb_outlineÍrunk egy gondolkozó programot. Kész a jövő Terminátora.
Lassan írónak érezhetjük magunkat, olyan jól tudjuk kezelni a printf parancsot. Sőt a scanf minden fontos tulajdonságát is megismertük. A beolvasott adatokat jó lenne megvizsgálni. Mifélék, mekkorák, milyen eredményt adnak egy másik számmal összegezve, satöbbi.
A vizsgálódáshoz az IF programszerkezetet használjuk.
Láttunk már parancsokat. A most következő nyelvi elem nem parancs, nem áll utána pontosvessző és elég furcsán is néz ki első látásra. Ez egy programszerkezet:
if ( ) { }
A programszerkezet két részből áll: Az első részébe kell írni azt amit megvizsgálunk, a második részébe pedig azokat a parancsokat amiket végre akarunk hajtani:
if ( feltételek ) { parancsok }
Hányszor hallottad már az anyukádtól azt, hogy
"csak ha kész van a lecke, utána kapcsolhatod be a számítógépet"
Szerintem sokszor. A C nyelv is tartalmaz egy ilyen szigorú szülőt, aki bizonyos tevékenységeket csak akkor enged végrehajtani, ha valami feltétel teljesült.
Az IF szócska azt jelenti angolul, hogy: ha. Ezzel a programszerkezettel vizsgálhatunk meg feltételeket, és HA azok teljesülnek, AKKOR végrehajtódnak a parancsok. A feltételeket sima zárójelek közé írjuk – a parancsok pedig kapcsos zárójel blokkba kerülnek. A feltétel többnyire egy matematikai kifejezés. Például, feltételnek írhatjuk azt, hogy ha egy változó kisebb, mint 5, akkor történjen az, hogy kiírjuk a konzolra ezt a tényt:
#include<stdio.h>
int main(){
int szam = 4;
if( szam < 5 ){
printf("Kisebb, mint 5");
}
return 0;
}
if.c c Kisebb, mint 5
A C megvizsgálja a sima zárójelek közötti feltétel igazságtartalmát, és ha az igaz, akkor és csak akkor végrehajtja a kapcsos zárójelek közötti parancsokat. A most bemutatott példakódban a szám változó értéke 4, ezért a feltétel igazként értékelődik ki, így lefut a printf parancs.
Ha a szám változó értéke 5, akkor a feltétel hamis és printf parancs nem fut le, egyszerűen kihagyódik a kapcsos zárójel blokk, üres lesz a konzolablak.
#include<stdio.h>
int main(){
int szam = 5;
if( szam < 5 ){
printf("Kisebb, mint 5");
}
return 0;
}
if2.c c
Ilyen egyszerű az IF programszerkezet használata. Pontosan milyen feltételeket szabhatunk? Mik a feltételek leírásának szabályai? Ezeket az operátorokat használhatjuk:
< kisebb > nagyobb <= kisebb egyenlő >= nagyobb egyenlő != nem egyenlő == egyenlő
A kisebb, nagyobb, kisebb egyenlő, nagyobb egyenlő relációs jelek használata egyértelmű. A matematika tárgy keretein belül ezerszer használtuk őket. Megfogalmazhatunk velük egy matematikai kifejezést és az IF ezek igazságtartalmát vizsgálja.
Az egyenlőség operátorok használata már kicsit érdekesebb:
Ha két változót szeretnénk összehasonlítani, hogy vajon egyenlő-e a kettő, akkor használjuk az == operátort. Miért nem csak 1 darab egyenlőség jelet írunk? Mert az 1 darab egyenlőségjel operátor már foglalt, hisz ezzel adunk értéket a változóknak létrehozáskor vagy műveletvégzéskor. Itt például az a-változó felveszi b értékét, ő is 4 lesz.
#include<stdio.h>
int main(){
int a = 5;
int b = 4;
//Ez az ÉRTÉKADÁS:
a = b;
return 0;
}
ertekadas.c c
Vizsgálódni ezentúl 2 db egyenlőség jellel fogunk. Ekkor az a-változó és a b-változó értéke nem változik, ez nem értékadás, hanem vizsgálódás.
#include<stdio.h>
int main(){
int a = 100;
int b = 100;
if( a == b ){
printf("Ugyanannyi");
}
return 0;
}
vizsgalodas.c c Ugyanannyi
Ilyen egyszerű az egyenlőség vizsgálata. Nem csak az egyezést, hanem a különbözőségét is vizsgálhatjuk a nem egyenlő != jellel. Ha két változót szeretnénk összehasonlítani, hogy vajon az értékük különbözik-e? egymástól, akkor használjuk ezt az "eltorlaszolt" egyenlőségjelre hasonlító operátort:
#include<stdio.h>
int main(){
int a = -7;
int b = 42;
if( a != b ){
printf("Különbözik");
}
return 0;
}
kulonbozo.c c Különbözik
Jelentkezz be a hozzászóláshoz.