Дано два числа A и B. Определить наибольшее число.
Программирование Arduino
Оператор if и операторы сравнения
В простейших программах все команды выполняются одна за другой последовательно.
Так реализуются линейные алгоритмы. Однако часто надо выбрать тот или иной вариант действий в зависимости от некоторых условий: если условие верно, поступать одним способом, а если неверно — другим. Для этого используют разветвляющиеся алгоритмы, которые в языках программирования представлены в виде условных операторов. В языке Си существует два вида условных операторов:
- оператор if — else для выбора из двух вариантов
- оператор множественного выбора switch-case для выбора из нескольких вариантов
Оператор if используется в сочетании с операторами сравнения, он проверяет, достигнута ли истинность условия.
Формат оператора if следующий:
if (var > 0){
// выполнять действия
}
Программа проверяет, значение var больше чем 0 или нет. Если да, то
выполняются определенные действия. Говоря иначе, если выражение в круглых скобках истинно, выполняются операторы внутри фигурных скобок. Если нет, программа пропускает этот код.
Выражения, которые вычисляются внутри круглых скобок, могут состоять из одного или нескольких операторов.
Операторы сравнения:
x == y (x равно y)
x != y (x не равно y)
x < y (x меньше чем y)
x > y (x больше чем y)
x <= y (x меньше чем или равно y)
x >= y (x больше чем или равно y)
Оператор if..else
Конструкция if..else позволяет сделать выбор "либо, либо".
Например:
if (var==0)
{doFun1();}
Else
{doFun2();}
Else позволяет делать отличную от указанной в if проверку, чтобы можно было
осуществлять сразу несколько взаимоисключающих проверок.
Каждая проверка позволяет переходить к следующему за ней оператору не раньше, чем получит логический результат ИСТИНА. Когда проверка с результатом ИСТИНА найдена, запускается вложенный в нее блок операторов, и затем программа игнорирует все следующие строки в конструкции if..else.
Если ни одна из проверок не получила результат ИСТИНА, по умолчанию выполняется блок операторов в else, если последний присутствует, и устанавливается действие по умолчанию. Конструкция else if может быть использована с или без заключительного else и наоборот. Допускается неограниченное число таких переходов else if.
Другой способ создания переходов с взаимоисключающими проверками использует оператор switch-case.
Сложное условие
Сложное условие состоит из двух или нескольких простых отношений, которые объединяются с помощью знаков логических операций:
- операция И — требуется одновременное выполнение двух условий
условие_1 && условие_2
Эту операцию можно описать следующей таблицей (она называется таблицей истинности):
- операция ИЛИ — требуется выполнение хотя бы одного из двух условий (или обоих сразу)
условие_1 || условие_2
Таблица истинности запишется в виде:
- операция НЕ — отрицание условия (или обратное условие)
! условие
Например, следующие два условия равносильны
A > B !( A <= B )
Порядок выполнения (приоритет) логических операций и отношений:
1) операции в скобках, затем
2) операция НЕ, затем
3) логические отношения >, <, >=, <=, ==, !=, затем
4) операция И, затем
5) операций ИЛИ
Для изменения порядка действий используются круглые скобки. 6.3. Оператор Switch...case
Если надо выбрать один из нескольких вариантов в зависимости от значения некоторой
целой или символьной переменной, можно использовать несколько вложенных операторов if, но значительно удобнее использовать специальный оператор switch.
Конструкция switch...case управляет процессом выполнения программы, позволяя
программисту задавать альтернативный код, который будет выполняться при разных условиях.
Оператор switch сравнивает значение переменной со значением,
определенном в операторах case. Когда найден оператор case, значение которого
равно значению переменной, выполняется программный код в этом операторе.
Ключевое слово break является командой выхода из оператора case и обычно используется в конце каждого case.
Без оператора break оператор switch будет продолжать вычислять следующие выражения, пока не достигнет break или конец оператора switch.
Пример:
Switch (var)
{
case label1:
// код для выполнения
break;
case label2:
// код для выполнения
break;
case label3:
// код для выполнения
break;
default:
// код для выполнения
break;
}
Оператор множественного выбора switch состоит из заголовка и тела оператора, заключенного в фигурные скобки.
В заголовке после ключевого слова switch в круглых скобках записано имя переменной
(целой или символьной). В зависимости от значения этой переменной делается выбор между несколькими вариантами.
Каждому варианту соответствует метка case, после которой стоит одно из возможных
значений этой переменной и двоеточие; если значение переменной совпадает с одной из
меток, то программа переходит на эту метку и выполняет все последующие операторы.
Оператор break служит для выхода из тела оператора switch.
Если значение переменной не совпадает ни с одной из меток, программа переходит на
метку default(по умолчанию, то есть если ничего другого не указано). 6.3. Примеры использования
Задача № 1
Дано два числа A и B. Определить наибольшее число.
Решение
// Демонстрационный пример, показывающий действие условного оператора if-else
/*
Задача
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|