Языки программирования для численных методов. Глушакова Т.Н - 29 стр.

UptoLike

29
Порядок можно рассматривать как направление,
в котором выполняются операции, обладающие одинаковым приоритетом .
Операции, требующие более одного операнда, могут быть
коммутативными и некоммутативными. Говорят, что операция
коммутативна , если перестановка местами двух ее операндов не изменяет
значение результата операции. Коммутативные операции в языке С:
умножение ( * ), сложение ( + ), равно ( = = ), не равно ( ! =), побитовое И (
& ), побитовое исключающее ИЛИ (^) , побитовое ИЛИ ( | ).
Выражения , включающие одну из коммутативных операций , даже
при наличии скобок могут быть переупорядочены компилятором. Во
многих случаях это несущественно, но в тех ситуациях, где важно оставить
порядок вычислений , можно использовать явную промежуточную
переменную .
В языке С не задан порядок вычисления операндов для операций . В
этом случае для задания определенного порядка выполнения
промежуточный результат можно сохранить в некоторой промежуточной
переменной. Но существуют четыре операции в языке С, которые имеют
жесткий порядок вычисления : логическое И (&&), логическое ИЛИ (||),
запятая (,), условное выражение (? :). Операнды в этих операциях
вычисляются всегда слева направо .
3.2. Первичные выражения
Первичные выражения включают операции: доступа к элементу
структуры по имени, доступа к элементу структуры по указателю ,
индексации и вызова функции.
Полный список первичных выражений в языке С: константа, строка,
идентификатор, (выражение), первичное выражение [выражение],
первичное выражение (список выражений ), первичный
адрес. идентификатор, первичное выражение -> идентификатор.
Константа имеет тип в соответствии с ее видом . Символьные
константы имеют тип int, константы с плавающей точкой тип double.
Строка представляется указателем на начало массива составляющих
ее символов.
                                    29
      Порядок           можно         рассматривать как направление,
в котором выполняются операции, обладающие одинаковым приоритетом.
      Операции, требующие более одного операнда, могут быть
коммутативными и некоммутативными. Говорят, что операция
коммутативна, если перестановка местами двух ее операндов не изменяет
значение результата операции. Коммутативные операции в языке С:
умножение ( * ), сложение ( + ), равно ( = = ), не равно ( ! =), побитовое И (
& ), побитовое исключающее ИЛИ (^) , побитовое ИЛИ ( | ).
      Выражения, включающие одну из коммутативных операций, даже
при наличии скобок могут быть переупорядочены компилятором. Во
многих случаях это несущественно, но в тех ситуациях, где важно оставить
порядок вычислений, можно использовать явную промежуточную
переменную.
      В языке С не задан порядок вычисления операндов для операций. В
этом случае для задания определенного порядка выполнения
промежуточный результат можно сохранить в некоторой промежуточной
переменной. Но существуют четыре операции в языке С, которые имеют
жесткий порядок вычисления: логическое И (&&), логическое ИЛИ (||),
запятая (,), условное выражение (? :). Операнды в этих операциях
вычисляются всегда слева направо.


3.2. Первичные выражения
      Первичные выражения включают операции: доступа к элементу
структуры по имени, доступа к элементу структуры по указателю,
индексации и вызова функции.
      Полный список первичных выражений в языке С: константа, строка,
идентификатор, (выражение), первичное выражение [выражение],
первичное      выражение       (список     выражений),      первичный
адрес.идентификатор, первичное выражение -> идентификатор.
      Константа имеет тип в соответствии с ее видом. Символьные
константы имеют тип int, константы с плавающей точкой – тип double.
      Строка представляется указателем на начало массива составляющих
ее символов.