Лекция: Оператор присваивания и его сокращенные формы
Некоторые примеры операторов присваивания уже приводились ранее в этом раз-деле и в разделе «Краткая справка по языку C и разработке консольных приложений в среде Visual C++ 2008». Однако этими примерами не исчерпывается всё многообразие форм записи и правил использования операторов присваивания языка C. Ниже в данном и следующих разделах приведено более детальное рассмотрение этих вопросов.
Одним из знаков оператора присваивания, как указывалось ранее, является знак =. Справа от него записывается выражение (в частном случае константа, переменная или вызов функции), а слева – переменная, которая получит вычисленное значение выраже-ния (правила записи и вычисления выражений представлены в следующем разделе). На-пример,
int I=5, K; float X, Y=2.3;
double Z = 1.0e-2;
const float pi = 3.1415926535;
X = tan(pi/3); //X получит значение 1.732
Типы переменной и выражения могут не совпадать. В этом случае перед присваи-ванием значение выражения автоматически преобразуется к типу переменной. Если пе-ременная имеет тип целый, а выражение – вещественный, то перед преобразованием ти-па дробная часть отбрасывается, например,
K = -tan(pi/3); //K получит значение -1
Есть и сокращенные формы операторов присваивания. Они бывают двух видов:
одноместные и двуместные.
Знаками одноместных операторов присваивания являются составные знаки ++ (рядом два знака +) и — (рядом два знака -), обозначающие соответственно увеличение на 1 (инкрементацию) и уменьшение на 1 (декрементацию) переменной, рядом с кото-рой они расположены. Эти знаки могут располагаться либо перед, либо после перемен-ной, которую требуется увеличить или уменьшить на 1, и это не имеет значения, если та-кой оператор не является частью выражения, где следует учитывать приоритеты опера-ций. Например,
«Практикум по программированию на языке C в среде VS C++»
I--; // то же, что и оператор I = I-1;, и оператор –-I; ++I; // то же, что и оператор I = I+1;, и оператор I++;
Знаками двуместных операторов присваивания являются составные знаки, со-
стоящие из знака операции (для числовых данных это знаки + — * / %) и знака =. Так, е с-ли X — переменная, которой присваивается новое значение, а W выражение, то оператор
X += W; X -= W; X *= W; X /= W; X %= W;
// эквивалентен оператору X = X + W,
// эквивалентен оператору X = X – W,
// эквивалентен оператору X = X * W,
// эквивалентен оператору X = X / W,
// эквивалентен оператору X = X % W.