Арифметические операции. Арифметические операции - бинарные
Арифметические операции - бинарные. Перечень арифметических операций и их обозначений:
+ - сложение;
- - вычитание (либо унарная операция - изменение знака);
/ - деление (для int операндов - с отбрасыванием остатка);
* - умножение;
% - остаток от деления целочисленных операндов со знаком первого операнда (деление по модулю).
Операндами традиционных арифметических операций (+ - * /) могут быть константы, переменные, идентификаторы функций, элементы массивов, указатели, любые арифметические выражения.
Порядок выполнения операций:
выражения в круглых скобках;
функции (стандартные математические, функции пользователя);
* / выполняются слева направо;
+ ─ слева направо.
Порядок выполнения операций можно определять круглыми скобками, тогда выражение в скобках выполняется в первую очередь (слева направо).
Унарные операции + и – обладают самым высоким приоритетом, определены только для целых и вещественных операндов, «+» носит только информационный характер, «–» меняет знак значения операнда на противоположный (не адресная операция).
Таким образом, так как операции *, /, % обладают высшим приоритетом над операциями +, -, при записи сложных выражений нужно использовать общепринятые математические правила:
x+y*z-a/b Û x+(y*z)-(a/b)
6.3. Операции присваивания
Формат операции присваивания:
< ID > = <выражение>;
Присваивание значения в языке Cи, в отличие от традиционной интерпретации рассматривается как выражение, имеющее значение левого операнда после присваивания. Таким образом, присваивание может включать несколько операций присваивания, изменяя значения нескольких операндов. Например:
int i, j, k;
float x, y, z;
...
i = j = k = 0; Û k = 0; j = k; i = j;
x = i+(y = 3) - (z = 0); Û z = 0; y = 3; x = i + y - z;
Внимание, левым операндом операции присваивания может быть только именованная либо косвенно адресуемая указателем переменная. Примеры недопустимых выражений:
а) присваивание константе: 2 = x+y;
б) присваивание функции: getch() = i;
в) присваивание результату операции: (i+1) = 2+y;
Дата добавления: 2015-09-11; просмотров: 1265;