| Операция
| Результат
| Ограничения
| Примеры выражений
|
| Аддитивные
|
| x+y
| сумма х и у
| если один из операндов является указателем, то другой должен быть целой величиной (типа int, char, short, long или unsigned)
| int a=5, b=2;
char c='A' (код 65)
float d=2.3;
a+b (результат=7)
a+c (результат=70)
а+d (результат=7.3)
|
| x-y
| разность х и у
| если один из операндов является указателем, то другой должен быть целой величиной или указателем с тем же базовым типом
| int a=5, b=2;
char c='A' (код 65)
float d=2.3;
a-b (результат=3)
a-c (результат=-60)
а-d (результат=2.7)
|
| Мультипликативные
|
| x*y
| произведение х на у
| х и у не должны быть указателями
| int a=5, b=2;
char c='A' (код 65)
float d=2.3;
a*b (результат=10)
a*c (результат=325)
а*d (результат=11.5)
|
| x/y
| частное от деления х на у
| х и у не должны быть указателями
(y¹0)
| int a=5, b=2;
char c='A' (код 65)
float d=0.5;
a/b (результат=2)
a/c (результат=0)
а/d (результат=10.0)
|
| х%y
| остаток от деления х на у
| х и у не должны быть типов double, float или указателями (y¹0)
| int a=51, b=5;
char c='A' (код 65)
a%b (результат=1)
c%b (результат=0)
|
| -х
| изменение знака
| х не должен быть указателем
| int b=-2;
char c='A' (код 65)
float d=2.2;
-c (результат=-65)
-b (результат=2)
-d (результат=-2.2)
|
| Увеличения (increment) и уменьшения (decrement)
|
| ++x (--x)
| x+1 (х-1)
х увеличивается (уменьшается) перед использованием
| х – числовое значение или указатель
| int i=1, iv;
iv = ++i ;
(результат: iv=2, i=2)
|
| x++ (x--)
| после использования х увеличивается (уменьшается) на 1
| х – числовое значение или указатель
| int i=1, iv;
iv = i++;
(результат: iv=1, i=2)
|