Ветвления в Си++

Общий вид условного оператора:

if ( условие ) оператор1; else оператор2;

Условие – логическое выражение. В качестве условия используется некоторое логическое выражение. Условие в С++ считается истинным, если выражения имеет истинное значение. Условие ложно, если значение выражения есть ложь. В качестве операций в логическом выражении используются сравнения ==, !=, >, <, >=, <= . Кроме того в логическом выражении разрешено использовать логические операции
! (НЕ), || (ИЛИ), && (И)

Примеры условий в логических выражениях:

(abs (x) <= 2 ) //значение x по модулю не превышает 2 ((x>=1) && (x<=2)) //x принадлежит отрезку [1,2] (x*x+y*y < 1) //точка (x, y) принадлежит единичному кругу с центром в (0,0) Условием может служить и арифметическое выражение. В таком случае его ненулевое значение означает истинность условие, а нулевое значение – ложность. Например, в условном операторе печатается cтрока “истина” при x > 0.

if ( x ) cout << “ложь”;
else cout << “истина”;

Операторы выполняются одинаково

• if ( x ) cout << “ложь”;
else cout << “истина”;

и

• if ( x == 0) cout << “ложь”;
else cout << “истина”;

Пример 1. Ввод двух вещественных чисел и вывод их – по убыванию:

#include
int main ( )
{ float a, b, r1, r2;
cin >> a >> b;
cout << “a = ” << a << “ b =“<< b << endl; if (a > b) { r1 = a; r2 = b };
else { r1 = b; r2 = a; };
cout << “большее число = “ << r1
<< “ меньшее число = “ << r2;
return (0)
}

Сокращенная условная командa. Общий вид:

if (условие) оператор;

Пример:
if ( !a ) {
a = 1;
cout << “На ноль делить нельзя”;
}
b = 1/a;

Пример:

if (a ) b = 1/a;
else {
b = 1;
cout << “На нуль делить нельзя”;
}

Многозначное ветвление

int codeday; //код дня недели
cin >> codeday >> endl;
switch (codeday) {
case 1: cout << “понедельник\n”;
case 2: cout << “вторник\n”;
case 3: cout << “среда\n”;
case 4: cout << “четверг\n”;
case 5: cout << “пятница\n”;
case 6: cout << “суббота\n”;
case 7: cout << “воскресенье\n”;
default: cout << “Ошибка ввода\n”; }

Еще одно ветвление. Общий формат: (условие) ? выражение1 : выражение2;

Примеры:

max = (x > y) ? x : y ; // определение наибольшего из двух чисел
absolut = (x > 0)? x: -x; //модуль числа х
(x > y)? x : y = 1; //наибольшая из двух величин – x или y – получает значение 1