A feltételes operátor más néven a hármas operátor . A feltételes állítások olyan döntéshozó állítások, amelyek a kifejezés kimenetétől függenek. Ezt két szimbólum jelöli, azaz a '?' és ':'.
Mivel a feltételes operátor három operanduson dolgozik, ezért hármas operátorként is ismert.
A feltételes operátor viselkedése hasonló a ' ha más ' kijelentés, mint 'ha-else' kijelentés egyben döntéshozatali nyilatkozat is.
Feltételes operátor szintaxisa
Expression1? expression2: expression3;
A fenti szintaxis képi ábrázolása az alábbiakban látható:
A fenti szintaxis jelentése.
- A fenti szintaxisban a kifejezés1 logikai feltétel, amely lehet igaz vagy hamis érték is.
- Ha a kifejezés1 valódi értéket eredményez, akkor a kifejezés2 végrehajtásra kerül.
- A 2. kifejezést csak akkor mondjuk igaznak, ha nullától eltérő értéket ad vissza.
- Ha a kifejezés1 hamis értéket ad vissza, akkor a kifejezés3 végrehajtásra kerül.
- A 3 kifejezést csak akkor mondjuk hamisnak, ha nulla értéket ad vissza.
Értsük meg a háromtagú vagy feltételes operátort egy példán keresztül.
#include int main() { int age; // variable declaration printf('Enter your age'); scanf('%d',&age); // taking user input for age variable (age>=18)? (printf('eligible for voting')) : (printf('not eligible for voting')); // conditional operator return 0; }
A fenti kódban a bemenetet a felhasználó „életkoraként” vesszük. A bevitel után feltételes operátor segítségével alkalmaztuk a feltételt. Ebben az állapotban ellenőrizzük a felhasználó életkorát. Ha a felhasználó életkora 18 évnél nagyobb vagy egyenlő, akkor az utasítás1 végrehajtásra kerül, azaz (printf('szavazásra alkalmas')), ellenkező esetben az utasítás2 végrehajtásra kerül, azaz (printf('nem jogosult szavazásra') ).
Figyeljük meg a fenti program kimenetét.
Ha a felhasználó 18 év alatti életkorát adjuk meg, akkor a kimenet a következő lenne:
Ha a felhasználó 18 év feletti életkorát adjuk meg, akkor a kimenet a következő lenne:
Ahogy a fenti két kimenetből megfigyelhetjük, hogy ha a feltétel igaz, akkor az1 utasítás végrehajtásra kerül; ellenkező esetben az utasítás2 végrehajtásra kerül.
Eddig azt tapasztaltuk, hogy a feltételes operátor hogyan ellenőrzi a feltételt, és feltétel alapján hajtja végre az utasításokat. Most látni fogjuk, hogy egy feltételes operátor hogyan rendeli hozzá az értéket egy változóhoz.
vb és vb net
Értsük meg ezt a forgatókönyvet egy példán keresztül.
#include int main() { int a=5,b; // variable declaration b=((a==5)?(3):(2)); // conditional operator printf('The value of 'b' variable is : %d',b); return 0; }
A fenti kódban két változót deklaráltunk, azaz az 'a'-t és 'b'-t, és 5 értéket rendelünk az 'a' változóhoz. A deklaráció után a feltételes operátor segítségével értéket adunk a 'b' változónak. Ha az „a” értéke egyenlő 5-tel, akkor „b”-hez 3-as érték rendelődik, ellenkező esetben 2.
Kimenet
A fenti kimenet azt mutatja, hogy a 'b' változó értéke 3, mivel az 'a' változó értéke 5.
Mint tudjuk, a feltételes operátor és az 'if-else' viselkedése hasonló, de van némi különbség. Nézzük a különbségeiket.
- A feltételes operátor egyetlen programozási utasítás, míg az 'if-else' utasítás egy olyan programozási blokk, amelyben az utasítások zárójelbe kerülnek.
- Egy feltételes operátor is használható érték hozzárendelésére a változóhoz, míg az if-else utasítás nem használható hozzárendelési célra.
- Nem hasznos az utasítások végrehajtásához, ha az utasítások többszörösek, míg az 'if-else' utasítás alkalmasabb több utasítás végrehajtására.
- A beágyazott háromtagú operátor összetettebb, és nem lehet könnyen hibakeresni, míg a beágyazott „if-else” utasítás könnyen olvasható és karbantartható.