Умовна операція
Умовна операція ?: - єдина тернарна операція в мові С++. Її синтаксис :
умова ? вираз_1 : вираз_2;.
Принцип її роботи такий. Спочатку обчислюється вираз умови. Якщо цей вираз має ненульове значення, то обчислюється вираз_1. Результатом операції ?: в даному випадку буде значення виразу_1. Якщо вираз умови рівний нулю, то обчислюється вираз_2 і його значення буде результатом операції. В будь-якому випадку обчислюється тільки один із виразів (вираз_1 або вираз_2). Наприклад, дану операцію зручно використати для знаходження найбільшого з двох чисел x і y:
max=( x > y ) ? x : y ; // max=x, якщо x > y , та max=у, якщо у > х.
Приклад 4. Використання умовної операції.
#include<stdio.h>
void main()
{
int points;
printf("Введiть оцiнку [2..5]:");
scanf("%d",&points);
printf("%s",points>3?"Ви добре знаєте матерiал!":"Погано...");
}
Приклад 5.
j = (i<0) ? (-i) : (i); /* змінній j присвоюється модуль i*/