Книга: Язык программирования Си. Издание 3-е, исправленное
2.5 Арифметические операторы
2.5 Арифметические операторы
Бинарными (т. е. с двумя операндами) арифметическими операторами являются +, -, *, /, а также оператор деления по модулю %. Деление целых сопровождается отбрасыванием дробной части, какой бы она ни была. Выражение
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.12) приводится таблица 2.1,в которой представлены приоритеты всех операторов и очередность их выполнения.
- 2.1 Имена переменных
- 2.2 Типы и размеры данных
- 2.3 Константы
- 2.4 Объявления
- 2.5 Арифметические операторы
- 2.6 Операторы отношения и логические операторы
- 2.7 Преобразования типов
- 2.8 Операторы инкремента и декремента
- 2.9 Побитовые операторы
- 2.10 Операторы и выражения присваивания
- 2.11 Условные выражения
- 2.12 Приоритет и очередность вычислений
- Арифметические операторы
- 3.4. Арифметические действия
- Арифметические операции
- 2.2. Арифметические операции над числами, представленными в различных системах счисления
- А6.5. Арифметические преобразования
- Операторы в Python
- Операторы циклов
- Операторы
- 4.4. Булевы логические операторы
- 4.1.2. Арифметические операторы присваивания
- 4.8.2. Унарные арифметические операторы
- 4.1. Арифметические операторы