К операторам проверки условия относят
- условный оператор if
- тернарный оператор ? :
- оператор ветвления switch
Каждый из них служит для выбора направления, в котором программа продолжит свое выполнение.
Условный оператор if
Различают два варианта использования условного оператора
if – полная развилка и неполная развилка, схематично показанные на рисунке ниже.
Полная развилка
if(выражение)
{
НаборОпераций1;
}
else
{
НаборОпераций2;
}
Неполная развилка
if(выражение)
{
НаборОпераций1;
}
В обоих вариантах использования условного оператора
НаборОпераций1 выполняется в случае если проверяемое выражение истинно (равно
True).
В варианте полной развилки
НаборОпераций2 выполняется в случае если проверяемое выражение ложно (равно
False).
В варианте неполной развилки в случае ложного значения проверяемого выражения никакие действия не выполняются.
Выполняемый
НаборОпераций заключается в фигурные скобки. Если
НаборОпераций состоит только из одной операции, то эта операция в фигурные скобки может не заключаться.
В качестве примера использования неполной развилки рассмотрим задачу нахождения модуля введенного целого числа.
В качестве примера использования полной развилки рассмотрим задачу определения максимума двух введенных чисел.
Если выражение оператора
if предполагает проверку на равенство, то для этого используется символ «двойное равно»
==.
Условные операторы могут быть вложенными. Синтаксис языка предполагает, что при вложениях условных операторов каждое
else соответствует ближайшему к нему предшествующему
if.
Рассмотрим пример вывода оценки в зависимости от балла
Проверяемое выражение может содержать операции условных логических операций (И, ИЛИ, НЕ, Исключающее ИЛИ). При этом
- если выражение содержит операцию И, то обязательным является истинное значение всех составляющих выражения;
- если выражение содержит операцию ИЛИ, то обязательным является истинное значение хотя бы одной составляющей выражения;
- если выражение содержит операцию Исключающее ИЛИ, то обязательным является истинное значение только одной из двух составляющих выражения;
- если проверяется логическое НЕ (инверсия выражения), то значение самого выражения для выполнения условия должно быть ложно.
Ниже приводятся примеры представления логических операций в виде вложенных операций
if для условных логических операций И и ИЛИ
if(выражение1 && выражение 2)
{
НаборОпераций1;
} else
{
НаборОпераций2;
}
if(выражение1)
{
if(выражение2)
{
НаборОпераций1;
}
else
{
НаборОпераций2;
}
}
else
{
НаборОпераций2;
}
if(выражение1 || выражение 2)
{
НаборОпераций1;
} else
{
НаборОпераций2;
}
if(выражение1)
{
НаборОпераций1;
}
else if(выражение2)
{
НаборОпераций1;
}
else
{
НаборОпераций2;
}
Рассмотрим пример сдачи зачета в зависимости от балла
Тернарные операции
Тернарная операция используется в операциях присваивания и применяется для проверки условия и имеет три составляющих
Переменная = Условие ? Значение1 : Значение2;
Если условие выполняется, то переменной присваивается
Значение1, иначе –
Значение2.
Рассмотрим тот же пример сдачи зачета в зависимости от балла, реализованный с использованием тернарных операций
Тернарные операции, как и оператор
if, могут быть вложенными.
Оператор ветвления switch
Оператор ветвления
switch является удобным способом реализации множественного ветвления (когда значение переменной необходимо проверить на соответствие одному из нескольких значений). Этот оператор позволяет проверять значения только целочисленных, символьных или строковых переменных или значения перечислений
enum.
Синтаксис использования оператора ветвления следующий
Синтаксическая конструкция оператора ветвления использует ключевые слова
switch,
case,
break, и
default и обязательные фигурные скобки, ограничивающие тело оператора.
Конструкция
case Значение:
называется
меткой переключателя.
Управляющая конструкция
switch(Выражение)
передает управление той метке переключателя, для которой значение выражения совпадает со значением метки. Оператор
break завершает выполнение
НабораОпераций и осуществляет переход к операции, следующей за ветвлением.
В случае если вычисленному
Выражению не сопоставлена ни одна метка переключателя, будут выполнены операции метки по умолчанию
default.
В каждом операторе ветвления может быть не больше одной метки
default. Если метка
default отсутствует, то при несовпадении переключающего выражения ни с одной меткой переключателя оператор ветвления не выполнит никаких действий.
Рассмотрим пример вывода оценки в зависимости от балла
Автор: Вставская Елена Владимировна
Написать комментарий: