Читать «С++ для "чайников" .» онлайн - страница 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

Все операторы выполняют определённые функции. Чтобы установить порядок выполнения различных операторов, им назначены приоритеты. Рассмотрим выражение