Составные операторы присваивания c

Составные операторы присваивания c

Присваивание является одной из центральных конструкций в императивных языках программирования. Оно обеспечивает механизм, с помощью ко­торого пользователь может динамически изменять связи значений с переменными. В следующем разделе рассмотрена простейшая форма присваивания, а далее следует опи­сание различных альтернатив.

Язык Ruby (придуман японцами) – язык объектно-ориентированного типа. Для сокращения записи программ используются составные операторы присваивания : a = a + b ; => a += b ;. Унарный оператор присваивания :a = a — 1; => a—; илиa;

Общий синтаксис простого присваивания выглядит следующим образом:

В качестве оператора присваивания в языках FORTRAN, BASIC, PL/I, С, C++ и Java использован знак равенства. Если этот же знак параллельно используется в качестве опе­ратора отношения, то может возникнуть пу­таница. Например, в выражении языка PL/I А = В = С переменной А присваивается булевское значение выражения отношения В = С, хотя, на первый взгляд, все три переменные приравниваются друг к другу. В других языках, ис­пользующих знак = в качестве оператора присваивания, для оператора отношения равен­ства используется другой оператор, что позволяет избежать перегрузки оператора при­сваивания.

Множественные целевые объекты

Одной из альтернатив простого оператора присваивания является возможность при­сваивания значения выражения нескольким объектам. Например, в языке PL/I оператор SUM, TOTAL =0. Одновременно присваивает нулевое значение переменным SUM и TOTAL. Присвоение значений нескольким целевым объектам удобно, но не очень важно. Эффекта множественного присваивания можно добиться с помощью оператора при­сваивания в языках С, C++ и Java.

Условные целевые объекты

Языки C++ и Java допускают использование в операторах присваивания условных це­левых объектов. Например, выражение

flag ? countl : count2 = О эквивалентно следующему:

if (flag) countl = 0 ; else count2 = 0 ;

Составные операторы присваивания

Составной оператор присваивания позволяет сокращенно задавать часто используе­мую форму присваивания. С помощью этого метода можно сократить запись присваива­ния, при котором целевая переменная используется в качестве первого операнда в пра­вой части выражения, например: а = а + Ъ. Синтаксис составного оператора присваивания языка С представляет собой объединение нужного бинарного оператора и оператора =. Например, выражение

Читайте также:  Как зациклить видео на компьютере

sum += value; эквивалентно выражению

sum = sum + value;

В языках С, C++ и Java версии составных операторов присваивания существуют для большинства бинарных операторов этих языков.

Унарные операторы присваивания

В языках С, C++ и Java есть два специальных унарных арифметических оператора, представляющих собой действительно сокращенные присваивания. Эти операторы соче­тают операции увеличения и уменьшения с присваиванием. Операторы ++ для увеличе­ния и — для уменьшения могут использоваться как в выражениях, так и для выполнения присваивания. Они могут появляться как префиксные операторы (т.е. перед операндами) или как постфиксные (т.е. после операндов). В операторе присваивания sum = ++ count;

Значение переменной count увеличивается на 1 и присваивается переменной sum. To же самое действие можно задать следующими операторами: count = count + 1; sum = count;

Постфиксный оператор sum = count ++; вначале присваивает значение переменной count переменной sum, после чего перемен­ная count увеличит свое значение на 1. То же действие можно задать следующими опе­раторами: sum = count; count = count + 1;

Ниже приведен пример использования оператора инкрементации для формирования завершенного оператора присваивания count ++; значение переменной count в нем просто увеличивается на 1. Хотя это и не выглядит присваиванием, но оно таковым является. Результат выполнения приведенного выше оператора равнозначен результату выполнения присваивания count = count + 1;

При применении двух унарных операторов к одному операнду ассоциативность счи­тается правосторонней. Например, в операторе count ++ вначале происходит увеличение переменной count на 1, а результат этого действия ум­ножается на -1. Следовательно, это выражение эквивалентно выражению — (count ++)

В отличие от выражения, (- count) ++ Операторы инкрементации и декрементации в языках С, C++ и Java часто использу­ются для формирования выражений, содержащих индексы массивов.

Все уроки по C# расположены здесь

На этом уроке мы углубим свои знания по операторам: рассмотрим составные операторы присваивания Эти операторы позволяют изменять значения переменных с помощью арифметических функций, описанных ранее.

Читайте также:  Oracle client 64 bit

Основной оператором присваивания (=) был рассмотрен в этой части учебника по C#. Этот оператор используется для присвоения значения переменным. Мы использовали оператор в каждой части учебника с тех пор, так что никаких дополнительных объяснений не требуется.

Составные операторы присваивания

Существуют дополнительные операторы присваивания, которые можно использовать для изменения значения существующей переменной. Это составные операторы присваивания. Они используются для упрощения кодирования некоторых выражений. Например, используя описанные ранее операторы, можно увеличить значение переменной на десять, используя следующий код

Это выражение эквивалентно выражниею с использованием составного оператора присваивания для сложения (+=). Существуют составные операторы присваивания для каждой из пяти бинарные арифметические операторы (+ — * / % ), которые мы рассматривали ранее. Каждый из них строится с использованием арифметического оператора, за которым следует оператор присваивания. В следующем коде приведены примеры сложения (+=), вычитания (-=), умножения (*=), деления (/=) и модуля (%=)

Составные операторы назначения обеспечивают 2 преимущества. Во-первых, получается более компактный код; их часто называют операторами стенографии по этой причине. Во-вторых, переменная операции или операнд, будут проверяться только один раз в скомпилированном приложении. Это может сделать код более эффективным.

Оператор присваивания и составные операторы присваивания имеют самый низкий приоритет; они отображаются в конце таблицы приоритета операторов.


Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

статьи IT, Уроки по си шарп

Оператор присваивания обозначается одиночным знаком равенства (=). В C# оператор присваивания действует таким же образом, как и в других языках программирования. Ниже приведена его общая форма:

Читайте также:  Мастер импорта сертификатов windows 7

Здесь имя_переменной должно быть совместимо с типом выражения. У оператора присваивания имеется одна интересная особенность, о которой вам будет полезно знать: он позволяет создавать цепочку операций присваивания. Рассмотрим следующий фрагмент кода:

В приведенном выше фрагменте кода одно и то же значение 10 задается для переменных х, у и z с помощью единственного оператора присваивания. Это значение присваивается сначала переменной z, затем переменной у и, наконец, переменной х. Такой способ присваивания "по цепочке" удобен для задания общего значения целой группе переменных.

Составные операторы присваивания

В C# предусмотрены специальные составные операторы присваивания, упрощающие программирование некоторых операций присваивания. Обратимся сначала к простому примеру:

Пара операторов += указывает компилятору на то, что переменной х должно быть присвоено ее первоначальное значение, увеличенное на 1.

Для многих двоичных операций, т.е. операций, требующих наличия двух операндов, существуют отдельные составные операторы присваивания. Общая форма всех этих операторов имеет следующий вид:

имя переменной op = выражение

где op — арифметический или логический оператор, применяемый вместе с оператором присваивания. Ниже перечислены составные операторы присваивания для арифметических и логических операций:

Составные операторы присваивания C#

Оператор Аналог (выражение из вышеуказанного примера)
+= x = x + 1;
-= x = x — 1;
*= x = x*1;
/= x = x/1;
%= x = x%1;
|= x = x | 1;
^= x = x^1;

Составные операторы присваивания записываются более кратко, чем их несоставные эквиваленты. Поэтому их иногда еще называют укороченными операторами присваивания.

У составных операторов присваивания имеются два главных преимущества. Во-первых, они более компактны, чем их "несокращенные" эквиваленты. И во-вторых, они дают более эффективный исполняемый код, поскольку левый операнд этих операторов вычисляется только один раз. Именно по этим причинам составные операторы присваивания чаще всего применяются в программах, профессионально написанных на C#.

Ссылка на основную публикацию
Совместимость ssd с ноутбуками
Вопрос совместимости Многие пользователи интересуются совместимостью материнской платы и SSD, который они купили или хотят купить. Опыт показывает, что не...
Скрыть не интересуюсь уже купил спам мешает
"Яндекс" запустил опцию "Скрыть объявление" на сайтах входящих в Рекламную сеть Яндекса. Опция позволяет отключить показ рекламных объявлений, которые в...
Слабо работает интернет что делать
Как настроить роутер, как настроить модем, как настроить оптический терминал. Настройка роутера по http://192.168.1.1 или http://192.168.0.1 Что делать если медленно...
Совместимость ремешков apple watch
Здесь приводятся общие инструкции, которые помогут Вам снять, поменять и застегнуть ремешок. В случае смены ремешка убедитесь, что размеры используемого...
Adblock detector