Оператор If

if (условие) и ==, !=, <, > (операторы сравнения)

if, используется в сочетании с операторами сравнения, проверяет, достигнута ли истинность условия, например, превышает ли входное значение заданное число. Формат оператора if следующий: 

if (someVariable > 50)
{
   // выполнять действия
}

Программа проверяет, значение someVariable больше чем 50 или нет. Если да, то выполняются определенные действия. Говоря иначе, если выражение в круглых скобках истинно, выполняются операторы внутри фигурных скобок. Если нет, программа пропускает этот код.

Скобки после оператора if могут быть опущены. Если так сделано, только следующая строка (обозначенная точкой с запятой) становится оператором, выполняемым в операторе 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 (x = 10)). Знак простого равенства – это оператор присваивания, и устанавливает значение х равное 10 (заносит значение 10 в переменную х). Вместо этого используйте знак двойного равенства (например, if (x == 10)), который является оператором сравнения и проверяет, х равен 10 или нет. Последнее из двух выражений будет истинно, только если х равен 10, но предыдущее выражение всегда верно.

Это связано с тем, что С вычисляет выражение if (x=10) следующим образом: значение 10 присваивается х (помним, что простой знак равенства – это оператор присваивания), таким образом, х теперь равен 10. Затем условный if вычисляет 10, которое уже равно ИСТИНА, так как любое число, неравное 0, равно ИСТИНА. Поэтому if (x=10) будет всегда иметь логическое значение ИСТИНА, которое не является желательным результатом, когда используется оператор if. Вдобавок, переменной х будет присвоено значение 10, что также не является желаемым действием.

If также может быть частью разветвленной управляющей конструкции с использованием if...else

Расскажи о нас

Сообщение

Если у Вас есть опыт в работе с Arduino и собственно есть время для творчества, мы приглашаем всех желающих стать авторами статей публикуемых на нашем портале. Это могут быть как уроки, так и рассказы о ваших экспериментах с Arduino. Описание различных датчиков и модулей. Советы и наставления начинающим. Пишите и размещайте свои статьи в соответсвующей ветке форума.