Значение большинства операторов вам хорошо известно ещё из начальной школы, кроме разве что операции деления по модулю.
По своей сути этот оператор означает получение остатка от деления. Например, 4 входит в 15 три раза, и остаток при этом составляет 3. Выражаясь терминами С++, 15, делённое по модулю 4, равно 3.
Программисты всегда пытаются удивить непрограммистов, а потому в С++ деление по модулю определяется так:
что эквивалентно
Вот пример:
►Анализ выражений...51
Самый распространённый вид инструкций в С++ — выражение.
_________________
51 стр. Глава 3. Выполнение математических операций
Выражения бывают как сложными, так и крайне простыми. С++ понимает под выражением любой завершённый оператор. Поэтому корректным оператором является, например,
можно выделить пять выражений:
Необычный аспект С++ состоит в том, что выражение само по себе является завершённой инструкцией, т.е. упомянутое выражение
►Определение порядка операций...52
Все операторы выполняют определённые функции. Чтобы установить порядок выполнения различных операторов, им назначены
Если сложение выполнить перед умножением, то значением выражения будет
Приоритеты операций определяют порядок выполнения вычислений. Из табл. 3.1 видно, что приоритет операции умножения выше, чем сложения, т.е. результат всё же равен 7 ( приоритеты используются также в арифметике, и С++ следует именно им ).
А что происходит, когда в одном выражении используется два оператора с одинаковым приоритетом?
Как в этом случае следует поступить: сначала 8 поделить на 4 или 4 на 2? Если в одном выражении присутствуют операции с одинаковыми приоритетами, они выполняются слева направо ( то же правило применяется и в арифметике ). Поэтому в предыдущем примере сперва делим 8 на 4, получая 2, а затем делим его на 2, получая ответ — 1.
В выражении
При вычислении такого выражения
Почему это действительно так? Потому что С++ сначала выполняет операции с высшим приоритетом. А приоритет операций умножения и деления выше, чем сложения и вычитания. Поэтому скобки, указывающие на высокий приоритет данной операции, можно опустить.
На основе сказанного можно сделать вывод: в случае необходимости приоритет оператора можно повысить, используя скобки.
_________________
52 стр. Часть 1. Первое знакомство с С++
►Выполнение унарных операций...53
С арифметическими бинарными операторами вы неоднократно встречались уже с первого класса. О существовании же унарных операций вы могли и не подозревать, хотя наверняка одну из них использовали довольно часто ( имея дело с отрицательными числами ).