Поделиться через


Операторы в C

Операторы C являются подмножеством встроенных операторов C++.

Существуют три типа операторов. Унарное выражение состоит либо из унарного оператора, за которым следует операнд, либо из ключевого слова sizeof или _Alignof, за которым следует выражение. Выражением может быть либо имя переменной, либо выражение приведения типа. В последнем случае выражение должно быть заключено в круглые скобки. Бинарное выражение состоит из 2 операндов, соединенных бинарным оператором. Троичное выражение состоит из 3 операндов, соединенных оператором условного выражения.

В языке C имеются следующие унарные операторы:

Символ Имя.
- ~ ! Операторы отрицания и дополнения
* & Операторы косвенного обращения и взятия адреса
_Alignof Оператор выравнивания (начиная с выпуска C11)
sizeof Оператор определения размера
+ Оператор унарного плюса
++ -- Унарные операторы инкремента и декремента

Бинарные операторы имеют левую ассоциативность, т. е. выполняются слева направо. В языке C имеются следующие бинарные операторы:

Символ Имя.
* / % Мультипликативные операторы
+ - Аддитивные операторы
<< >> Операторы сдвига
< > <= >= == != Реляционные операторы
& | ^ битовые операторы;
&& || Логические операторы
, Оператор последовательного вычисления

Базовый оператор (:>), который поддерживается в предыдущих версиях компилятора Microsoft C для 16-разрядных систем, описывается в кратком обзоре синтаксиса языка C.

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

К выражениям с операторами также относятся выражения присваивания, в которых используются унарные или бинарные операторы присваивания. Унарные операторы присваивания — это операторы инкремента и декремента (++ и -- соответственно). Бинарные операторы присваивания — это оператор простого присваивания (=) и составные операторы присваивания. Все составные операторы присваивания состоят из другого бинарного оператора и оператора простого присваивания.

См. также