§ 3. Основные алгоритмические конструкции
3.2. Логический тип данных
В языке программирования С++ для работы с условиями определен логический тип данных bool. Величины типа bool могут принимать два значения — false (ложь) и true (истина). Значения false и true получаются в результате выполнения операций сравнения над числовыми данными. Сравнивать можно константы, переменные, арифметические и логические выражения. Для сравнения используют следующие знаки:
Логическое выражение — выражение, принимающее одно из двух значений: true или false. Логические выражения можно присваивать переменным типа bool, а также выводить их значения на экран: будет выведено 0 для значения true или 1 для значения false соответственно (пример 3.2). В языке С++ любое числовое значение может восприниматься как логическое. При этом значения, равные нулю, считаются ложью, а не равные нулю — истиной. В С++ допустимы логические выражения следующего вида: bool a = 3 <= x <= 7;. Однако смысл такого выражения не совпадает с математическим. При выполнении программы компилятор сначала проверит истинность условия 3 <= x и заменит его на 0 или 1 в зависимости от того, истинно это условие или нет. Затем произойдет проверка того, что полученное значение меньше либо равно 7. Вне зависимости от истинности первой части условия результат всегда будет истинным, т. к. 0 <= 7 и 1 <= 7. Поэтому значение переменной a всегда будет истинным, и оно не зависит от значения переменной x. |
Тип bool назван в честь английского математика и логика Джорджа Буля, занимавшегося вопросами математической логики в XIX в. Пример 3.2. Примеры логических выражений:
Значение логического выражения y >= x * x можно определить, только зная значения переменных x и y. При x = 2 и y = 10 значение выражения — true. При x = 10 и y = 2 – false. Проверим истинность этих выражений в программе:
Результат работы программы: |