Оператори порівнянь
Оператори порівнянь використовуються для порівняння двох значень (або ж змінних). Це дуже важлива можливість мов програмування, так як вона дозволяє нам знаходити відповіді на питання та приймати рішення на їх основі.
Результатом виразів з порівнянням є або 1 (що значить "істина"), або 0 (значить "хибність"). Всю цінність цих операцій ми побачимо в наступному уроці, в якому розглянемо тему розгалудження потоку виконання програм, а поки що просто постарайтесь запам'ятати матеріал цієї статті.
Часто при написанні програм нам необхідно знати чи досягла змінна певного значення, чи більше значення однієї змінної за інше тощо. Розглянемо приклад, в якому оператором БІЛЬШЕ НІЖ порівнюються декілька змінних:
int a = 18;int b = 6;int c = 20;printf("%d \n", a > b); // виведе 1 (ІСТИНА), так як a дійсно більше ніж bprintf("%d", a > c); // виведе 0 (ХИБНІСТЬ), так як a не більше за b
Повний список операторів порівнянь:
| Оператор | Назва | Приклад застосування | Опис |
| == | Дорівнює | a == b | Дає результат 1 якщо значення рівні, інакше 0 |
| != | Не дорівнює | a != b | Дає результат 1 якщо значення НЕ рівні, інакше 0 |
| > | Більше ніж | a > b | Результат 1 якщо перше значення БІЛЬШЕ ніж друге |
| < | Менше ніж | a < b | Результат 1 якщо перше значення МЕНШЕ ніж друге |
| >= | Більше або дорівнює | a >= b | Результат 1 якщо перше більше або рівне другому |
| <= | Менше або дорівнює | a <= b | Результат 1 якщо перше менше або рівне другому |
Примітка: порівнювати, звісно можна не тільки змінні а і значення напряму:
int result1 = a > 3;int result2 = 45 < 16;
Логічні оператори
Як і оператори порівняння, логічні оператори також дозволяють перевіряти, чи є значення істинними (true) або хибними (false).
Логічні оператори використовуються для визначення логічного зв'язку між змінними або значеннями, поєднуючи кілька умов.
| Оператор | Назва операції | Приклад | Опис |
| && | І | a > 3 && a < 10 | Дає результат 1 якщо значення змінної a більше 3 і менше 10 |
| || | АБО | a == 2 || b > 6 | Результат 1 якщо a дорівнює 2 або b більше 6, інакше результат 0 |
| ! | НЕ | !a | Обертає логічне значення - дає 1 якщо a дорівнює 0, дає 0 якщо a = 1 |
int isLoggedIn = 1;int isAdmin = 0;printf("Звичайний користувач: %d\n", isLoggedIn && !isAdmin);printf("Має доступ: %d\n", isLoggedIn || isAdmin);printf("Не увійшов у систему: %d\n", !isLoggedIn);
Результат:
Звичайний користувач: 1
Має доступ: 1
Не увійшов у систему: 0
Запам'ятайте: у мові C значення 1 означає істину (true), а 0 — хибність (false). Логічні оператори стають значно зрозумілішими, коли починаєш використовувати їх в операторах if, з якими ви познайомитеся в наступному розділі.
Ця стаття з циклу статей Уроки програмування на мові C.
Наступний урок: Умовні конструкції if...else у мові C
