logo

Умовний оператор у C

Умовний оператор також відомий як a тернарний оператор . Умовні оператори - це оператори прийняття рішень, які залежать від результату виразу. Він представлений двома символами, наприклад, '?' і ':'.

Оскільки умовний оператор працює з трьома операндами, він також відомий як тернарний оператор.

Поведінка умовного оператора подібна до ' якщо-інакше ' оператор як оператор 'if-else' також є оператором прийняття рішення.

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

 Expression1? expression2: expression3; 

Нижче показано графічне представлення наведеного вище синтаксису:

Умовний оператор у C

Значення наведеного вище синтаксису.

  • У наведеному вище синтаксисі вираз1 є логічною умовою, яка може мати значення true або false.
  • Якщо результатом виразу1 є істинне значення, тоді виконається вираз2.
  • Вираз2 вважається істинним лише тоді, коли він повертає ненульове значення.
  • Якщо вираз1 повертає значення false, виконується вираз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, тобто (printf('придатний для голосування')), інакше буде виконано оператор2, тобто (printf('не має права для голосування')) ).

Давайте поспостерігаємо за виходом наведеної вище програми.

Якщо ми вкажемо вік користувача до 18 років, тоді результат буде таким:

Умовний оператор у C

Якщо ми надаємо вік користувача понад 18 років, тоді результат буде таким:

Умовний оператор у C

Як ми можемо помітити з наведених вище двох вихідних даних, якщо умова істинна, тоді виконується оператор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; } 

У наведеному вище коді ми оголосили дві змінні, тобто «a» і «b», і присвоїли значення 5 змінній «a». Після оголошення ми присвоюємо значення змінній 'b' за допомогою умовного оператора. Якщо значення «a» дорівнює 5, тоді «b» присвоюється значення 3, інакше 2.

Вихід

Умовний оператор у C

Наведений вище результат показує, що значення змінної «b» дорівнює 3, оскільки значення змінної «a» дорівнює 5.

Як ми знаємо, поведінка умовного оператора та «if-else» схожа, але вони мають деякі відмінності. Давайте розглянемо їх відмінності.

  • Умовний оператор — це окремий оператор програмування, тоді як оператор «if-else» — це блок програмування, у якому оператори знаходяться під дужками.
  • Умовний оператор також може бути використаний для присвоєння значення змінній, тоді як оператор «if-else» не може бути використаний для призначення.
  • Це не корисно для виконання операторів, коли операторів кілька, тоді як оператор «if-else» виявляється більш придатним для виконання кількох операторів.
  • Вкладений тернарний оператор є більш складним і його нелегко налагодити, тоді як вкладений оператор «if-else» легко читати та підтримувати.