C инкремент и декремент: Increment ++ and Decrement — Operator as Prefix and Postfix

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

Кеннет Лерой Басби

Обзор

Операторы инкремента и декремента — это унарные операторы, которые соответственно добавляют или вычитают единицу из своего операнда. Они обычно реализуются на императивных языках программирования. [1]

Обсуждение

Идея увеличения или уменьшения заключается в добавлении или вычитании 1 из переменной, которая обычно действует как флаг. Использование переменной с именем counter; в общих чертах, например:

увеличить счетчик

Концепция:

счетчику присвоен счетчик + 1

То есть вы получаете существующее значение счетчика и добавляете его, а затем сохраняете ответ обратно в переменную counter. Многие языки программирования позволяют использовать свои операторы инкремента и декремента только с целочисленным типом данных. Программисты иногда используют inc и dec как аббревиатуры для увеличения и уменьшения соответственно.

Символы и/или имена операторов различаются в зависимости от языка программирования. Несколько языков программирования поддерживают операторы увеличения и уменьшения:

Оператор Значение
++ приращение, два плюса
-- уменьшение, два минуса

Примеры кода

Базовая концепция

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

счетчик = счетчик + 1;

счетчик += 1;

счетчик++;

++счетчик;

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

Инкремент постфикса

Инкремент Postfix говорит использовать мое существующее значение, когда вы закончите с другими операторами; увеличить меня. Пример:

 int самый старый = 44;
возраст = старший++; 

Первое использование самой старой переменной — это контекст Rvalue, в котором существующее значение 44 извлекается или извлекается, а затем присваивается переменной age; затем самая старая переменная увеличивается, и ее значение изменяется с 44 на 45. Это кажется нарушением приоритета, поскольку приращение имеет более высокий приоритет, чем присваивание. Но именно так работает постфиксное приращение.

Приращение префикса

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

 int самый старый = 44;
возраст = ++старший; 

Самая старая переменная увеличивается с новым значением, которое изменяется с 44 на 45; затем новое значение присваивается возрасту.

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

Допустимые типы данных

В некоторых языках программирования увеличение и уменьшение можно использовать только для целочисленного типа данных. Другие языки распространяют это не только на все целочисленное семейство, но и на семейство с плавающей запятой (float и double). Увеличение 3,87 изменит значение на 4,87. Уменьшение «C» изменит значение на «B». Помните, что значения символов ASCII на самом деле представляют собой однобайтовые целые числа без знака (домен от 0 до 255).

Упражнения

Оцените следующие элементы, используя приращение или уменьшение:

  1. Верно или неверно: x = x +1 и x+=1 и x++ все выполняют приращение?
  2. Дано: int y = 19; и инт г; какие значения будут иметь y и z после: z = y–;
  3. Дано: двойное х = 7,77; и у; какие значения будут иметь x и y после: y = ++x;
  4. Это нормально? Почему или почему нет? 6 * ++(возраст -3)

Основные термины

уменьшение
Вычитание единицы из значения переменной.
шаг
Добавление единицы к значению переменной.
постфикс
Размещение оператора увеличения или уменьшения справа от операнда.
префикс
Размещение оператора увеличения или уменьшения слева от операнда.

Каталожные номера

  • cnx. org: Основы программирования — модульный структурированный подход с использованием C++

  1. Википедия: Операторы инкремента и декремента ↵

Научитесь кодировать онлайн бесплатно с Codzify.com

Мы обучали многих молодых специалистов, а также учащихся средних школ.

А
Анкита Сингхай

«Я прохожу курс по науке о данных в Codzify уже 4 месяца. Он делает свои уроки эффективными, увлекательными и четкими. Кроме того, мы получаем рекомендации и советы по карьере на той же платформе в соответствии с наукой о данных. Это отличный опыт для обучения наука о данных в Codzify, поддерживаемая подходом и методами обучения IIT».

А
Айшвария Тхакур

«Я присоединился к codzify, чтобы получить карьерный переход в самую процветающую технологию 20-х годов «Науку о данных».
Я изучаю ML уже пару месяцев. Я полностью впечатлен качеством контента и концепций, объясненных в кодзифай.
Я рекомендую выбрать курсы в codzify»

Т
Таниш Теджасви М С

«Это отличный опыт в Codzify. Мы учимся программировать на собственном опыте. Мы разрабатываем дизайн веб-сайтов, таких как Facebook, YouTube, Instagram и т. д., для лучшего понимания. Наши сомнения очень хорошо развеяны примерами сэра Маниша. Это отличный способ научиться программировать с Codzify»

М
Мрунмайи Боргаонкар

«Я учусь на курсе по науке о данных в Codzify. Преподаватели здесь очень хорошо осведомлены, и каждому студенту уделяется личное внимание. В целом очень приятно учиться с Codzify.»

М
Маянк Мальвия

«После прохождения курса машинного обучения в Codzify я чувствую, что открываюсь для мира возможностей и расширяю кругозор. В профессиональном плане то, что казалось надуманным, теперь кажется возможным. Углубленные занятия в Codzify дали мне уверенность в том, что я умею программировать в Python и решать сложные задачи машинного обучения. Способность преподавателей понимать, «что будет трудно понять студентам», действительно заметна. Я определенно рекомендую учиться с наставниками Codzify.
Жажда преподавания здесь завидна. »

Б
Банмит Сингх Арнеджа

«Я испытываю внимание на личном уровне, которое не только помогает мне направить мои мысли в правильное русло, но также помогает мне сомневаться в логике, лежащей в основе кода. У меня большой опыт общения с сэром Манишем, который очень мягок, как я. я всегда жду моего следующего занятия с ним».

Д
Дхайрия Кукреджа

«Теперь я могу создавать веб-страницы, такие как Google, Facebook.


Опубликовано

в

от

Метки:

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *