Вхід до системи

If

Матеріал з мікроАмпер
Версія від 17:52, 23 червня 2016, створена Oogway (обговореннявнесок) (Створена сторінка: === Оператор If === '''if (умова) та ==, !=, <, > (оператори порівняння)''' '''if''', використовується ра...)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)

Оператор 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.