Оператор керування 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

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.