Это один из основных операторов для вычисления и сохранения в памяти значения выражения, который имеет вид
переменная = выражение.
Выражениесправа вычисляются и его значение присваивается переменной слева от знака операции присваивания (=). Тип результата выражения приводится к типу переменной слева.
Пример. Преобразование типов данных:
int x; char y; long z;
x = y;
x = x + z;
В первом операторе присваивания значение y преобразуется к типу int. Во втором операторе x справа преобразуется к типу long, а результат выражения x+z преобразуется к типу int переменной x слева.
Если, как в последнем операторе присваивания, переменная находится в левой и правой части, можно образовать составное присваивание.
Пример.
Простое присваивание: Составное присваивание:
x = x + z; x += z;
s = s * (f + 2); s *= f + 2;
c = c + 1; c +=1;
Если, как в последнем примере, переменная изменяется на 1 можно использовать сокращенную форму присваивания с помощью операции ++ (увеличение на 1) или – – (уменьшение на 1).
Применяются две формы таких операциий:
|
|
1. Префиксная, когда знак операции стоит перед операндом:
++ с; – – с;
при этом операнд изменяется на 1 и его новое значение участвует в выражении.
2. Постфиксная, когда знак операции стоит после операнда:
c++; c– –;
при этом операнд сначала участвует в выражении со старым значением, затем операнд изменяется на 1.
Ясно, что нет никакого различия между результатами выражений ++с или с++. Форма записи операций ++ или – – сказываются в составных выражениях.
Пример. Пусть даны описания переменных:
int x = 1, p = 2, r;
Тогда r = ++ x + p; / * x = 2, результат r = 4 */, а
r = p + x ++; / * x = 2, результат r = 3 */.
Цепочкой присваиваний можно задать одно значение нескольким переменным, например,
x = y = z = 0;