Хелпикс

Главная

Контакты

Случайная статья





Условные выражения. Операции отношения. Логические операции



Условные выражения

Условные выражения представляют собой некоторое условие и возвращают значение типа 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, а затем собственно операция логического умножения.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.