Содержание

Логические операции в языке C++

Операторы сравнения я зыках программирования используются для проверки конкретного условия: ложное оно или истинное, они могут проверить только одно условие за определенный промежуток времени. Но часто возникают ситуации, когда нужно протестировать сразу несколько условий, для этого используются логические операции в языке C++.

Логическое И (&&)

Логическое И (&&) объединяет вместе два утверждения и возвращает истину только в том случае, если и левое и правое утверждения истинны. Если хотя бы одно из утверждений или оба ложны, объединенное выражение заменяется на ложь. Логическое И работает по сокращенной схеме, то есть, если первое утверждение ложь, второе уже не проверяется.

УТВЕРЖДЕНИЕ 1 УТВЕРЖДЕНИЕ 2 УТВЕРЖДЕНИЕ 1&&УТВЕРЖДЕНИЕ 2 
true true true 
true false false 
false true false 
false false false

Теперь рассмотрим пример, в котором программа получает число и определяет, попадает ли это число в диапазон от 1 до 10.

#include <iostream>
using namespace std;
void main()
{
	int N;
	cout<<”Enter digit:\n”;
	cin>>N;
	cout<<((N>=1)&&(N<=10));
	cout<<”\n\nIf you see 1 your digit is in diapazone\n\n”;
	cout<<”\n\nIf you see 0 your digit is not in diapazone\n\n”;
}

В данном примере, если оба утверждения будут верными, на место выражения подставится 1, в противном случае – 0. Соответственно пользователь сможет проанализировать сложившуюся ситуацию, используя инструкции программы.

Логическое ИЛИ (||)

Логическое ИЛИ объединяет вместе два утверждения и возвращает истину только в том случае, если хотя бы одно из утверждений верно, и ложь в том случае, если оба утверждения не верны. Логическое ИЛИ работает по сокращенной схеме, то есть, если первое утверждение истина, второе уже не проверяется.

УТВЕРЖДЕНИЕ 1 УТВЕРЖДЕНИЕ 2 УТВЕРЖДЕНИЕ 1||УТВЕРЖДЕНИЕ 2 
true true true 
true false true 
false true true 
false false false

Логическое НЕ (!)

Логическое НЕ (!) является унарным оператором и в связи с этим не может называться оператором объединения. Оно используется в том случае, если нужно изменить результат проверки утверждения на противоположный.