Умовний або тернарний оператор (?:) у C

Умовний або тернарний оператор (?:) у C

The умовний оператор у C начебто схожий на оператор if-else, оскільки він дотримується того самого алгоритму, що й оператор if-else, але умовний оператор займає менше місця та допомагає написати оператори if-else у найкоротший спосіб. Він також відомий як тернарний оператор у C оскільки він працює з трьома операндами.

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

Умовний оператор може бути у формі

 variable = Expression1  ?  Expression2  :  Expression3 ; 

Або синтаксис також може бути в цій формі

 variable = (condition)  ? Expression2  :  Expression3 ; 

Або синтаксис також може бути в цій формі

 (condition)  ?  (variable = Expression2)  :  (variable = Expression3) ; 
умовний або тернарний оператор у c

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

Це можна візуалізувати в операторі if-else як:

if(Expression1) { variable = Expression2; } else { variable = Expression3; } 

Оскільки умовний оператор «?:» використовує для роботи три операнди, тому вони також викликаються тернарні оператори .

Примітка. Потрійний оператор має третій найнижчий пріоритет, тому нам потрібно використовувати вирази, щоб уникнути помилок через неправильне керування пріоритетом операторів.

Робота умовного/тернарного оператора в C

Робота умовного оператора в C виглядає наступним чином:

    Крок 1: Вираз1 – це умова, яку потрібно оцінити. Крок 2A: Якщо умова ( Вираз1 ) тоді є Правдою Вираз2 буде виконано. Крок 2B: Якщо умова ( Вираз1 ) тоді є хибним Вираз3 буде виконано. Крок 3: Результати будуть повернуті.

Блок-схема умовного/тернарного оператора в C

Щоб краще зрозуміти роботу, ми можемо проаналізувати блок-схему умовного оператора, наведену нижче.

блок-схема умовного/тернарного оператора в c

Блок-схема умовного/трійкового оператора в C

Приклади тернарного оператора C

Приклад 1: C Програма для збереження найбільшого з двох чисел за допомогою тернарного оператора

C




// C program to find largest among two> // numbers using ternary operator> > #include> > int> main()> {> > int> m = 5, n = 4;> > > (m>n) ?> printf> (> 'm is greater than n that is %d>%d'> ,> > m, n)> > :> printf> (> 'n is greater than m that is %d>%d'> ,> > n, m);> > > return> 0;> }>

Вихід

m is greater than n that is 5>4 

приклад 2: C Програма для перевірки того, чи є рік високосним за допомогою тернарного оператора

C




// C program to check whether a year is leap year or not> // using ternary operator> > #include> > int> main()> {> > int> yr = 1900;> > > (yr%4==0) ? (yr%100!=0?> printf> (> 'The year %d is a leap year'> ,yr)> > : (yr%400==0 ?> printf> (> 'The year %d is a leap year'> ,yr)> > :> printf> (> 'The year %d is not a leap year'> ,yr)))> > :> printf> (> 'The year %d is not a leap year'> ,yr);> > return> 0;> }> > //This code is contributed by Susobhan AKhuli>

Вихід

The year 1900 is not a leap year 

Висновок

Умовний оператор або тернарний оператор у C зазвичай використовується, коли нам потрібен короткий умовний код, наприклад, присвоєння значення змінній на основі умови. Його можна використовувати у великих умовах, але це зробить програму дуже складною та нечитабельною.

Поширені запитання щодо умовних/тернарних операторів у C

1. Що таке тернарний оператор у C?

Тернарний оператор у C — це умовний оператор, який працює з трьома операндами. Він працює подібно до оператора if-else і виконує код на основі вказаної умови. Його також називають умовним оператором

2. У чому перевага умовного оператора?

Це зменшує рядок коду, коли умова та оператори малі.