Составные логические выражения

Часть 1

Введение в язык С++

Ветвления

В С++ существует несколько типов ветвлений. Рассмотрим каждый из них. Условный оператор if служит для выбора направления работы программы в зависимости от условий, сложившейся в данной точке программы на момент ее выполнения.

Общая форма записи условного оператора:

if (условие)

{

блок операторов 1;

}

else

{

блок операторов 2;

}

Если на момент выполнения условие истинно, программа передает управление блоку операторов 1 и далее первому оператору за пределами конструкции if-else. При этом блок операторов 2 не выполняется. Если на момент выполнения условие ложно, выполняется блок операторов 2, а блок операторов 1 не выполняется. В таблице 1 указаны простейшие операции отношения.

Таблица 1.

Операция Запись на С++
больше >
меньше <
больше либо равно >=
меньше либо равно <=
равно = =
не равно !=

Вложенные операторы условия

Операторы условия могут быть вложенными друг в друга, в соответствии с тем программным алгоритмом, который они реализуют. Допускается произвольная степень их вложенности. Например:

if (a<=b) // начало внешнего оператора условия

{

if (x!=0) cout<<”x!=0” // начало вложенного оператора условия

else // начало ветви else, относящейся

// к вложенному оператору условия

{

x=1;

y=0;

} // конец ветви else, относящейся

// к вложенному оператору условия

}

else // начало ветви else, относящейся

// к внешнему оператору условия

{

a=b;

cout<<a;

} // конец ветви else, относящейся

// к внешнему оператору условия

Сокращенные варианты записи

При программировании обыденной является ситуация, когда требуется некоторое действие в ответ на сложившиеся условия. Например, если получены неверные исходные данные от пользователя, то выдать сообщение об ошибке и выйти из программы. В таких случаях используется сокращенная запись оператора условия с отсутствующим блоком else. Общая форма записи:

if (условие)

{

блок операторов;

}

Здесь в случае истинности условия управление передается блоку операторов в фигурных скобках. В случае ложности условия этот блок пропускается.

Составные логические выражения

В программировании распространены двойные условия, которые в математике записываются в виде f<b<c. В программе такие условия должны быть переформулированы с использованием простых операций сравнения и логически операций «И», «ИЛИ», «НЕ». Обозначение логических операций приведено в таблице 2.

Таблица 2.

Логическая операция Знак С++ Наименование знака
И && двойной амперсанд
ИЛИ || двойная вертикальная черта
НЕ ~ (!) не

Например:

if ((a>b) && (a>c)) // если а больше b и а больше с

cout <<"a="<<a; // вывести значение переменной а

else // иначе

{

if ((b>a) && (b>c)) // если b больше а и b больше с

cout <<"b="<<b; // вывести значение переменной b

else

cout <<"c="<<c; // иначе вывести значение

} // переменной с

Оператор Switch используется в том случае, если в программе присутствует большое дерево ветвлений и все ветвления зависят от значения какой-либо одной переменной.

Общий формат записи:

switch (n)

{

case 1:

оператор 1;

break;

case 2:

оператор 2;

break;

case 3:

оператор 3;

break;

…………….

}

где n – целочисленная или символьная переменная;

1, 2, 3 – целочисленная или символьная константа;

Оператор 1 – тело первого case;

Оператор 2 – тело второго case;

Оператор 3 – тело третьего case;

вreak – (прервать) оператор завершает выполнение ветвления switch, если значение переменной в операторе switch совпадает с одним из значений констант, указанных внутри ветвления. Если значение переменной в операторе switch не совпадет ни с одним из значений констант, то управление будет передано в конец switch без выполнения каких-либо действий. В случае отсутствия оператора break управление будет передано операторам, относящимся к другим веткам switch.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: