Операции подобны встроенным функциям языка. Они применяются к выражениям – операндам. Большинство операций имеют два операнда, один из которых помещается перед знаком операции, а другой – после. Такие операции называются бинарными. Существуют и унарные операции, имеющие только один операнд, как правило, помещаемый после знака операции.
В сложных выражениях последовательность выполнения операций определяется скобками, старшинством операций, а при одинаковом старшинстве – ассоциативностью операций.
Арифметические операции. Арифметические операции применяются к действительным и целым числам, существуют следующие арифметические операции:
Таблица 3
Бинарные арифметические операции
| Обозначение | Операция | Пример |
| + | сложение | X + Y |
| - | вычитание | X - Y |
| * | умножение | X * Y |
| / | деление | X / Y |
| % | Остаток целочисленного деления | I % 6 |
Таблица 4
Унарные арифметические операции
| Обозначение | Операция | Пример |
| + | Унарный плюс (подтверждение знака) | +7 |
| - | Унарный минус (изменение знака) | -Х |
| ++ | инкремент | i++ |
| -- | декремент | i-- |
Для арифметических операций действуют следующие правила:
§ Бинарные операции сложения (+) и вычитания (-) применимы к целым и действительным числам.
§ В операциях умножения (*) и деления (/) операнды могут быть любых арифметических типов. При разных типах операндов применяются стандартные правила автоматического приведения типов.
§ В операции вычисления остатка от деления (%) оба операнда должны быть целыми числами.
§ В операциях деления и вычисления остатка второй операнд не может быть равен нулю. Если оба операнда в этих операциях целые, а результат деления является не целым числом, то знак результата вычисления остатка совпадет со знаком первого операнда. Округление всегда осуществляется по направлению к нулю.
§ Унарные операции инкремента (++) и декремента (--) сводятся к увеличению (++) или уменьшению (--) операнда на единицу. Операции применимы к операндам, представляющим собой выражения любых арифметических типов. Причем выражение должно быть модифицируемым значением, т.е. должно допускать изменение. Например, ошибочным является выражение (а+b)++, поскольку (a+b) не является переменной, которую можно модифицировать.
§ Операции инкремента и декремента выполняются быстрее, чем обычное сложение и вычитание. Поэтому, если переменная а должна быть увеличена на 1, лучше применить операцию (++), чем выражения а=а+1.
Операции присваивания. В Си++ определен ряд операций присваивания.
Таблица 5
Операции присваивания
| Обозначение | Операция | Пример |
| = | Присваивание | X=Y |
| += | Присваивание со сложением | Х+=Y |
| -= | Присваивание с вычитанием | Х-=Y |
| *= | Присваивание с умножением | Х*=Y |
| /= | Присваивание с делением | Х/=Y |
| %= | Присваивание остатка целочисленного деления | Х%=Y |
| <= | Присваивание со сдвигом влево | Х<=Y |
| >= | Присваивание со сдвигом вправо | Х>=Y |
| &= | Присваивание с поразрядной операцией И | Х&=Y |
| ^= | Присваивание с поразрядной операцией исключающее ИЛИ | Х^=Y |
| |= | Присваивание с поразрядной операцией ИЛИ | Х|=Y |
Помимо простой операции присваивания (=) все прочие являются составными операциями. Они присваивают первому операнду результат применения соответствующей простой операции, указанной перед символом (=), к первому и второму операндам. Например, выражение X+=Y эквивалентно выражению X=X+Y, но записывается компактнее и может выполнятся быстрее. Аналогично определяются и другие операции присваивания: X%=Y эквивалентно X=X%Y и т.д.
При записи составных операций присваивания между символом операции и знаком равенства пробел не допускается.
В операциях присваивания первый операнд не может быть нулевым указателям.
Дата: 2019-02-02, просмотров: 352.