Menu
Coddy logo textTech

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

Часть раздела Fundamentals путешествия по C на Coddy — урок 21 из 63.

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

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

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

ОператорЗначениеПример
&&И - 1, если все операнды равны 1a && b
||ИЛИ - 1, если любой операнд равен 1a || 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)

challenge icon

Задание

Легко

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

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

Все уроки раздела Fundamentals