Замечание. Для старых компиляторов результат операции отношения и логической может быть целым числом, принимающим значение 0 или 1
Для старых компиляторов результат операции отношения и логической может быть целым числом, принимающим значение 0 или 1. Это различие носит в основном академический характер, потому что С++, как это уже отмечалось, автоматически преобразует true в 1, a false в 0 и наоборот. Операнды, участвующие в операции отношения, могут принадлежать почти любому типу; необходимо только, чтобы их сравнение имело смысл. Операнды логической операции должны образовывать истинный или ложный результат. Поскольку ненулевое значение истинно, а нулевое ложно, это означает, что логические операторы допустимо использовать с любым выражением, дающим нулевой или ненулевой результат. Логические операторы используются для поддержки базовых логических операций И (AND), ИЛИ (OR) и НЕ (NOT), согласно следующей таблице истинности:
Оба типа операторов, и логические, и отношения, имеют более низкий приоритет, чем арифметические операторы. Это означает, что выражение вроде 10 > 1 + 12 дает тот же результат, что и вариант 10 > (1 + 12). Результат, разумеется, ложен. С помощью логических операторов можно объединять любое количество операторов отношения. Например, в этом выражении объединены три оператора отношения:
var > 15 ||!(10< count) && 3 <= item
3.3. Операторы выбора в С++ Язык С++ предоставляет программисту три типа структур выбора в форме операторов. В операторе выбора if некоторое действие либо выполняется (выбирается), если условие истинно, либо пропускается, если это условие ложно. В операторе выбора if..else некоторое действие выполняется, если условие истинно, и выполняется другое действие, если это условие ложно. В операторе выбора switch выполняется одно из набора различных действий в зависимости от значения некоторого выражения. В языке С++ также существует четвертый оператор выбора - тернарный условный оператор?:, который является альтернативой оператору if..else. Оператор if является структурой с одиночным выбором, поскольку в нем выбирается или игнорируется одно действие. Оператор if..else является структурой с двойным выбором, поскольку в нем выбор происходит между двумя альтернативными действиями. Оператор switch является структурой с множественным выбором, поскольку в нем выбор происходит из нескольких различных действий.
|