Читать «С++ для "чайников" .» онлайн - страница 34
Стефан Рэнди Дэвис
2 — -- ( унарный ) — Оператор декремента, уменьшает значение аргумента на 1
3 — * ( бинарный ) — Умножение
3 — / ( бинарный ) — Деление
3 — % ( бинарный ) — Остаток ( деление по модулю )
4 — + ( бинарный ) — Сложение
4 — - ( бинарный ) — Вычитание
5 — =, *=, %=, +=, -= ( специальные ) — Операторы присвоения
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Как видите, операторы умножения, деления, деления по модулю, сложения и вычитания имеют вид обычных математических операций. Да они и работают так же, как соответствующие им арифметические операции:
float var = 133 / 12 ;
Значение большинства операторов вам хорошо известно ещё из начальной школы, кроме разве что операции деления по модулю.
По своей сути этот оператор означает получение остатка от деления. Например, 4 входит в 15 три раза, и остаток при этом составляет 3. Выражаясь терминами С++, 15, делённое по модулю 4, равно 3.
int var = 15 % 4 ; /*переменной var присваивается значение 3 */
Программисты всегда пытаются удивить непрограммистов, а потому в С++ деление по модулю определяется так:
IntValue % IntDivisor
что эквивалентно
IntValue - ( IntValue / IntDivisor ) * IntDivisor
Вот пример:
15 % 4 равно 15 - ( 15/4 ) * 4
15 - 3 * 4
15 - 12
3
«Для действительных переменных оператор деления по модулю не определён, поскольку он целиком основан на использовании округления ( округления рассматривались в ).»
[]
►Анализ выражений...51
Самый распространённый вид инструкций в С++ — выражение. Выражением в С++ называют любую последовательность операторов ( длиной не меньше одного ), которая возвращает значение. Все выражения типизированы. Тип выражения определяется типом возвращаемого значения. Например, значение выражения 1 + 2 равняется 3, следовательно, это целочисленное выражение ( тут нужно вспомнить, что константы без дробной части определяются как имеющие тип int ). Синтаксическая конструкция, включающая математический оператор, является выражением, так как в результате выполнения любой операции получается число.
_________________
51 стр. . Выполнение математических операций
Выражения бывают как сложными, так и крайне простыми. С++ понимает под выражением любой завершённый оператор. Поэтому корректным оператором является, например, 1 ;. Он тоже представляет собой выражение, потому что его значение 1, а тип int. В операторе
z = х * у + w;
можно выделить пять выражений:
x * у + w
x * у
x
y
w
Необычный аспект С++ состоит в том, что выражение само по себе является завершённой инструкцией, т.е. упомянутое выражение 1 ; — завершённая инструкция С++.
►Определение порядка операций...52
Все операторы выполняют определённые функции. Чтобы установить порядок выполнения различных операторов, им назначены приоритеты. Рассмотрим выражение