logo

Podmienený operátor v C

Podmienený operátor je známy aj ako a ternárny operátor . Podmienené príkazy sú príkazy na rozhodovanie, ktoré závisia od výstupu výrazu. Je reprezentovaný dvoma symbolmi, t. j. '?' a ':'.

Keďže podmienený operátor pracuje na troch operandoch, je známy aj ako ternárny operátor.

Správanie podmieneného operátora je podobné ako ' ak-inak ' vyhlásenie ako 'if-else' vyhlásenie je tiež rozhodovacím vyhlásením.

Syntax podmieneného operátora

 Expression1? expression2: expression3; 

Obrazové znázornenie vyššie uvedenej syntaxe je uvedené nižšie:

Podmienený operátor v C

Význam vyššie uvedenej syntaxe.

  • Vo vyššie uvedenej syntaxi je výraz1 boolovská podmienka, ktorá môže mať hodnotu true alebo false.
  • Ak výsledkom výrazu1 je skutočná hodnota, vykoná sa výraz2.
  • Výraz2 je považovaný za pravdivý iba vtedy, keď vracia nenulovú hodnotu.
  • Ak výraz1 vráti nepravdivú hodnotu, vykoná sa výraz3.
  • Výraz3 je považovaný za nepravdivý iba vtedy, keď vracia nulovú hodnotu.

Poďme pochopiť ternárny alebo podmienený operátor prostredníctvom prí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; } 

Vo vyššie uvedenom kóde berieme vstup ako „vek“ používateľa. Po prijatí vstupu sme použili podmienku pomocou podmieneného operátora. V tomto stave kontrolujeme vek používateľa. Ak je vek používateľa vyšší alebo rovný 18, vykoná sa vyhlásenie1, t.j. (printf('oprávnené na hlasovanie')), inak sa vykoná vyhlásenie2, t.j. (printf('neoprávnené na hlasovanie') ).

Pozrime sa na výstup vyššie uvedeného programu.

Ak uvedieme vek používateľa nižší ako 18 rokov, výstup bude:

Podmienený operátor v C

Ak uvedieme vek používateľa nad 18 rokov, výstup by bol:

Podmienený operátor v C

Ako môžeme pozorovať z vyššie uvedených dvoch výstupov, ak je podmienka pravdivá, vykoná sa príkaz1; inak sa vykoná príkaz2.

Doteraz sme pozorovali, ako podmienený operátor kontroluje podmienku a na základe podmienky vykonáva príkazy. Teraz uvidíme, ako sa podmienený operátor používa na priradenie hodnoty premennej.

java objektová rovnosť

Poďme pochopiť tento scenár prostredníctvom prí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; } 

Vo vyššie uvedenom kóde sme deklarovali dve premenné, t. j. 'a' a 'b', a premennej 'a' sme priradili hodnotu 5. Po deklarácii priraďujeme hodnotu premennej 'b' pomocou podmieneného operátora. Ak sa hodnota „a“ rovná 5, potom sa „b“ priradí hodnota 3, inak 2.

Výkon

Podmienený operátor v C

Vyššie uvedený výstup ukazuje, že hodnota premennej „b“ je 3, pretože hodnota premennej „a“ sa rovná 5.

Ako vieme, správanie podmieneného operátora a 'if-else' je podobné, ale majú určité rozdiely. Pozrime sa na ich rozdiely.

  • Podmienený operátor je jediný programovací príkaz, zatiaľ čo príkaz „if-else“ je programovací blok, v ktorom sú príkazy v zátvorkách.
  • Na priradenie hodnoty premennej možno použiť aj podmienený operátor, zatiaľ čo príkaz „if-else“ nemožno použiť na účely priradenia.
  • Nie je užitočný na vykonávanie príkazov, keď sú príkazy viacnásobné, zatiaľ čo príkaz „if-else“ sa ukazuje ako vhodnejší pri vykonávaní viacerých príkazov.
  • Vnorený ternárny operátor je zložitejší a nedá sa ľahko odladiť, zatiaľ čo vnorený príkaz „if-else“ je ľahko čitateľný a udržiavateľný.