logo

Условни оператор у Ц

Условни оператор је такође познат као а тернарни оператор . Условне изјаве су изјаве за доношење одлука које зависе од излаза израза. Представљају га два симбола, тј. '?' и ':'.

Како условни оператор ради на три операнда, тако је познат и као тернарни оператор.

Понашање условног оператора је слично ' ако друго ' изјава као 'ако-иначе' изјава је такође изјава за доношење одлуке.

Синтакса условног оператора

 Expression1? expression2: expression3; 

Сликовни приказ горње синтаксе је приказан у наставку:

Условни оператор у Ц

Значење горње синтаксе.

  • У горњој синтакси, израз1 је Булов услов који може бити тачна или нетачна вредност.
  • Ако израз1 резултира у истинитој вредности, онда ће се израз2 извршити.
  • За израз2 се каже да је истинит само када враћа вредност различиту од нуле.
  • Ако израз1 врати лажну вредност, онда ће се израз3 извршити.
  • За израз3 се каже да је нетачан само када враћа нулту вредност.

Хајде да разумемо тернарни или условни оператор кроз пример.

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

У горњем коду, унос узимамо као 'старост' корисника. Након уноса, применили смо услов коришћењем условног оператора. У овом стању проверавамо старост корисника. Ако је старост корисника већа од или једнака 18, онда ће се наредба1 извршити, тј. (принтф('подесно за гласање)), у супротном, наредба2 ће се извршити, тј. (принтф('није квалификован за гласање') ).

Хајде да посматрамо излаз горњег програма.

Ако дамо старост корисника испод 18 година, онда би резултат био:

Условни оператор у Ц

Ако наведемо старост корисника изнад 18 година, онда би резултат био:

Условни оператор у Ц

Као што можемо приметити из горња два излаза, ако је услов тачан, онда се наредба1 извршава; у супротном, наредба2 ће бити извршена.

До сада смо приметили да како условни оператор проверава услов и на основу услова, он извршава наредбе. Сада ћемо видети како се условни оператор користи за додељивање вредности променљивој.

јава формат стринга дугачак

Хајде да разумемо овај сценарио кроз пример.

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

У горњем коду смо декларисали две променљиве, тј. 'а' и 'б', и доделили вредност 5 променљивој 'а'. Након декларације, променљивој 'б' додељујемо вредност помоћу условног оператора. Ако је вредност 'а' једнака 5, онда је 'б' додељена вредност 3, иначе 2.

Излаз

Условни оператор у Ц

Горњи излаз показује да је вредност променљиве 'б' 3 јер је вредност променљиве 'а' једнака 5.

Као што знамо да је понашање условног оператора и 'иф-елсе' слично, али имају неке разлике. Погледајмо њихове разлике.

  • Условни оператор је један програмски израз, док је израз 'иф-елсе' програмски блок у којем се искази налазе испод заграда.
  • Условни оператор се такође може користити за додељивање вредности променљивој, док се наредба 'иф-елсе' не може користити у сврху додељивања.
  • Није корисно за извршавање наредби када су искази вишеструки, док се исказ 'иф-елсе' показује прикладнијим када се извршава више наредби.
  • Угнежђени тернарни оператор је сложенији и не може се лако отклонити грешке, док је угнежђена изјава 'иф-елсе' лака за читање и одржавање.