Основными выражениями являются следующие: выражение: первичное-выражение * выражение & выражение - выражение ! Выражение \^ выражение ++ L-значение -- L-значение L-значение ++ L-значение -- SIZEOF выражение (имя типа) выражение выражение бинарная-операция выражение выражение ? Выражение : выражение L-значение операция-присваивания выражение выражение , выражение первичное выражение: идентификатор константа строка (выражение) первичное-выражение (список выражений необ) первичное-выражение [выражение] L-значение . Идентификатор первичное выражение -> идентификатор L-значение: идентификатор первичное-выражение [выражение] L-значение . Идентификатор первичное-выражение -> идентификатор * выражение (L-значение) Операции первичных выражений () [] . -> имеют самый высокий приоритет и группируются слеванаправо. Унарные операции * & - ! \^ ++ -- SIZEOF(Имя типа) имеют более низкий приоритет, чем операции первичных выраже-ний, но более высокий, чем приоритет любой бинарной опера-ции. Эти операции группируются справа налево. Все бинарныеоперации и условная операция (прим. Перевод.: условная опе-рация группируется справа налево; это изменение внесено вязык в 1978 г.) группируются слева направо и их приоритетубывает в следующем порядке: Бинарные операции: * / % + - >> << < > <= >= == != & \^ \! && \!\! ?: Все операции присваивания имеют одинаковый приоритет и груп-пируются справа налево.Операции присваивания: = += -= *= ?= %= >>= <<= &= \^= \!= Операция запятая имеет самый низкий приоритет и группируетсяслева направо.