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

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


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


  • Цифровой тахометр для автомобиля CH-С3300Цифровой тахометр для автомобиля CH-С3300
    Views: 2082  Тахометр Ch-С3300 предназначен для индикации и контроля оборотов, времени работы и максимальных оборотов развиваемых двигателем во время поездки. Датчиком может использоваться как обычный контактный прерыватель или выход датчика …
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09
    Views: 709   September 2023 component base update.  Release updates V.  – 23_09 added new components. Changed the structure of the database. Configuration file name – DXPPreferences1.DXPPrf. Added project CLUBBEST_50_Light. …
  • Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3
    Views: 3732 Технология обновления следующая: Загружаем программу со страницы espressif.com. Разархивируем. Где находятся файлы, для прошивки? Заходим в каталоги Подключаем по схеме в статье WiFi ESP8266 (замыкаем BT2, перемычка). Запускаем программу, …
  • LED драйвер TM1639LED драйвер TM1639
    Views: 2485 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …
  • MPLAB® Code ConfiguratorMPLAB® Code Configurator
    Views: 1825 MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект.
  • Контроллер управления светодиодным освещением с дистанционным управлениемКонтроллер управления светодиодным освещением с дистанционным управлением
    Views: 2077 Все активнее светодиоды входят в нашу жизнь. Всё эффективнее становится светодиодное освещение. Всё ниже опускаются цены. Всё больше появляется возможностей получения сочных цветов, простоты в управлении. Всё чаще …
  • REFERENCE CLOCK OUTPUT MODULEREFERENCE CLOCK OUTPUT MODULE
    Views: 609 REFERENCE CLOCK OUTPUT MODULE Модуль формирования опорного тактового сигнала Модуль опорного тактового сигнала обеспечивает возможность посылать сигнал синхронизации на тактовый опорный выходной контакт или контакты (CLKR) в зависимости от …
  • Простой цифровой вольтметр ch-c3200Простой цифровой вольтметр ch-c3200
    Views: 2667 В этой статье рассмотрен пример создания простого вольтметра постоянного тока на основе печатной платы ch-c0030pcb, а при возможности использования внешнего делителя и вольтметр переменного тока. Дан краткий принцип …
  • Проект с использованием MCC часть 06Проект с использованием MCC часть 06
    Views: 1491 Изменим схему следующим образом добавим две тактовые кнопки BT1 и BT2. Теперь переключимся на конфигурацию выводов, для этого сделаем двойной клик в окне Ресурсы проекта на Pin Module. …
  • Акриловый корпус для платы ch-4000Акриловый корпус для платы ch-4000
    Views: 871 Плата ch-4000 подходит для монтажа в корпуса на дин рейку, но для домашней автоматики необходимо что-то другое, поэтому был разработан корпус из акрила который позволит создавать настольные и настенные устройства. Корпус …




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