В этой главе...
►Определение порядка операций 52
►Выполнение унарных операций 53
►Использование операторов присвоения 54
Переменные придуманы математиками не только для того, чтобы было что описывать и в чём сохранять какие-то значения. Над переменными можно выполнять самые разные действия: складывать, перемножать, вычитать и т.д. Список возможных операций достаточно обширен.
Эти основные математические операции используются и в программах С++. Ведь приложения без вычислительных возможностей себя совершенно не оправдывают. Кому нужна страховая программа, которая не может подсчитать даже суммы взносов?
Операции С++ внешне идентичны обыкновенным арифметическим операциям, выполняемым на клочке бумаги; разве что применяемые в вычислениях переменные перед использованием нужно объявлять:
int var1 ;
int var2 = 1 ;
var1 = 2 * var2 ;
В этом примере объявлены две переменные, var1 и var2. Переменной var2 присвоено начальное значение 1, var1 определена как результат удвоения переменной var2.
В этой главе вы найдёте описание всего множества математических операторов С++.
►Бинарная арифметика...50
Бинарными называются операторы, которые имеют два аргумента. В выражениях типа var1 op var2 оператор op бинарный. Самыми распространёнными бинарными операторами являются простые математические операции, изучаемые ещё за школьными партами. Бинарные операции, которые поддерживает С++, приведены в табл. 3.1.
Таблица 3.1. Математические операции в порядке приоритета
_________________
Приоритет — Оператор — Значение
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
1 — + ( унарный ) — Реально ничего не изменяет
1 — - ( унарный ) — Возвращает противоположное по знаку, равное по модулю значение
2 — ++ ( унарный ) — Оператор инкремента, увеличивает значение аргумента на 1
_________________
50 стр. Часть 1. Первое знакомство с С++
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