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

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 увеличивается.


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


  • LED драйвер TM1639LED драйвер TM1639
    Views: 2486 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …
  • Temperature measurement with NTC thermistor.Temperature measurement with NTC thermistor.
    Views: 754 Проекты в которых присутствовало измерение температуры начинал с цифровых датчиков, т.к. в них все просто и не надо ничего преобразовывать и вычислять. При использовании цифровых датчиков ты получаешь …
  • AD9833 – Programmable Waveform GeneratorAD9833 – Programmable Waveform Generator
    Views: 3087 Простой генератор звуковых частот на AD9833. Для тестирования БПФ в светомузыке мне нужен был генератор звуковых частот. Я  использовал советский Г3-112, но он себя давно изжил.  Все думал купить …
  • Система AT команд версии V2.0 для ESP8266 и ESP32Система AT команд версии V2.0 для ESP8266 и ESP32
    Views: 13829 Появление нового модуля на базе ESP32 заставило систематизировать систему AT команд, а так же систему обновления и для модулей на базе ESP8266. Начиная с версии v2.0 в ESP8266 …
  • Униполярный шаговый двигательУниполярный шаговый двигатель
    Views: 2483     В приводах различных устройств часто применяются шаговые двигатели, Шаговый двигатели различают двух типов униполярные – когда обмотки коммутируются током текущим только в одну сторону, например при …
  • Цифровой спидометр для автомобиляЦифровой спидометр для автомобиля
    Views: 10322  Универсальность печатной платы ch-c0030pcb позволяет создавать на её основе разнообразные устройства. Одним из таких устройств является электронный спидометр для автомобиля, в котором можно задать два компаратора скорости, например,  для …
  • TDA7294 part 1TDA7294 part 1
    Views: 509 TDA7294 має унікальні дані для створення підсилювачів звукової частоти HI-FI класу. Варіант застосування є конфігурація BRIDGE (мостова схема включення), де використовуються два TDA7294, як показано на схематичній діаграмі …
  • Проект с использованием MCC часть 06Проект с использованием MCC часть 06
    Views: 1516 Изменим схему следующим образом добавим две тактовые кнопки BT1 и BT2. Теперь переключимся на конфигурацию выводов, для этого сделаем двойной клик в окне Ресурсы проекта на Pin Module. …
  • Altium Designer first projectAltium Designer first project
    Views: 552 Эта статья подразумевает, что у вас установлен и настроен Altium Designer как описано в статье  Altium Designer my setup system and project structure.  Обратите внимание! Библиотека постоянно обновляется, …
  • PIC18 – System ArbitrationPIC18 – System Arbitration
    Views: 750 Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый …




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