Умовний або тернарний оператор (?:) у 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
Це можна візуалізувати в операторі if-else як:
if(Expression1) { variable = Expression2; } else { variable = Expression3; } Оскільки умовний оператор «?:» використовує для роботи три операнди, тому вони також викликаються тернарні оператори .
Примітка. Потрійний оператор має третій найнижчий пріоритет, тому нам потрібно використовувати вирази, щоб уникнути помилок через неправильне керування пріоритетом операторів.
Робота умовного/тернарного оператора в C
Робота умовного оператора в C виглядає наступним чином:
- Крок 1: Вираз1 – це умова, яку потрібно оцінити. Крок 2A: Якщо умова ( Вираз1 ) тоді є Правдою Вираз2 буде виконано. Крок 2B: Якщо умова ( Вираз1 ) тоді є хибним Вираз3 буде виконано. Крок 3: Результати будуть повернуті.
Блок-схема умовного/тернарного оператора в 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. У чому перевага умовного оператора?
Це зменшує рядок коду, коли умова та оператори малі.