Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Условный оператор if (if-else)






Условный оператор if позволяет выбрать один из двух возможных вариантов вы­полнения действий в зависимости от выполнения определенного условия. Условие – это логическое выражение, то есть выражение, результатом которого является логическое значение (true (“истина”) или false (“ложь”)).

Оператор if имеет две формы – полную (с else)

if (условие)

оператор_1

else

оператор_2

и сокращенную (без него):

if (условие)

оператор_1

Полная форма оператора if означает, что если условие истинно, выполняется оператор оператор_1, если ложно – оператор оператор_2.

Сокращенная форма записи оператора if означает, что оператор_1 выполняется, если условие истинно. Она эквивалентна полной форме с пустым оператором после else:

if (условие)

оператор_1

else;

Если в случае истинности или ложности условия необходимо выполнить несколько операторов, их следует заключить в фигурные скобки:

if (x < 0)

{

x = -x;

cout < < " Changing a sign of x";

}

a = x;

В качестве операторов оператор_1 и оператор_2 в операторах if (if-else) могут применяться любые операторы, в том числе и другие операторы if (if-else), то есть операторы if (if-else) могут быть “вложенными”.

Истинность условия определяется вычислением его логического значения (true или false). Помимо операций сравнения (>, > =, <, < =, = =,! =), логическое значение выдают также логические операции. Стандартные логические операции – это бинарные операции “логическое И” (& &) и “логическое ИЛИ” (||) и унарная операция “логическое НЕ” (!). Операндами логических операций являются логические выражения. Использование логических операций позволяет объединять несколько простых условий в более сложное, например,

if ((a> =c) & & (b> =c))

cout < < c;

Операция & & дает результат “истина” (true), если оба ее операнда истинны, и “ложь” (false) во всех других случаях. Операция || дает результат “ложь”, если оба ее операнда ложны, и “истина” во всех других случаях. Результат операции! противоположен значению ее операнда.

Операции сравнения и логические операции имеют более низкий приоритет по сравнению с арифметическими операциями. Это означает, что в выражении, содержащем и логические и арифметические операции, арифметические операции будут выполняться раньше логических, например, p> s+t вычисляется как p> (s+t).

Ниже показаны сравнительные приоритеты операций сравнения и логических операций:

Высший !
  > > = < < =
  = =! =
  & &
Низший ||

В соответствии с этой таблицей, например, составное условие предыдущего примера

(a> =c) & & (b> =c)

можно записать без двух пар скобок:

a> =c & & b> =c

поскольку приоритет операции сравнения “больше или равно” выше, чем приоритет логического И.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал