Арифметические операции в 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++ ты сам решаешь, хочешь ли ты целое число или дробное — это даёт больше контроля.
Типичные ошибки новичков
Вот что чаще всего идёт не так у тех, кто только начинает:
- Забыл точку с запятой — в C++ каждая команда заканчивается
;. Если её нет, компилятор ругается. - Путает
=и==—=это присваивание (положить значение), а==это сравнение (равно ли?). В арифметике мы используем только=. - Делит целые числа и ждёт дробный результат — если оба числа
int, то и результат будетint. Хочешь дробный — сделай хотя бы одно числоdouble. - Забывает про порядок операций —
2 + 3 * 4это 14, а не 20. Используй скобки, если сомневаешься. - Делит на ноль — на ноль делить нельзя! Программа вылетит с ошибкой. Всегда проверяй, что делитель не равен нулю.
- Путает
%(остаток) с делением —%работает только с целыми числами.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 — видеть, где они похожи, а где отличаются.
Теперь ты можешь написать программу, которая посчитает, сколько тебе лет в днях, или разделит счёт в ресторане на компанию. Попробуй сам: напиши код, который запрашивает у пользователя два числа и выводит все результаты операций (+, -, *, /, %). Это лучшее упражнение для закрепления!