Логические операторы. Часть 1
Часть раздела Основы путешествия по C++ на Coddy — урок 23 из 74.
Логические операторы используются для проверки комбинаций сравнений, которые возвращают true или false.
Например, следующее утверждение содержит два сравнения:
Является ли 5 больше 3 и меньше 6?
| Оператор | Значение | Пример |
|---|---|---|
&& | И - true, если все операнды имеют значение true | a && b |
|| | Или - true, если хотя бы один операнд имеет значение true | a || b |
! | Не - true, если операнд имеет значение false | !a |
Давайте рассмотрим несколько примеров:
5 больше 3 и 1 равно 1:
bool b1 = (5 > 3) && (1 == 1); // истинноОбъяснение: Все операнды имеют значение true, поэтому b1 будет содержать true (операция and возвращает true, если оба операнда имеют значение true) .
5 не равно 4 или 5 равно 2:
bool b2 = !(5 == 4) || (5 == 2); // истинноОбъяснение: Первый операнд (5 != 4) равен true, поэтому b2 также равен true (операция or возвращает true, если хотя бы один из операндов равен true)
1 не равно 1 или false:
bool b3 = !(1 == 1) || false; // содержит falseОбъяснение: Все операнды равны false, поэтому b3 будет содержать false (операция or).
3 не больше 4:
bool b4 = !(3 > 4); // истинноОбъяснение: Операнд равен false, поэтому b4 будет содержать true (операция not).
5 не больше 10 или 5 не больше 1:
bool b5 = !(5 > 10 || 5 > 1); // содержит falseОбъяснение: 5 > 10 || 5 > 1 — это true (один из операндов — true), поэтому в итоге b5 равно false (операция not).
Задание
НовичокВам дан код. Замените вопросительные знаки в переменных bool b1 и bool b2 так, чтобы bool b3 содержала true.
Уделите время анализу условия и подумайте, какие значения сделают его true.
Существует множество правильных решений!
Шпаргалка
Логические операторы используются для проверки комбинаций сравнений, которые возвращают true или false.
| Оператор | Значение | Пример |
|---|---|---|
&& |
И - true, если все операнды равны true |
a && b |
|| |
Или - true, если хотя бы один операнд равен true |
a || b |
! |
Не - true, если операнд равен false |
!a |
Примеры:
bool b1 = (5 > 3) && (1 == 1); // true - оба операнда истинныbool b2 = !(5 == 4) || (5 == 2); // true - первый операнд истинныйbool b3 = !(1 == 1) || false; // false - оба операнда ложныbool b4 = !(3 > 4); // true - отрицает false, превращая в truebool b5 = !(5 > 10 || 5 > 1); // false - отрицает true, превращая в falseПопробуйте сами
#include <iostream>
int main() {
// Введите ваш код ниже
bool b1 = ?;
bool b2 = ?;
bool b3 = b1 || b2;
// Не изменяйте строку ниже
std::cout << "b3 = " << b3;
return 0;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Оператор coutОператор cinВвод строкПовторение — До 120Повторение — Истина или ложь5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 33Переменные. Часть 2
Объявление типовСоглашения об именованииПовторение: инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор ifКонструкция if - elseОператор switchУсловный операторПовторение: if - elseВложенный if - else