Программирование на C++

Лекция №3. Логические операции языка программирования С++

Лекция №3. Логические операции языка программирования С++

В данной лекции будет рассмотрены логические операции языка программирования С++. В процессе сравнения переменных между собой может быть получен результат логического вида – true, false (истина, ложь). Например, нам необходимо сравнить следующие значения: 6 < 11 – это ложь, так как 6 действительно меньше 11. А вот если сравнивать 20 > 60 – это будет ложью.

В следующей таблице представлены операторы, которые могут быть использованы для выполнения логических операций.

Таблица 1 – Логические операции языка программирования С++
Логические операции языка программирования с++

Все представленные операторы в Таблице 1 являются бинарными. В процессе написания программ работа с этими операциями сводится к сравнению двух операторов между собой: один меньше, а другой больше, или наоборот, или один абсолютно не равен, или равен и т.д. В процессе выполнения такой проверки программой будет возвращено одно из двух значений – true (единица) или false (ложь).

Таблица 2 – Логические операции языка программирования С++
Логические операции

Использование логических операций (&&, ||) имеет бинарную форму. Они могут быть использованы в процессе разработки программ на языке С++ для создания определенного условия или объединения нескольких условий сравнений или равенства в одно. Например, если у нас будет переменная VARS со значением, которое будет введено пользователем. А нам нужно узнать – будет ли находиться значение переменной VARS в диапазоне от 30 до 40? Это будет истина (true) или ложь (false)? Эту проверку можно выполнить используя логическое И (&&):

cout << (VARS > 30) && (VARS < 40));

Получается, что на экран будет выведено 1, при условии, что значение переменной будет одновременно больше 30 и меньше 40. Если пользователем будет введено 35 – на экран будет выведено 1. Если будет введено 41 – на экран будет выведено 0, так как 41 будет вне указанного диапазона.

Представим код, демонстрирующий все вышесказанное:

#include <iostream>
using namespace std;
int main()
{
	setlocale(LC_ALL, "rus");
	int VARS1 = 16; 
	int VARS2 = 4;
	int VARS3 = 9; 
	// вывод исходных значений  
	cout << "VARS1 = " << VARS1 << endl;
	cout << "VARS2 = " << VARS2 << endl;
	cout << "VARS3 = " << VARS3 << endl;
 
	// операторы сравнения и операторы равенства
	cout << "( VARS2 > VARS3) : ";
	cout << (VARS2 > VARS3) << endl;
 
	cout << "(VARS2 < VARS3) : ";
	cout << (VARS2 < VARS3) << endl;
 
	cout << "(VARS2 >= VARS3) : ";
	cout << (VARS2 >= VARS3) << endl;
 
	cout << "(VARS2 <= VARS3) : ";
	cout << (VARS2 <= VARS3) << endl;
 
	cout << "(VARS2 == VARS3) : ";
	cout << (VARS2 == VARS3) << endl;
 
	cout << "(VARS2 != VARS3) : ";
	cout << (VARS2 != VARS3) << endl;
 
	// отрицательная инверсия
	cout << "!(VARS2 < VARS3) : ";
	cout << !(VARS2 < VARS3) << endl;
 
	// логические операторы объединения 
	cout << "((VARS1 > 10) && (VARS1 < 20)): ";
	cout << ((VARS1 > 10) && (VARS1 < 20)) << endl;
	cout << "((VARS1 < 10) || (VARS1 > 20)): ";
	cout << ((VARS1 < 10) || (VARS1 > 20)) << endl;	
	cout << endl << "1 - true, 0 - false" << endl << endl;
	return 0;
}

Код в редакторе TextMate представлен на следующем рисунке

Программа на с++

Результат выполнения программы представлен на следующем рисунке

Результат выполнения программы на с++

Таким образом, нами были рассмотрены основные логические операции в языке программирования С++. Вполне возможно не совсем все понятно, но в следующих лекциях логические операции будут дополнительно рассмотрены и уточнены условия использования логических операций языка программирования С++.