netlib.narod.ru< Назад | Оглавление | Далее >

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.1, в которой представлены приоритеты всех операторов и порядок их выполнения.


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz