Оператор if()

if (условие){}

if проверяет условие и если оно верно то выполняется следующий блок кода, заключенный в фигурные скобки. Если блок кода состоит из одной команды то фигурные скобки можно опустить

Пример:


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

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


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 == y && x > 0 (x равно y и больше нуля. Блок кода выполнится при условии, что оба выражения верны)
x == y || x > 0 (x равно y или x больше нуля. Блок кода выполнится при условии, что хотя бы одно выражение верно)

Внимание!
Существует распространенная ошибка использования оператора присваивания (=) вместо оператора сравнения (==). Будьте внимательны. При использовании оператора присваивания (x = 10) значение 10 запишется в переменную и такое выражение всегда будет восприниматься как верное.

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

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

Ардуино