Menu
Coddy logo textTech

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

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

Логические операторы имеют специальную таблицу, называемую «Таблица истинности», которая показывает, что возвращает комбинация логических операторов.

Таблица истинности для оператора and (&&):

aba && b
falsefalsefalse
falsetruefalse
truefalsefalse
truetruetrue

Единственный способ получить true для оператора and (&&) — это если и a, и b имеют значение true

Таблица истинности для оператора or (||):

aba || b
falsefalsefalse
falsetruetrue
truefalsetrue
truetruetrue

В этом случае, чтобы получить результат true, либо a, либо b должен быть true.

Таблица истинности для оператора not (!):

a!a
falsetrue
truefalse

Здесь значение a инвертируется. Если a равно false, то !a равно true

challenge icon

Задание

Новичок

Вам нужно присвоить целые значения переменным b1 и b2, чтобы b3 приняло значение true в выражении: bool b3 = !((b1 + b2) > (b1 * b2)).

Уделите время анализу условия и подумайте, какие значения сделают его истинным.

Шпаргалка

Таблицы истинности показывают результаты комбинаций логических операторов:

Оператор AND (&&): Возвращает true только тогда, когда оба операнда равны true

aba && b
falsefalsefalse
falsetruefalse
truefalsefalse
truetruetrue

Оператор OR (||): Возвращает true, если хотя бы один из операндов равен true

aba || b
falsefalsefalse
falsetruetrue
truefalsetrue
truetruetrue

Оператор NOT (!): Инвертирует логическое значение

a!a
falsetrue
truefalse

Попробуйте сами

#include <iostream>
using namespace std;

int main() {
    // Введите ваш код ниже
    int b1 = ?;
    int b2 = ?;
    bool b3 = !((b1 + b2) > (b1 * b2));
    
    // Не изменяйте строку ниже
    cout << "b3 = " << b3 << endl;
    
    return 0;
}
quiz iconПроверьте себя

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

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