logo

Podmíněný operátor v C

Podmíněný operátor je také známý jako a ternární operátor . Podmíněné příkazy jsou příkazy pro rozhodování, které závisí na výstupu výrazu. Je reprezentován dvěma symboly, tj. '?' a ':'.

Protože podmíněný operátor pracuje na třech operandech, je také známý jako ternární operátor.

Chování podmíněného operátoru je podobné jako ' pokud-jinak ' prohlášení jako 'if-else' prohlášení je také rozhodovací prohlášení.

Syntaxe podmíněného operátoru

 Expression1? expression2: expression3; 

Obrazové znázornění výše uvedené syntaxe je uvedeno níže:

Podmíněný operátor v C

Význam výše uvedené syntaxe.

  • Ve výše uvedené syntaxi je výraz1 logická podmínka, která může mít hodnotu true nebo false.
  • Pokud výraz1 vyústí ve skutečnou hodnotu, provede se výraz2.
  • Výraz2 je považován za pravdivý pouze tehdy, když vrací nenulovou hodnotu.
  • Pokud výraz1 vrátí hodnotu false, provede se výraz3.
  • Výraz3 je považován za nepravdivý pouze tehdy, když vrací nulovou hodnotu.

Pojďme pochopit ternární nebo podmíněný operátor prostřednictvím příkladu.

 #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; } 

Ve výše uvedeném kódu bereme vstup jako „věk“ uživatele. Po převzetí vstupu jsme aplikovali podmínku pomocí podmíněného operátoru. V tomto stavu kontrolujeme věk uživatele. Pokud je věk uživatele vyšší nebo roven 18, provede se příkaz1, tj. (printf('způsobilé k hlasování')), jinak se provede příkaz2, tj. (printf('nevhodné k hlasování') ).

Podívejme se na výstup výše uvedeného programu.

Pokud uvedeme věk uživatele mladšího 18 let, výstup bude:

Podmíněný operátor v C

Pokud uvedeme věk uživatele staršího 18 let, výstup bude:

Podmíněný operátor v C

Jak můžeme z výše uvedených dvou výstupů vypozorovat, že pokud je podmínka pravdivá, provede se příkaz1; jinak se provede příkaz2.

Dosud jsme pozorovali, jak podmíněný operátor kontroluje podmínku a na základě podmínky provádí příkazy. Nyní uvidíme, jak se podmíněný operátor používá k přiřazení hodnoty proměnné.

Fibonacciho kód java

Pojďme pochopit tento scénář na příkladu.

 #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; } 

Ve výše uvedeném kódu jsme deklarovali dvě proměnné, tj. 'a' a 'b', a přiřadili jsme 5 hodnot proměnné 'a'. Po deklaraci přiřadíme hodnotu proměnné 'b' pomocí podmíněného operátoru. Pokud je hodnota „a“ rovna 5, pak „b“ je přiřazena hodnota 3, jinak 2.

Výstup

Podmíněný operátor v C

Výše uvedený výstup ukazuje, že hodnota proměnné „b“ je 3, protože hodnota proměnné „a“ je rovna 5.

Jak víme, chování podmíněného operátoru a 'if-else' je podobné, ale mají určité rozdíly. Podívejme se na jejich rozdíly.

  • Podmíněný operátor je jediný programovací příkaz, zatímco příkaz 'if-else' je programovací blok, ve kterém jsou příkazy v závorkách.
  • Pro přiřazení hodnoty proměnné lze také použít podmíněný operátor, zatímco příkaz 'if-else' nelze pro účely přiřazení použít.
  • Není užitečné pro provádění příkazů, když je více příkazů, zatímco příkaz 'if-else' se ukazuje jako vhodnější při provádění více příkazů.
  • Vnořený ternární operátor je složitější a nelze jej snadno odladit, zatímco vnořený příkaz 'if-else' se snadno čte a udržuje.