Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Освоение операторов отношения и логических операторов C++: четкое руководство по принятию решений

В C++ операторы отношения и логические операторы сравнивают два или более операнда и возвращают либо true, либо false значения.

Мы используем эти операторы в принятии решений.

Операторы отношения C++

Оператор отношения используется для проверки отношения между двумя операндами. Например,

// проверяет, является ли a больше b a > b;

Здесь > — оператор отношения. Он проверяет, больше ли a, чем b, или нет.

Если отношение истинно, оно возвращает 1, тогда как если отношение ложно, оно возвращает 0.

Следующая таблица суммирует операторы отношения, используемые в C++.

Оператор Значение Пример
== Равно 3 == 5 дает false
!= Не равно 3 != 5 дает true
> Больше 3 > 5 дает false
< Меньше 3 < 5 дает true
>= Больше или равно 3 >= 5 дает false
<= Меньше или равно 3 <= 5 дает true

Оператор ==

Оператор равно == возвращает

Например,

int x = 10; int y = 15; int z = 10; x == y // false x == z // true

Примечание: Оператор отношения == не тот же, что оператор присваивания =. Оператор присваивания = присваивает значение переменной, константе, массиву или вектору. Он не сравнивает два операнда.

Оператор !=

Оператор не равно != возвращает

Например,

int x = 10; int y = 15; int z = 10; x != y // true x != z // false

Оператор >

Оператор больше > возвращает

Например,

int x = 10; int y = 15; x > y // false y > x // true

Оператор <

Оператор меньше < возвращает

Например,

int x = 10; int y = 15; x < y // true y < x // false

Оператор >=

Оператор больше или равно >= возвращает

Например,

int x = 10; int y = 15; int z = 10; x >= y // false y >= x // true z >= x // true

Оператор <=

Оператор меньше или равно <= возвращает

Например,

int x = 10; int y = 15; x <= y // true y <= x // false

Чтобы узнать, как операторы отношения могут использоваться со строками, обратитесь к нашему руководству здесь.

Логические операторы C++

Мы используем логические операторы для проверки, является ли выражение истинным или ложным. Если выражение истинно, оно возвращает 1, тогда как если выражение ложно, оно возвращает 0.

Оператор Пример Значение
&& expression1 && expression 2 Логическое И.
true только если все операнды true.
|| expression1 || expression 2 Логическое ИЛИ.
true если хотя бы один операнд true.
! !expression Логическое НЕ.
true только если операнд false.

Оператор логического И C++

Оператор логического И && возвращает

Таблица истинности оператора &&

Пусть a и b будут двумя операндами. 0 представляет false, а 1 представляет true. Тогда,

a b a && b
0 0 0
0 1 0
1 0 0
1 1 1

Как мы видим из таблицы истинности выше, оператор && возвращает true только если оба a и b true.

Примечание: Оператор логического И && не должен путаться с побитовым оператором И &.

Пример 1: Оператор C++ И

// C++ программа, демонстрирующая таблицу истинности оператора && #include <iostream> using namespace std; int main() { int a = 5; int b = 9; // false && false = false cout << ((a == 0) && (a > b)) << endl; // false && true = false cout << ((a == 0) && (a < b)) << endl; // true && false = false cout << ((a == 5) && (a > b)) << endl; // true && true = true cout << ((a == 5) && (a < b)) << endl; return 0; }

Вывод

0 0 0 1

В этой программе мы объявляем и инициализируем две int переменные a и b со значениями 5 и 9 соответственно. Затем мы печатаем логическое выражение

((a == 0) && (a > b))

Здесь a == 0 оценивается как false, так как значение a равно 5. a > b также false, так как значение a меньше, чем b. Затем мы используем оператор И && для комбинирования этих двух выражений.

Из таблицы истинности оператора && мы знаем, что false && false (т.е. 0 && 0) приводит к оценке false (0). Это результат, который мы получаем в выводе.

Аналогично, мы оцениваем три других выражения, которые полностью демонстрируют таблицу истинности оператора &&.

Оператор логического ИЛИ C++

Оператор логического ИЛИ || возвращает

Таблица истинности оператора ||

Пусть a и b будут двумя операндами. Тогда,

a b a || b
0 0 0
0 1 1
1 0 1
1 1 1

Как мы видим из таблицы истинности выше, оператор || возвращает false только если оба a и b false.

Пример 2: Оператор C++ ИЛИ

// C++ программа, демонстрирующая таблицу истинности оператора || #include <iostream> using namespace std; int main() { int a = 5; int b = 9; // false || false = false cout << ((a == 0) || (a > b)) << endl; // false || true = true cout << ((a == 0) || (a < b)) << endl; // true || false = true cout << ((a == 5) || (a > b)) << endl; // true || true = true cout << ((a == 5) || (a < b)) << endl; return 0; }

Вывод

0 1 1 1

В этой программе мы объявляем и инициализируем две int переменные a и b со значениями 5 и 9 соответственно. Затем мы печатаем логическое выражение

((a == 0) || (a > b))

Здесь a == 0 оценивается как false, так как значение a равно 5. a > b также false, так как значение a меньше, чем b. Затем мы используем оператор ИЛИ || для комбинирования этих двух выражений.

Из таблицы истинности оператора || мы знаем, что false || false (т.е. 0 || 0) приводит к оценке false (0). Это результат, который мы получаем в выводе.

Аналогично, мы оцениваем три других выражения, которые полностью демонстрируют таблицу истинности оператора ||.

Оператор логического НЕ C++ !

Оператор логического НЕ ! — это унарный оператор, т.е. он принимает только один операнд.

Он возвращает true, когда операнд false, и false, когда операнд true.

Таблица истинности оператора !

Пусть a будет операндом. Тогда,

Пример 3: Оператор C++ !

// C++ программа, демонстрирующая таблицу истинности оператора ! #include <iostream> using namespace std; int main() { int a = 5; // !false = true cout << !(a == 0) << endl; // !true = false cout << !(a == 5) << endl; return 0; }

Вывод

1 0

В этой программе мы объявляем и инициализируем int переменную a со значением 5. Затем мы печатаем логическое выражение

!(a == 0) 

Здесь a == 0 оценивается как false, так как значение a равно 5. Однако мы используем оператор НЕ ! на a == 0. Поскольку a == 0 оценивается как false, оператор ! инвертирует результат a == 0 и итоговый результат — true.

Аналогично, выражение !(a == 5) в конечном счете возвращает false, потому что a == 5 — true.

Язык C

  1. Мастерство константных указателей и указателей на константы в C
  2. Указатели и массивы в C++: мастерство взаимодействия
  3. Условная логика в C#: if, if-else, if-else-if и вложенные if
  4. Мастерство указателей и многомерных массивов в C
  5. Перегрузка в C++: функции и операторы — подробное руководство
  6. Коллекции в C#: Stacks, Queues, Lists и Hash Tables — полное руководство
  7. Многопоточность в C#: Повышение производительности и эффективности
  8. Основы ввода-вывода в C#: Console.WriteLine, ReadLine и форматирование
  9. Освоение оператора switch в C#: синтаксис, примеры и лучшие практики
  10. Перегрузка операторов в C#: пользовательские типы и кастомная логика