Рейтинг:   / 2
ПлохоОтлично 

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

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

В С++ существует три логические операции:

  1. Логическая операция И &&, нам уже известная;
  2. Логическая операция ИЛИ ||;
  3. Логическая операция НЕ ! или логическое отрицание.

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

Таблица 1 — Логические операции С++
ОперацииОбозначение УсловиеКраткое описание
И && a == 3 && b > 4 Составное условие истинно, если истинны оба простых условия
ИЛИ || a == 3 || b > 4 Составное условие истинно, если истинно, хотя бы одно из простых условий
НЕ ! !( a == 3) Условие истинно, если a не равно 3

Сейчас следует понять разницу между логической операцией И и логической операцией ИЛИ , чтобы в дальнейшем не путаться. Пришло время познакомиться с типом данных bool –логический тип данных. Данный тип данных может принимать два значения: true (истина) и false (ложь). Проверяемое условие в операторах выбора имеет тип данных bool. Рассмотрим принцип работы следующей программы, и все будет понятно со всеми этими логическими операциями.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// or_and_not.cpp: определяет точку входа для консольного приложения.
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main(int argc, char* argv[])
{
    bool a1 = true, a2 = false// объявление логических переменных
    bool a3 = true, a4 = false;
    cout << "Tablica istinnosti log operacii &&" << endl;
    cout << "true  && false: " << ( a1 && a2 )   << endl // логическое И
         << "false && true: "  << ( a2 && a1 )   << endl
         << "true  && true: "  << ( a1 && a3 )   << endl
         << "false && false: " << ( a2 && a4 )   << endl;
    cout << "Tablica istinnosti log operacii ||" << endl;
    cout << "true  || false: " << ( a1 || a2 )   << endl // логическое ИЛИ
         << "false || true: "  << ( a2 || a1 )   << endl
         << "true  || true: "  << ( a1 || a3 )   << endl
         << "false || false: " << ( a2 || a4 )   << endl;
    cout << "Tablica istinnosti log operacii !"  << endl;
    cout << "!true: " << ( ! a1 ) << endl // логическое НЕ
         << "!false: "<< ( ! a2 ) << endl;
    system("pause");
    return 0;
}

Строки 9 и 10 вам должны быть понятны, так как здесь инициализируются переменные типа bool. Причем каждой переменной присваивается значение true или false. Начиная с 9-й строки и заканчивая 20-й, показано использование логических операций. 

 

   
© программирование с нуля самоучитель | самоучитель по программированию | самоучитель по программированию с нуля | курсы программирования | курсы программирования с нуля