Логические операторы. Часть 1
Часть раздела Fundamentals путешествия по C на Coddy — урок 21 из 63.
Логические операторы используются для проверки комбинаций сравнений, которые возвращают 1 (истина) или 0 (ложь).
Например, следующее утверждение содержит два сравнения:
Является ли 5 больше 3 и меньше 6?
| Оператор | Значение | Пример |
|---|---|---|
&& | И - 1, если все операнды равны 1 | a && b |
|| | ИЛИ - 1, если любой операнд равен 1 | a || b |
! | НЕ - 1, если операнд равен 0 | !a |
Давайте рассмотрим несколько примеров:
5 больше 3 и 1 равно 1:
int b1 = (5 > 3) && (1 == 1); // содержит 1 (true)Объяснение: Все операнды равны 1, поэтому b1 будет содержать 1 (операция and равна 1, если оба операнда равны 1).
5 не равно 4 или 5 равно 2:
int b2 = !(5 == 4) || (5 == 2); // содержит 1 (true)Объяснение: Первый операнд (5 != 4) равен 1, поэтому b2 также равен 1 (операция or равна 1, если хотя бы один из операндов равен 1)
Задание
ЛегкоВам дан код. Замените вопросительные знаки в переменных int b1 и int b2 так, чтобы int b3 содержала 1 (true).
Уделите время анализу условия и подумайте, какие значения сделают его истинным.
Существует множество правильных решений!
Шпаргалка
Логические операторы используются для проверки комбинаций сравнений, которые возвращают 1 (истина) или 0 (ложь).
| Оператор | Значение | Пример |
|---|---|---|
&& |
И - 1, если все операнды равны 1 |
a && b |
|| |
ИЛИ - 1, если хотя бы один операнд равен 1 |
a || b |
! |
НЕ - 1, если операнд равен 0 |
!a |
Примеры:
int b1 = (5 > 3) && (1 == 1); // содержит 1 (истина)int b2 = !(5 == 4) || (5 == 2); // содержит 1 (истина)Попробуйте сами
#include <stdio.h>
int main() {
// Введите ваш код ниже
int b1 = ?;
int b2 = ?;
int b3 = b1 || b2;
// Не изменяйте строку ниже
printf("b3 = %d", b3);
return 0;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
2Переменные
Типы данныхЦелые числаFloat и DoubleСимволыЛогический типКонстантыОсновы printfПравила именования переменныхПриведение типов. Часть 1Приведение типов. Часть 2Итоговое задание3Операторы
Арифметические операторыОператор остатка от деленияИнкремент и декрементОператоры присваиванияОператоры сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Логические операторы. Часть 3Задание на повторение