Основы программирования на С++ для начинающих

Арифметические операции в С++

арифметические операции в с++В современной жизни очень сложно обойтись без арифметических операций. Нам постоянно приходится что-то считать: складывать, умножать, вычитать, делить и т.д. Программирование – не исключение. Вам в 99.9% случаев придется ими пользоваться, при написании своих программ. Бояться их не стоит – все арифметические операции – просты, понятны и знакомы нам со школы.

Рассмотрим арифметические операции в следующей таблице.

арифметические операции в с
Арифметические операции в С++ – рис. 1

Тут особое внимание следует уделить делению по модулю (%). Эта операция достаточно часто используется в решении определённых задач. Пример её применения: если нам необходимо поделить по модулю 9 на 4 (9 % 4), результат будет равен 1 (это остаток – то, что на 4 уже не делится на цело). Еще примеры: 20 % 8 = 4 ( 8 помещается в 20-ти 2 раза: 8 * 2 = 16, 20 – 16 = 4 остаток от деления ), 3 % 2 = 1, 99 % 10 = 9, 9 % 10 = 9. Важно:

  • деление по модулю применяется только к целочисленным переменным ;
  • нельзя делить по модулю на 0;

Пример:

Результат компиляции:
арифметические операции в с 2

Тут вы видите, что при делении num1 на num2, на экране появилась только целая часть – 4 (хотя точное значение 4.5). Дробная часть отсекается, так как переменные определены, как целочисленные – int. А в результате деления по модулю мы видим 2 – то что осталось в остатке от деления 18 на 4.

Еще что хотелось бы рассмотреть в данной статье – это так называемые комбинированные (или составные) операторы. Помимо выполнения своей арифметической роли, они одновременно выполняют роль присваивания значения переменным. Вот список таких составных операторов:

арифметические операции в с
Арифметические операции в С++ – рис. 2

Покажу на примере:

Хотя для кого-то, с первого взгляда, эти операторы могут показаться запутанными, поверьте, к ним очень быстро можно привыкнуть и успешно применять в своих программах. Надо только немного попрактиковаться с их применением. Ваш код при этом будет выглядеть компактнее. Так же, использование комбинированных операторов является признаком хорошего тона в программировании. Поэтому, хоть и не будет ошибкой в коде использование сложения отдельно от присваивания – number1 = number1 + number2;, предпочтительней использовать сокращенный вариант записи number1 += number2;

Результат:

арифметические операции в с

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

Желательно закрепить полученные знания практикой – Задачи: Арифметические операции в С++

23 thoughts on “Арифметические операции в С++

  1. Первое число 10
    Второе число 4
    Не пойму первая
    Первая операция сложение =14 сходится
    Вторая отнимание =10 (а должно быть 6)
    Третья операция = 40 сходится
    Четвертая операция = 10 (а должно быть 2)
    Пятая опрерация =2 (сходится)

    1. там не 6 должно, а 10 так как 14 – 4 = 10,
      10 * 4 = 40
      40 / 4 = 10
      10 % 4 = 2 ( 4 * 2 = 8 с 10 8 выбрасывается а 2 остается )

  2. Переменная number1 накапливается. Потому и получаются такие значения. После каждой операции надо было обнулять переменную – “number1=0”. Тогда считал бы как изначально. Автор поста забыл упомянуть об этом.

    1. Тогда в этом случае нет смысла сокращению (+=, *= и др) так-как по итогу нужно всегда добавлять строчку с обнулением. Или же просто добавить number3=0 в начало, и так же писать n3=n1+n2. Что-то максимально не понятна эта тема с этими сокращениями…

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

    1. как я понял при выполнении+= новый number1=14 а при выполнении -= 14-4=10 получается новый number1 =10

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

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