⚙️ C++

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

Что это и зачем?

Представь, что ты — кассир в магазине. К тебе приходят покупатели, ты складываешь цены товаров, вычитаешь скидки, умножаешь количество на стоимость, делишь общую сумму между друзьями. Всё это — арифметические операции. В программировании они работают точно так же: компьютер умеет складывать, вычитать, умножать и делить числа. Без этого не получится написать ни калькулятор, ни игру, ни программу для расчёта зарплаты.

Зачем это знать? Даже если ты хочешь сделать простую программу, которая спросит у пользователя возраст и скажет, сколько лет до пенсии — тебе понадобится вычитание. Хочешь посчитать, сколько пицц нужно на вечеринку? Нужно деление. А если ты пишешь игру, где персонаж двигается — там сплошное сложение и вычитание координат. Короче, арифметика — это база, без которой никуда.

Синтаксис и примеры кода

В C++ арифметические операции выглядят почти как в математике. Вот основные знаки:

  • + — сложение
  • - — вычитание
  • * — умножение (звёздочка, а не крестик)
  • / — деление (слэш)
  • % — остаток от деления (например, 7 % 3 = 1, потому что 7 делится на 3 с остатком 1)

Давай посмотрим на примеры. Код пишем внутри main(), а результаты выводим на экран с помощью cout.

#include <iostream>
using namespace std;

int main() {
    // Пример 1: Сложение
    int a = 10;
    int b = 5;
    int sum = a + b;  // складываем a и b, результат кладём в sum
    cout << "Сумма: " << sum << endl;  // напечатает: Сумма: 15

    // Пример 2: Вычитание
    int diff = a - b;  // из a вычитаем b
    cout << "Разность: " << diff << endl;  // напечатает: Разность: 5

    // Пример 3: Умножение
    int prod = a * b;  // умножаем a на b
    cout << "Произведение: " << prod << endl;  // напечатает: Произведение: 50

    // Пример 4: Деление
    int quot = a / b;  // делим a на b
    cout << "Частное: " << quot << endl;  // напечатает: Частное: 2
    // Внимание: если числа целые, то результат тоже целый! 10 / 3 = 3, а не 3.333

    // Пример 5: Остаток от деления
    int rem = 10 % 3;  // 10 делим на 3, остаток 1
    cout << "Остаток: " << rem << endl;  // напечатает: Остаток: 1

    return 0;
}

Обрати внимание: в примере 4 мы делили 10 на 5 и получили 2. А если бы мы делили 10 на 3, то получили бы 3, а не 3.333. Потому что int — это целые числа, дробная часть отбрасывается. Чтобы получить дробный результат, нужно использовать double (числа с точкой).

#include <iostream>
using namespace std;

int main() {
    // Пример с дробными числами
    double x = 10.0;
    double y = 3.0;
    double result = x / y;  // теперь деление будет точным
    cout << "Результат: " << result << endl;  // напечатает: Результат: 3.33333

    // Можно смешивать целые и дробные
    int apples = 7;
    double price = 2.5;
    double total = apples * price;  // 7 * 2.5 = 17.5
    cout << "Общая стоимость: " << total << endl;

    return 0;
}

Ещё один важный момент: порядок операций. Как в математике, сначала умножение и деление, потом сложение и вычитание. Если хочешь изменить порядок — используй скобки.

#include <iostream>
using namespace std;

int main() {
    int a = 2;
    int b = 3;
    int c = 4;

    // Без скобок: сначала умножение, потом сложение
    int res1 = a + b * c;  // 2 + 12 = 14
    cout << "Без скобок: " << res1 << endl;

    // Со скобками: сначала сложение, потом умножение
    int res2 = (a + b) * c;  // 5 * 4 = 20
    cout << "Со скобками: " << res2 << endl;

    return 0;
}

Сравнение с Python

Если ты уже пробовал Python, то заметишь, что арифметика там очень похожа. Но есть пара отличий.

В Python:

  • То же самое сложение +, вычитание -, умножение *, деление /.
  • Но деление в Python всегда даёт дробный результат! 10 / 3 будет 3.3333, даже если числа целые.
  • Чтобы получить целое деление (как в C++), нужно писать // (два слэша). Например, 10 // 3 даст 3.
  • Остаток от деления — тоже %, как в C++.

Вот как выглядит тот же код на Python:

# Python
a = 10
b = 3

# Обычное деление — дробное
print(a / b)  # 3.3333333333333335

# Целочисленное деление (как в C++)
print(a // b)  # 3

# Остаток
print(a % b)  # 1

# Всё остальное так же
print(a + b)  # 13
print(a - b)  # 7
print(a * b)  # 30

Главное отличие: в C++ нужно заранее объявлять тип переменной (int или double), а в Python типы подставляются автоматически. Но в C++ ты сам решаешь, хочешь ли ты целое число или дробное — это даёт больше контроля.

Типичные ошибки новичков

Вот что чаще всего идёт не так у тех, кто только начинает:

  1. Забыл точку с запятой — в C++ каждая команда заканчивается ;. Если её нет, компилятор ругается.
  2. Путает = и == — = это присваивание (положить значение), а == это сравнение (равно ли?). В арифметике мы используем только =.
  3. Делит целые числа и ждёт дробный результат — если оба числа int, то и результат будет int. Хочешь дробный — сделай хотя бы одно число double.
  4. Забывает про порядок операций — 2 + 3 * 4 это 14, а не 20. Используй скобки, если сомневаешься.
  5. Делит на ноль — на ноль делить нельзя! Программа вылетит с ошибкой. Всегда проверяй, что делитель не равен нулю.
  6. Путает % (остаток) с делением — % работает только с целыми числами. 10.5 % 3 не сработает.

Пример неправильного кода и как его исправить:

// Ошибка: деление целых
int a = 10;
int b = 3;
double c = a / b;  // c будет 3.0, а не 3.333!
// Исправление: сделать хотя бы одно число дробным
double c = (double)a / b;  // теперь c = 3.33333

// Ошибка: деление на ноль
int x = 5;
int y = 0;
int z = x / y;  // программа упадёт
// Исправление: проверять y
if (y != 0) {
    z = x / y;
} else {
    cout << "На ноль делить нельзя!" << endl;
}

Итог

Арифметические операции — это первый шаг к тому, чтобы заставить компьютер считать за тебя. Ты научился:

  • Складывать, вычитать, умножать и делить числа в C++.
  • Понимать разницу между целыми (int) и дробными (double) числами.
  • Использовать остаток от деления (%), чтобы, например, проверить, чётное ли число.
  • Управлять порядком вычислений с помощью скобок.
  • Сравнивать C++ с Python — видеть, где они похожи, а где отличаются.

Теперь ты можешь написать программу, которая посчитает, сколько тебе лет в днях, или разделит счёт в ресторане на компанию. Попробуй сам: напиши код, который запрашивает у пользователя два числа и выводит все результаты операций (+, -, *, /, %). Это лучшее упражнение для закрепления!