Оператор керування if
if (умова) and ==, !=, <, > (оператори порівняння)
Оператор if, який зазвичай використовують у поєднанні з оператором порівняння, тестує, чи виконуються певні умови, наприклад, чи перевищує введене значення задане число. Формат тесту if виглядає так:
if (someVariable > 50)
{
// виконати дію
}
Програма перевірятиме, чи якась змінна (someVariable) більша за 50. Якщо так, програма виконає певну дію. Іншими словами, якщо вираз у круглих дужках є істинним, програма виконає код у фігурних дужках. Якщо ні, програма пропустить код.
Вираз-дію після виразу if не обов’язково брати у фігурні дужки. У такому разі, щоб програма правильно сприйняла вираз-дію, після нього треба поставити крапку з комою, як у прикладі нижче (другий вираз if (x > 120)).
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. Натомість використовуйте подвійний знак «дорівнює» (наприклад, if (x == 10) ), який є оператором порівняння і перевіряє, дорівнює змінна х 10 чи ні. Вираз if (x == 10) істинний лише у випадку, коли х дорівнює 10, тоді як вираз if (x = 10) завжди буде істинним.Так є, оскільки С оцінює вираз if (x = 10) наступним чином: значення 10 присвоюється змінній х (одинарний знак «дорівнює» — оператор присвоєння), тож х тепер сприймається програмою як 10. Потім оператор if обчислює 10, яке завжди буде істинним, оскільки будь-яке число, що не дорівнює нулю, буде істинним. Відповідно, вираз if (x = 10) завжди дорівнюватиме TRUE (буде істинним), що не є бажаним результатом під час використання оператора if. Так само змінну х буде задано як 10, що також не є бажаним. Оператор if також може бути частиною розгалуженої структури керування з використанням конструкції if…else.
Повернутись до головної
Коментарі 0