Оператор остатка от деления
Часть раздела Основы путешествия по C++ на Coddy. Урок 17 из 74.
Оператор остатка от деления % возвращает остаток от деления. В C++ он используется в простом синтаксисе:
result = dividend % divisor;- делимое: Число, которое делят.
- делитель: Число, на которое делят делимое.
- результат: Остаток от деления.
Например:
result = 10 % 3;Здесь 10 делится на 3. Число 3 помещается в 10 три раза, остаток равен 1. Значит, result будет равно 1.
Обычно остаток от деления используют, чтобы проверить, является ли число чётным или нечётным:
- Если число чётное, при делении на 2 остаток будет равен 0.
- Если число нечётное, при делении на 2 остаток будет равен 1, а если число отрицательное — -1.
При работе с числами с плавающей точкой (double) в C++ нельзя напрямую использовать оператор остатка от деления %. Вместо этого нужно использовать функцию fmod() из библиотеки <cmath>. Она работает аналогично оператору остатка от деления, но сохраняет точность дробной части. Например:
#include <cmath>
double result = fmod(5.2, 2.0);
// result равен 1.2Вот как это работает: 2.0 помещается в 5.2 два раза (4.0), а остаток равен 1.2 (5.2 - 4.0 = 1.2).
Ещё один пример:
double result = fmod(7.8, 3.5);
// result равен 0.8Если делитель больше делимого, результат равен делимому. Это верно и для %, и для fmod().
5 % 10 = 5
3 % 7 = 3
fmod(2.5, 8.0) = 2.5Почему? Делитель помещается ноль раз, поэтому всё делимое и является остатком.
Задание
НовичокНапиши код, который инициализирует три переменные: a (int), b (double) и c (int) значениями 9, 2.6 и 11 (соответственно).
После этого инициализируй следующие переменные:
d (int), в которой будет храниться результат вычисления остатка от деленияaна2e (int), в которой будет храниться результат вычисления остатка от деленияaна3f (double), в которой будет храниться результат вычисления остатка от деленияbна1.5g (double), в которой будет храниться результат вычисления остатка от деленияbна3.9h (int), в которой будет храниться результат вычисления остатка от деленияcна10
Посмотри на результат и выясни, как разные делимые и делители влияют на него.
Попробуйте сами
#include <iostream>
#include <cmath>
int main() {
// Введите свой код ниже
// Не изменяйте строку ниже
std::cout << "a = " << a << std::endl;
std::cout << "b = " << b << std::endl;
std::cout << "c = " << c << std::endl;
std::cout << "d = " << d << std::endl;
std::cout << "e = " << e << std::endl;
std::cout << "f = " << f << std::endl;
std::cout << "g = " << g << std::endl;
std::cout << "h = " << h << std::endl;
return 0;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Оператор coutОператор cinВвод строкПовторение — До 120Повторение — Истина или ложь3Переменные. Часть 2
Объявление типовСоглашения об именованииПовторение: инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор ifКонструкция if - elseОператор switchУсловный операторПовторение: if - elseВложенный if - elseПотренируйтесь самостоятельно: Онлайн-компилятор C++