|
|||
Условные выражения. Операции отношения. Логические операцииСтр 1 из 4Следующая ⇒ Условные выражения Условные выражения представляют собой некоторое условие и возвращают значение типа bool, то есть значение true(если условие истинно), либо значение false(если условие ложно). К условным выражениям относятся операции отношения и логические операции. Операции отношения
В языке программирования C++ есть следующие операции отношения: · == Операция "равно". Возвращает true, если оба операнда равны, и false, если они не равны:
int a = 10; int b = 4; bool c = a == b; // false bool d = a == 10; // true
· > Операция "больше чем". Возвращает true, если первый операнд больше второго, и false, если первый операнд меньше второго:
int a = 10; int b = 4; bool c = a > b; // true
· < Операция "меньше чем". Возвращает true, если первый операнд меньше второго, и false, если первый операнд больше второго:
bool c = 10 < 4; // false
· <= Операция "меньше или равно". Возвращает true, если первый операнд меньше или равен второму, и false, если первый операнд больше второго:
bool c = 10 <= 4; // false bool d = 10 <= 14; // true
· >= Операция "больше или равно". Возвращает true, если первый операнд больше или равен второму, и false, если первый операнд меньше второго:
bool c = 10 >= 4; // true bool d = 10 >= 14; // false
· != Операция "не равно". Возвращает true, если первый операнд не равен второму, и false, если оба операнда равны:
bool c = 10 != 4; // true bool d = 4 != 4; // false
Обычно операции отношения применяются в условных конструкциях типа if...else, которые будут рассмотрены далее. Логические операции
Логические операции обычно объединяют несколько операций отношения. К логическим операциям относят следующие: · ! (операция отрицания) Унарная операция, которая возвращает true, если операнд равен false. Если операнд равен true, операция возвращает false.
bool a = true; bool b = !a; // false bool c =!10<5; // true
· && (конъюнкция, логическое умножение) Возвращает true, если оба операнда не равны false. Возвращает false, если хотя бы один операнд равен false.
bool a = true; bool b = false; bool c = a && b; // false bool d = a && true; // true
· || (дизъюнкция, логическое сложение) Возвращает true, если хотя бы один операнд равен true. Возвращает false, если оба операнда равны false.
bool a = true; bool b = false; bool c = a || b; // true bool d = b || false; // false
Используем одновременно несколько логических операций и операций сравнения:
#include <iostream> using namespace std; int main() { bool a = -2 > 5; // false bool b = 0 < 7; // true bool c = 10 > 5 && 7 < 11; // true bool d = a && b || c; // true cout << a << "\n"; // 0 cout << b << "\n"; // 1 cout << c << "\n"; // 1 cout << d << "\n"; // 1 return 0; }
Следует обратить внимание, что на консоль выводится не непосредственно true или false, а их числовые эквиваленты - 1 для true и 0 для false. И также стоит учитывать, что операции отношения имеют больший приоритет, чем логические операции. Поэтому в выражении 10 > 5 && 7 < 11 вначале будут выполняться подвыражения - операции отношения 10 > 5 и 7 < 11, а затем собственно операция логического умножения.
|
|||
|