Операционная система UNIX. Руководство программиста

ВЫРАЖЕНИЯ И ОПЕРАЦИИ


Основные пункты данного раздела, описывающие различные операции, упорядочены по убыванию приоритета операций. Поэтому, например, выражения, являющиеся операндами + (см. Аддитивные операции), - это выражения, описанные в пунктах Первичные выражения, Унарные операции и Мультипликативные операции. Операции, описанные в рамках одного пункта, имеют одинаковый приоритет. В каждом пункте определяется левая или правая ассоциативность обсуждаемых операций. Приоритет и ассоциативность операций резюмируются в разделе СВОДКА СИНТАКСИСА.

В остальном порядок обработки выражений не определен. В частности, компилятор волен вычислять подвыражения в том порядке, который он считает наиболее эффективным, даже если подвыражения имеют побочные эффекты. Выражения, содержащие коммутативные и ассоциативные операции (*, +, &, |, ^), могут быть произвольным образом переупорядочены даже при наличии скобок. Чтобы навязать определенный порядок вычислений, нужно использовать явное присваивание временным переменным.

Реакция на переполнение и деление на нуль при вычислении выражений не определяется. Большинство существующих реализаций игнорируют целые переполнения; интерпретация деления на 0 и нюансы вещественной арифметики различаются для разных компьютеров и обычно регулируются библиотечными функциями.



Содержание раздела