Menu
Coddy logo textTech

Логические операторы. Часть 1

Часть раздела Основы путешествия по C++ на Coddy — урок 23 из 74.

Логические операторы используются для проверки комбинаций сравнений, которые возвращают true или false.

Например, следующее утверждение содержит два сравнения: 

Является ли 5 больше 3 и меньше 6?

ОператорЗначениеПример
&&И - true, если все операнды имеют значение truea && b
||Или - true, если хотя бы один операнд имеет значение truea || 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).

challenge icon

Задание

Новичок

Вам дан код. Замените вопросительные знаки в переменных 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, превращая в true
bool 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;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы