Арифметичні операції в С++




арифметичні операції в с ++У сучасному житті дуже складно обійтися без арифметичних операцій. Нам постійно доводиться щось рахувати: додавати, множити, віднімати, ділити і т.д. Програмування – не виняток. Вам в 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;

Результат:

арифметичні операції в с

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

Бажано закріпити отримані знання практикою – Завдання: Арифметичні операції в С++

Нові уроки з програмування:

Арифметичні операції в С++
4.4 (88%) 5 голосів

13 думки про "Арифметичні операції в С++

  1. супер, досить доступно все розписано! Треба тільки звертати увагу що простий бінарний оператор типу ” + ” робить просто додавання, а складовою бінарний оператор типу ” += ” крім складання (або ін.) ще й привласнює значення першої змінної (в даному випадку number1) кожен раз при обчисленні…
    спасибі автору!

  2. А мені сподобалося, я все прекрасно зрозумів, є бінарні оператори, вони застосовуються для двох змінних допустимо в вашому прикладі: number1 += number2; тут дві змінні, значить бінарний, а є ще унарні тернарние, ось приклад унарна: 34++ або 23–, а може і так: ++34 или –23; приклад ternarnogo: ? перше твердження : друге твердження. Вообщем спасибі за все, я буду далі вивчати

    1. Операції виконують все правильно. Показуйте свої результати, якщо у вас що не так.

      Разом з = може використовуватися знак будь-бінарної операції … например:
      =&& , =| , =% , =<> …
      І все дає правильні результати … тільки їх потрібно правильно тлумачити (що повинно вийти).

    2. Все просто. Ти кожен раз привласнюєш 1 змінної нове значення, не зраджуючи старе. Просто переглянь послідовність ще раз.

  3. як здійснити операцію “розподіл по модулю” для чисел в форматі float, довгий поплавок або doublе???

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *