Арифметика
C++ умеет считать. Основные арифметические операторы (знаки операций):
+сложение-вычитание*умножение (звёздочка, потому что на клавиатуре нет ×)/деление (косая черта вместо ÷)%остаток от деления, который вы увидите в следующем упражнении
Считать можно и с числами, и с переменными. Результат можно сохранить в переменную или сразу вывести:
int pencilPrice = 2;
int pencils = 6;
int cost = pencilPrice * pencils;
std::cout << "Карандаши: " << cost << " EUR\n";
std::cout << "Сдача с 20: " << 20 - cost << " EUR\n";Это выведет:
Карандаши: 12 EUR
Сдача с 20: 8 EURКак и в математике, умножение и деление выполняются раньше сложения и вычитания. Операции с одинаковым приоритетом выполняются слева направо. Если нужен другой порядок, используйте круглые скобки:
std::cout << 2 + 3 * 4 << "\n";
std::cout << (2 + 3) * 4 << "\n";Это выведет:
14
20В первой строке сначала считается 3 * 4, это 12, и только потом 2 + 12. Во второй строке сначала считается то, что в скобках.
Типичная ошибка — забыть про скобки. Вот так среднее двух оценок за контрольные не посчитать:
int first = 2;
int second = 4;
std::cout << first + second / 2 << "\n";Программа выводит 4, потому что на два делится только вторая оценка: 2 + 4 / 2 — это 2 + 2. Правильно написать (first + second) / 2, и получится 3.
На что ещё нужно обращать внимание:
- Умножение всегда нужно писать.
2(a + b)заканчивается ошибкойcalled object type 'int' is not a function or function pointer; пишите2 * (a + b). - Всё в кавычках — это текст, он не вычисляется:
std::cout << "2 + 3";выводит2 + 3, а не 5. - Пробелы вокруг операторов не меняют результат. Мы пишем их, потому что с ними код легче читать.
Задание
- 1
Вы втроём идёте в кино, и каждый из вас покупает билет и попкорн. Создайте переменную
totalтипаintи сохраните в ней, сколько вы платите всего. Вычислите её из переменных: цена билета и попкорна, умноженная на число людей. - 2
Выведите
totalтак:Итого: 54 EUR. Если программа выводит 30, ещё раз посмотрите на порядок действий. - 3
У вас есть купон на скидку 10 EUR. На следующей строке выведите цену после скидки, вычисленную из
total:После скидки: 44 EUR