netlib.narod.ru | < Назад | Оглавление | Далее > |
Бинарными арифметическими операторами являются +, -, *, /, а также оператор деления по модулю %. При делении целых чисел дробная часть отбрасывается. Выражение
x % y
дает остаток от деления x на y и нуль, если x делится на y нацело. Например, год является високосным, если он делится на 4, но не делится на 100. Кроме того, год является високосным, если он делится на 400. Следовательно, в программе можно использовать следующий фрагмент:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) printf("%d високосный год\n", year); else printf("%d невисокосный год\n", year);
Оператор % неприменим к операндам типа float и double. В какую сторону будет выполняться округление при делении и каким будет знак остатка для отрицательных операндов, зависит от реализации языка на конкретной машине, также как и действия при переполнении или потере значимости.
Бинарные операторы + и - имеют одинаковый приоритет, который ниже приоритета операторов *, / и %, который в свою очередь ниже приоритета унарных операторов + и -. Арифметические операторы с одинаковым приоритетом выполняются слева направо.
В конце этой главы приводится таблица 2.1, в которой представлены приоритеты всех операторов и порядок их выполнения.
netlib.narod.ru | < Назад | Оглавление | Далее > |