Оператор if, который часто используется совместно с операциями сравнения, проверяет истинность определенного условия. Например, можно проверить превышает ли переменная некоторое число. Пример, использования оператора if:
if (someVariable > 50)
{
// что-то тут делаем
}
Программа проверяет больше ли переменная someVariable числа 50. Если это так, выполняется определенный код. Иными словами, если условие в круглых скобках верно, то выполняется код внутри фигурных скобок, если же нет, то программа пропустит этот код.
Фигурные скобки могут быть опущены после инструкции с оператором if, тогда только следующая строка (отделенная точкой с запятой) будет выполняться при выполнении условия.
if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120)
digitalWrite(LEDpin, HIGH);
if (x > 120){ digitalWrite(LEDpin, HIGH); }
if (x > 120){
digitalWrite(LEDpin1, HIGH);
digitalWrite(LEDpin2, HIGH);
} // все варианты верны
Выражения в скобках могут содержать одну или несколько операции сравнения:
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(х = 10)). Одинарный знак равенства является оператором присваивания, и присваивает х число 10 (помещает значение 10 в переменную х). Вместо того, чтобы использовать двойной знак равенства (например, if(х == 10)), который является оператором сравнения, и проверяет, является ли х равным 10 или нет. Последнее утверждение верно только если х равен 10, а операция присваивания всегда будет истинной.
Это потому, что Си оценивает инструкцию if(х = 10) следующим образом: число 10 присваивается переменной х (помните, что один знак равенства является оператором присваивания), теперь х содержит 10. После чего, "if" оценивает условие 10, которое всегда является ИСТИНОЙ, поскольку любое ненулевое число - ИСТИНА. Следовательно, if(х = 10) будет всегда иметь значение TRUE, что не является требуемым результатом при использовании инструкции "if". Кроме того, переменной х будет присвоено значение 10, что также является не желаемым действием.
Оператор if также может быть частью ветвления с использованием конструкции IF ... ELSE.
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://arduino.cc/en/Reference/If |