Программирование так или иначе является продолжением нашей жизни. Само по себе оно смысла не имеет. И многие вещи в программировании, если их рассматривать отдельно от человеческой деятельности, могут показаться сложными. Однако в большинстве случаев ничего сложного в этом нет. Мы часто используем в жизни какие-то вещи, являющиеся частью программирования, даже не замечая этого.
Например, логические операторы. Для новичка звучит грозно и не очень понятно. А на самом деле всё крайне просто, только слова незнакомые.
Есть ДА и есть НЕТ (это логические 1 и 0). И есть ЛОЖЬ, а есть ИСТИНА. В большинстве языков программирования это даже переводить не надо. Потому что почти во всех языках имеется логический тип данных, который содержит лишь два значения: FALSE (ЛОЖЬ) и TRUE (истина). Правда, например, в С++, эти слова обязательно должны записываться маленькими буквами, то есть false и true.
И, поскольку существуют логические значения, то существуют и какие-то действия (операции) с этими значениями (логические операции). А раз есть логические операции, то есть и логические операторы.
Какие это действия (операции) и какие это операторы?
В простых случаях это действия из повседневной жизни. Например, мы идём в магазин, чтобы купить хлеб И молоко. Здесь И - это логический оператор, который выполняет логическую операцию объединения хлеба и молока (ну здесь слово “объединение” не совсем верно, но зато понятно).
А если магазин расположен далеко, то мы поедем туда на автобусе ИЛИ на такси, ЕСЛИ у нас хватит денег.
Здесь ИЛИ - это тоже логический оператор в операции выбора, а ЕСЛИ - это оператор выбора (назовём его пока так). Поскольку нам часто приходится в жизни делать выбор, то в программировании тоже существует практически во всех языках ключевое слово IF (если).
Однако выбор может быть более сложным, и тогда придётся отрабатывать больше вариантов. Например:
ЕСЛИ у нас есть деньги, мы поедем на автобусе ИЛИ такси,
ИНАЧЕ (если денег нет) пойдём пешком
Логические операторы можно разделить на два вида. Первый - это простые случаи, такие как пример выше. Такие действия мы часто совершаем в жизни.
Второй вид используется только в программировании - это поразрядные (побитовые) операции. Такие операторы позволяют работать не просто с числами, а с каждым битом (разрядом) числа по отдельности. Однако во многих языках, например, в Паскале, например, оператор логического И внешне ничем не отличается от оператора поразрядного И. А вот в С/С++ для поразрядных операций имеется особая группа операторов.
Чаще всего логические операторы используются в операциях сравнения. Например, выражение
(10 > 9)
является истинным (понятно почему). Результат этого выражения можно записать в переменную логического типа. В Паскале это будет так:
var Res : boolean; //Здесь Res = FALSE
Res := (10 > 9); //Здесь Res = TRUE
А вот список основных логических операторов в Паскале (в других языках они могут немного отличаться):
- = (равенство; истинно, если значение левого аргумента совпадает со значением правого аргумента)
- <> (неравенство; истинно, если значение левого аргумента НЕ совпадает со значением правого аргумента)
- > (больше; истинно, если значение левого аргумента больше значения правого аргумента)
- < (меньше; истинно, если значение левого аргумента меньше значения правого аргумента)
- >= (больше или равно; истинно, если значение левого аргумента больше или равно значению правого аргумента)
- <= (меньше или равно; истинно, если значение левого аргумента меньше или равно значению правого аргумента)
- and (логическое И; истинно, если значения левого И правого аргумента являются истиной)
- or (логическое ИЛИ; истинно, если хотя бы одно из значений левого ИЛИ правого аргумента являются истиной)
- not (логическое НЕ; инвертирует значение аргумента, то есть истину делает ложью и наоборот)
Это лишь самые основы. Чуть больше сведений можно найти здесь и здесь.
Краткое знакомство с логическими операторами на этом закончим. Подписывайтесь на канал, чтобы ничего не пропустить.