Повний умовний оператор використовується, якщо, в залежності від деякої умови, потрібно виконати одну з двох груп операторів.
|
У прикладі, в залежності від значення x виконуються різні оператори.
#include <iostream>
using namespace std;
int main()
{
int x=-5, y=5; // Ініціалізація змінних x та y
if (x<0) // Перевірка, чи x менше 0
{
// Видозмінюємо значення, якщо умова виконана
x=x+5; y=2*y;
}
else
{
// Продовжуємо з іншими операціями, якщо умова не виконана
x=x*2; y=y+5;
}
// Виведення результатів
cout << "x=" << x << "\n";
cout << "y=" << y << "\n";
return 0;
}
Оскільки X=-5 (тобто умова вірна), то виконується перша група операторів, тобто x=x+5;y=2*y; Друга група операторів пропускається і потім виконуються оператори виводу

#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
if (n > 0)
{
cout << "positive";
}
else if (n < 0)
{
cout << "negative";
}
else
{
cout << "zero";
}
return 0;
}
Оскільки X= 5 (тобто умова не вірна), то виконується друга група операторів, тобто x=x*2; y=y+5; Перша група операторів пропускається і потім виконуються оператори виводу

Оператор називається тернарним, тому що у нього три операнда.
Синтаксис оператора такий:
| Змінна= умова?Вираз1:Вираз2 |
Оператор працює так:
Тернарним оператором повертається значення обчисленого виразу, яке може бути присвоєно змінній або використано при обчисленні інших виразів.
Фактично тернарний оператор являє собою скорочену форму умовного оператора.
Але умовний оператор управляє виконанням операторів, а тернарний оператор управляє обчисленням значень.