Справочник языка Cи



         

Операции


Операции в языке Си имеют либо один операнд (унарные операции), либо два операнда (бинарные операции), либо три (тернарная операция). Операция присваивания может быть как унарной, так и бинарной (см. раздел 4.4).

Существенным свойством любой операции является ее ассоциативность. Ассоциативность определяет порядок выполнения в том случае, когда подряд применено несколько операций одного вида. Ассоциативность "слева направо" означает, что первой будет выполняться операция, знак которой записан левее остальных. Например, выражение

b << 2 << 2

выполняется как (b << 2) << 2, а не как b << (2 << 2). Ассоциативность "справа налево" означает, что первой будет выполняться операция, знак которой записан правее остальных.

В языке Си реализованы следующие унарные операции:

Знак операции

Наименование

-

унарный минус

+

унарный плюс

~

обратный код

!

логическое отрицание

&

адресация

*

косвенная адресация

sizeof

определение размера

Примечание. Операция унарного плюса реализована полностью только в СП ТС.

В СП MSC версии 4 она отсутствует, а в версии 5 реализована только синтаксически.

Унарные операции предшествуют своему операнду и ассоциируются справа налево.

В языке Си реализованы следующие бинарные операции:

Знак

Наименование

* / %

мультипликативные операции

+ -

аддитивные операции

<< >>

операции сдвига

< > <= >= == !=

операции отношения

& | ^

поразрядные операции

&& ||

логические операции

,

операция последовательного вычисления

Бинарные операции ассоциируются слева направо. В языке Си имеется одна тернарная операция — условная, обозначаемая ?:. Она ассоциируется справа налево.




Содержание  Назад  Вперед