Операторы уменьшения и увеличения

Views: 344


Операторы уменьшения и увеличения

Оператор увеличения (++) и оператор уменьшения (–) увеличить или уменьшить на единицу значение, хранящееся в переменной. Они эквивалентны += 1 и -=1, соответственно. Таким образом:

c++;
c+=1;
c=c+1;

все эквивалентны в своей функциональности: три из них увеличить на единицу значение c.

Особенностью этого оператора является, что она может использоваться в качестве префикса и суффикса. Это означает, что оно может быть написано либо до идентификатора переменной (++) или после него (++). Хотя в простых выражениях как а++ или ++а оба имеют одно и тоже значение, в другие выражения, в которых результат операции увеличение или уменьшение оценивается как значение внешнем выражении и они могут оказывать важное различие в их смысле.

В случае, если оператор увеличения используется как префикса (++а) значение увеличивается до того, как вычисляется результат выражения и поэтому увеличение значения рассматривается внешнее выражение; в случае, если оно используется в качестве суффикса (а++) значение, хранящееся в переменной увеличивается после операции. Обратите внимание на разницу:

Пример 1 Пример 2
B = 3;
A = ++B; //A содержит 4, B содержит 4
B = 3;
A = B++; //A содержит 3, B содержит 4

В примере 1, B увеличивается до того, как его значение копируется A. В примере 2, A копируется значение b и затем b увеличивается.


Это может быть интересно


  • AD9833 – Programmable Waveform Generator – part twoAD9833 – Programmable Waveform Generator – part two
    Views: 1967 Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в …
  • LED модуль P10C4V12LED модуль P10C4V12
    Views: 3324 LED панели на обычных регистрах типа 74HC595. Они выпускаются как монохромные так двух и полно цветные, особенность, что они предназначены для текстовой информации и имеют один уровень яркости. Общую яркость …
  • OLED RET012864E/REX012864JOLED RET012864E/REX012864J
    Views: 1606 RET012864E/REX012864J ОЛЕД индикатор производитель Raystar-Optronics приобретался в http://www.microchip.ua/ к сожалению никакой информации на сайте поставщика нет. Поэтому решил работу с этой версией индикатора на драйвере SSD1305 предоставить на своем сайте. Так как …
  • Цифровой спидометр для автомобиляЦифровой спидометр для автомобиля
    Views: 10320  Универсальность печатной платы ch-c0030pcb позволяет создавать на её основе разнообразные устройства. Одним из таких устройств является электронный спидометр для автомобиля, в котором можно задать два компаратора скорости, например,  для …
  • Простой цифровой милливольтметр постоянного токаПростой цифровой милливольтметр постоянного тока
    Views: 4230 Простой цифровой вольтметр постоянного тока. Три диапазона измерений с автоматическим переключением 1 – 0,001 – 0,999 V, 2 – 0,01-9,99 V, 3 – 0,1-99,9. Четыре управляемых выхода с возможностью задания функции контроля …
  • MTouch® Модуль Емкостной Библиотеки для MPLAB®X Code Configurator (MCC)MTouch® Модуль Емкостной Библиотеки для MPLAB®X Code Configurator (MCC)
    Views: 1441 Введение MTouch ® Модуль Емкостной Библиотеки для MPLAB ® X Code Configurator (MCC) позволяет быстро и легко генерировать решение кода на  Cи для емкостной сенсорной кнопки, датчика приближения и слайдера.
  • LCD драйвер – UC1601sLCD драйвер – UC1601s
    Views: 1836 http://svetomuzyka.narod.ru/project/UC1601s.html Читайте обновление на http://catcatcat.d-lan.dp.ua/?page_id=178 В данный момент можно приобрести в ООО “Гамма” несколько типов индикаторов на драйвере UC1601s. RDX0048-GC, RDX0077-GS, RDX0154-GC и RDX0120-GC выполнены по технологии COG.
  • Дифференциальный терморегуляторДифференциальный терморегулятор
    Views: 4163 Дифференциальный терморегулятор ch-3020 Назначение. Ch-c3020 представляет собой дифференциальный терморегулятор. Основное назначение солнечные системы горячего водоснабжения, а также вентиляционные системы управление притоком свежего воздуха. Контроллер позволяет работать пяти режимах. …
  • Проект с использованием MCC часть 15Проект с использованием MCC часть 15
    Views: 1780 EUSART – Универсальный асинхронный приёмопередатчик (УАПП, англ. Universal Asynchronous Receiver-Transmitter, UART) — узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами. … читать на вики. Внесем изменения в нашу схему, …
  • Бегущие огни на WS2812BБегущие огни на WS2812B
    Views: 5055 В настоящее время большой популярностью стали пользоваться светодиоды со встроенным драйвером WS2812B. Текущий проект предназначен показать возможность использования и управления этими светодиодами. Это и проект и исследование по …




Поделись этим!