C Feltételes nyilatkozat: IF, IF egyéb és beágyazott IF egyéb példával

Tartalomjegyzék:

Anonim

Mi a feltételes nyilatkozat C-ben?

A C programozás feltételes állításait a feltételek alapján hozzák meg. A feltételes állítások egymás után hajtódnak végre, ha az állítások körül nincs feltétel. Ha valamilyen feltételt ad egy utasításblokkhoz, akkor a végrehajtási folyamat a feltétel által értékelt eredmény alapján megváltozhat. Ezt a folyamatot döntéshozatalnak hívják C-ben.

A „C” programozásban feltételes utasítások lehetségesek a következő két konstrukció segítségével:

1. Ha állítás

2. Ha-más állítás

Elágazásnak is nevezik, mivel a program az értékelt feltétel eredménye alapján eldönti, hogy melyik utasítást hajtsa végre.

Ebben az oktatóanyagban megtanulja-

  • Mi az a feltételes nyilatkozat?
  • Ha állítás
  • Relációs operátorok
  • Az If-Else nyilatkozat
  • Feltételes kifejezések
  • Beágyazott If-else utasítások
  • Beágyazott Else-if nyilatkozatok

Ha állítás

Ez az egyik hatalmas feltételes állítás. Az If utasítás felelős a program végrehajtásának folyamatáért. Ha az állítást mindig feltétel mellett használják. A feltételt először értékelik, mielőtt bármilyen utasítást végrehajtanának az If testében. Az if utasítás szintaxisa a következő:

 if (condition)instruction; 

Az állapot értéke igaz vagy hamis. Az Igaz mindig nem nulla érték, a hamis pedig nulla értéket tartalmaz. Az utasítások lehetnek egyetlen utasítások vagy göndör zárójelekkel ellátott kódblokkok {}.

A következő program szemlélteti az if konstrukció használatát a „C” programozásban:

#includeint main(){int num1=1;int num2=2;if(num1

Kimenet:

num1 is smaller than num2

A fenti program szemlélteti az if konstrukció használatát két szám egyenlőségének ellenőrzésére.

  1. A fenti programban két változót inicializáltunk num1, num2 értékekkel, amelyek értéke 1, 2.
  2. Ezután teszt-kifejezéssel alkalmaztuk, hogy melyik szám a legkisebb és melyik a legnagyobb. Az if konstrukcióban használtunk relációs kifejezést. Mivel a num1 értéke kisebb, mint a num2, a feltétel igaz lesz.
  3. Így kinyomtatja az utasítást az If blokkjában. Ezt követően a vezérlés a blokkon kívülre kerül, és a program sikeres eredménnyel zárul.

Relációs operátorok

A C-nek hat relációs operátora van, amelyek felhasználhatók egy logikai kifejezés megfogalmazására a döntéshozáshoz és a tesztelési feltételekhez, amelyek igazak vagy hamisak:

<= kisebb vagy egyenlő

> nagyobb, mint

> = nagyobb vagy egyenlő

== egyenlő

! = nem egyenlő

Figyelje meg, hogy az egyenlő teszt (==) különbözik a hozzárendelés operátorától (=), mert ez az egyik leggyakoribb probléma, amellyel egy programozó szembesül azáltal, hogy összekeveri őket.

Például:

int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}

Kimenet :

 You succeed 

Ne feledje, hogy egy feltétel, amely nem nulla értékre értékel, igaznak tekintendő.

Például:

int present = 1;if (present)printf("There is someone present in the classroom \n");

Kimenet :

There is someone present in the classroom 

Az If-Else nyilatkozat

Az if-else is utasítás az If kiterjesztett változata. Az if-else általános formája a következő:

if (test-expression){True block of statements}Else{False block of statements}Statements;

n egy ilyen típusú konstrukció, ha a teszt-kifejezés értéke igaz, akkor az utasítások valós blokkja kerül végrehajtásra. Ha a test-kifejezés értéke hamis, akkor az utasítások hamis blokkja kerül végrehajtásra. Mindenesetre a végrehajtás után a vezérlés automatikusan átkerül az If blokkján kívül megjelenő utasításokba.

A következő programok szemléltetik az if-else konstrukció használatát:

Inicializálunk egy változót valamilyen értékkel, és programot írunk annak megállapítására, hogy az érték tíznél kisebb vagy nagyobb-e, mint tíz.

Kezdjük.

#includeint main(){int num=19;if(num<10){printf("The value is less than 10");}else{printf("The value is greater than 10");}return 0;}

Kimenet:

The value is greater than 10

  1. Inicializáltunk egy 19-es értékű változót. A 'C' program segítségével meg kell derítenünk, hogy a szám nagyobb vagy kisebb-e, mint 10. Ehhez az if-else konstrukciót használtuk.
  2. Itt adtunk meg egy számot <10, mert össze kell hasonlítanunk az értékünket a 10-tel.
  3. Mint látható, az első blokk mindig egy igazi blokk, ami azt jelenti, hogy ha a teszt-kifejezés értéke igaz, akkor az első blokk, amely If, akkor végrehajtásra kerül.
  4. A második blokk egy másik blokk. Ez a blokk azokat az utasításokat tartalmazza, amelyek végrehajtásra kerülnek, ha a teszt-kifejezés értéke hamis lesz. Programunkban a num értéke nagyobb, mint tíz, ezért a tesztfeltétel hamis lesz, és a blokk végrehajtásra kerül. Így a kimenetünk egy másik blokkból származik, amely "Az érték nagyobb, mint 10". Az if-else után a program sikeres eredménnyel zárul.

