Операция присваивания: =
Операция присваивания: =
В языке Си знак равенства не означает "равно". Он означает операцию присваивания некоторого значения. С помощью оператора
bmw = 2002,
переменной с именем bmw присваивается значение 2002, т.е. элемент слева от знака = - это имя переменной, а элемент справа - ее значение. Мы называем символ = "операцией присваивания". Еще раз хотим обратить ваше внимание на то, что смысл указанной строки не выражается словами "bmw равно 2002". Вместо этого нужно говорить так "присвоить переменной bmw значение 2002". В этой операции действие выполняется справа налево.
Возможно, различие между именем переменной и ее значением покажется вам незначительным. В таком случае давайте рассмотрим следующий сравнительно часто используемый при программировании оператор
i =i + 1;
С математической точки зрения это бессмыслица. Если вы прибавляете единицу к конечному числу, результат не может быть равен исходному числу. Но как оператор присваивания данная строка имеет вполне определенный смысл, который можно выразить, например, такой длинной фразой "Взять значение переменной с именем i, к нему прибавить 1, а затем присвоить новое значение переменной с именем i".
i = i + 1,
РИС. 5.1.
Оператор вида
2002 = bmw,
на языке Си не имеет смысла, поскольку 2002 - число. Вы не можете присвоить константе какое-то значение; ее значением является она сама. Поэтому, сидя за клавиатурой, помните, что элемент, стоящий слева от знака =, всегда должен быть именем переменной.
Тем из вас, кто предпочитает знать правильные названия понятий, скажем, что вместо использованного ранее термина "элемент" обычно употребляют слово "операнд". Операнды - это то, над чем выполняются операции. Например, вы можете описать процесс "поедания" гамбургера как применение операции "поедание" к oпeранду "гамбургер".
Операция присваивания в языке Си представляется несколько более интересной, чем в большинстве других языков. Попробуйте выполнить приведенную ниже короткую программу.
/* таблица результатов турнира по гольфу */
main( ) {
int Jane, tarzan, cheeta, cheeta = tarzan = jane = 68;
printf("cheeta tarzan jane ");
printf("Cчетпервойпартии%4d %8d %8d ", cheeta, tarzan, jane);
}
В то время как многие языки запрещают применять такое троиное присваивание, присутствующее в данной программе, для Си это обычная практика. Присваивания выполняются справа налево сначала переменная jane получает значение 68, затем переменная tarzan и наконец переменная cheeta. Результат выглядит так:
cheeta tarzan jane
Счет первой партии 68 68 68
В языке Си имеется несколько других операции присваивания, которые отличаются от операции, описанной в данном разделе, и мы обещаем рассказать о них в следующей главе.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Операторы присваивания
Операторы присваивания В JScript, как и в языке С, для изменения содержимого переменных можно комбинировать оператор присваивания "=" с другими операторами (табл. П1.6).Таблица П1.6. Комбинации оператора присваивания и других операторов Оператор Описание = Простое
Операторы присваивания
Операторы присваивания Оператор присваивания = нам уже знаком. Его еще называют оператором простого присваивания, поскольку он просто присваивает переменной новое значение:a = 2;b = c = 3;Второе выражение в приведенном примере выполняет присвоение значения 3 сразу двум
Оператор присваивания
Оператор присваивания x = … – пусть x будет…
R.5.17 Операции присваивания
R.5.17 Операции присваивания Существует несколько операций присваивания, все они выполняются справа налево. Для всех них требуется, чтобы левым операндом был изменяемый адрес. Тип выражения присваивания совпадает с типом левого операнда. Результат операции присваивание -
R.13.4.3 Присваивания
R.13.4.3 Присваивания Функция присваивания operator=() должна быть нестатической функцией-членом. Она не наследуется (§R.12.8). Более того, если пользователь не определил для класса X функцию operator=, то используется стандартная функция operator=, которая определяется как присваивание по
Операторы присваивания
Операторы присваивания Операторы присваивания приписывают переменным или свойствам объектов конкретные значения. Такие операторы всегда состоят из трех частей: имени переменной, или свойства, знака равенства и выражения, задающего нужное значение.Термин выражение я
Оператор присваивания
Оператор присваивания Слева от оператора присваивания := указывается переменная или свойство объекта, а справа — некоторое значение или выражение. Тип значения или результат выражения должен соответствовать типу переменной или
II. Операции присваивания
II. Операции присваивания = Присваивает значение, указанное справа, переменной, стоящей слеваКаждая из приводимых ниже операции изменяет переменную, стоящую слева, на величину, находящуюся справа. Мы используем следующие обозначения: П для правой части и Л для левой. +
Операции присваивания
Операции присваивания В языке Си имеются следующие операции присваивания: Операция Действие ++ Унарный инкремент -- Унарный декремент = Простое присваивание *= Умножение с присваиванием /= Деление с присваиванием %= Остаток от деления с присваиванием += Сложение с
Оператор присваивания
Оператор присваивания Для класса CObject описан оператор присваивания. Он описан с ключевым словом private и не имеет реализации:private:void operator=(const CObject& src);Таким образом для классов, наследованных от CObject запрещается выполнение операции копирования по умолчанию. Если такая
7.14 Операции Присваивания
7.14 Операции Присваивания Есть много операций присваивания, все группируют слева направо. Все в качестве левого операнда требуют lvalue, и тип выражения присваивания тот же, что и у его левого операнда. Это lvalue не может ссылаться на константу (имя массива, имя функции или const).
Оператор присваивания
Оператор присваивания Оператор присваивания имеет вид: переменная := выражение В качестве переменной может быть простая переменная, разыменованный указатель, переменная с индексами или компонент переменной типа запись. Символ := называется значком присваивания.
Попытка присваивания
Попытка присваивания Наша следующая техника адресуется к тем областям Объектной страны, в которых из страха тиранического поведения мы не можем позволить править простым правилам типизации, не встречая никакого