A 'C' programozásban több if-else konstrukciót is használhatunk egymáson belül, amelyeket if-else utasítások egymásba ágyazásaként emlegetünk.

Feltételes kifejezések

Van egy másik módja az if-else állítás kifejezésére a ?: Operátor bevezetésével . Feltételes kifejezésben a ?: Operátor csak egy utasítással rendelkezik az if és a másikkal.

Például:

#include int main() {int y;int x = 2;y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */printf("y =%d ",y);return 0;}

Kimenet :

y =2

Beágyazott If-else utasítások

Ha egy sor döntésre van szükség, akkor beágyazott if-else-t használunk. A fészkelés azt jelenti, hogy egy if-else konstrukciót használunk egy másikban.

Írjunk egy programot a beágyazott if-else használatának szemléltetésére.

#includeint main(){int num=1;if(num<10){if(num==1){printf("The value is:%d\n",num);}else{printf("The value is greater than 1");}}else{printf("The value is greater than 10");}return 0;}

Kimenet:

The value is:1

A fenti program ellenőrzi, hogy egy szám kisebb vagy nagyobb-e, mint 10, és az eredményt beágyazott if-else konstrukcióval nyomtatja ki.

  1. Először deklaráltunk egy változó számot, amelynek értéke 1 volt. Ezután az if-else konstrukciót használtuk.
  2. A külső if-else esetben a megadott feltétel ellenőrzi, hogy egy szám kevesebb-e, mint 10. Ha a feltétel akkor igaz, és csak akkor hajtja végre a belső ciklust. Ebben az esetben a feltétel igaz, ezért a belső blokk feldolgozásra kerül.
  3. A belső blokkban ismét van egy feltételünk, amely ellenőrzi, hogy változónk tartalmazza-e az 1 értéket, vagy sem. Ha egy feltétel igaz, akkor feldolgozza az If blokkot, különben egy másik blokkot fog feldolgozni. Ebben az esetben a feltétel igaz, ezért a Ha egy blokk végrehajtásra kerül, és az érték kinyomtatásra kerül a kimeneti képernyőn.
  4. A fenti program kinyomtatja a változó értékét, és sikeresen kilép.

Próbálja meg megváltoztatni a változó értékét, és nézze meg, hogyan viselkedik a program.

MEGJEGYZÉS: A beágyazott if-else esetén óvatosnak kell lennünk a behúzással, mert több if-else konstrukció vesz részt ebben a folyamatban, így nehézzé válik az egyes konstrukciók kitalálása. A megfelelő behúzás megkönnyíti a program olvasását.

Beágyazott Else-if nyilatkozatok

Beágyazott else - ha többutas döntésekre van szükség.

Az általános szintaxis, hogy a „C” programozásban hogyan épülnek másképp létrák, a következő:

 if (test - expression 1) {statement1;} else if (test - expression 2) {Statement2;} else if (test - expression 3) {Statement3;} else if (test - expression n) {Statement n;} else {default;}Statement x;

Ezt a típusú szerkezetet más, ha létra néven ismerjük. Ez a lánc általában úgy néz ki, mint egy létra, ezért más létezésnek is hívják. A teszt-kifejezéseket felülről lefelé értékelik. Ha valódi teszt-kifejezés található, a hozzá tartozó utasítás végrehajtásra kerül. Amikor az összes n teszt-kifejezés hamissá válik, akkor az alapértelmezett else utasítás kerül végrehajtásra.

Nézzük meg a tényleges munkát egy program segítségével.

#includeint main(){int marks=83;if(marks>75){printf("First class");}else if(marks>65){printf("Second class");}else if(marks>55){printf("Third class");}else{printf("Fourth class");}return 0;}

Kimenet:

First class

A fenti program kiírja az osztályzatot a teszten elért pontszámok szerint. A fenti programban az else-if létra konstrukciót használtuk.

  1. Inicializáltunk egy változót jelekkel. A másképp létra szerkezetben különféle feltételeket biztosítottunk.
  2. A változó jelekből származó értéket összehasonlítjuk az első feltétellel, mivel igaz, hogy a hozzá tartozó utasítás kinyomtatásra kerül a kimeneti képernyőn.
  3. Ha az első tesztfeltétel hamisnak bizonyul, akkor összehasonlítjuk a második feltétellel.
  4. Ez a folyamat addig tart, amíg az összes kifejezést ki nem értékeli, különben a vezérlés kimegy az else-ha létra felől, és az alapértelmezett utasítás kinyomtatásra kerül.

Próbálja meg módosítani az értéket, és vegye észre a kimenet változását.

Összegzés

  • A döntéshozó vagy elágazó utasításokat használjuk arra, hogy az értékelt kifejezés eredménye alapján egy utat válasszunk.
  • Ellenőrző utasításként is hívják, mert vezérli a program végrehajtásának folyamatát.
  • A 'C' if-else konstrukciót ad a döntéshozó állításokhoz.
  • Fészkelhetjük egymást is, ha több utat kell tesztelni.
  • A else-if létra akkor használatos, ha a kifejezés eredménye alapján különféle módszereket kell ellenőriznünk.