Операции работы с указателями
Операции отношения
Логические операции
Присваивание
Арифметические операции
Операции
Примечание: в данном разделе x,y — некоторые переменные, a,b — некоторые выражения.
a+b; a-b; a*b; a/b — соответственно сложение, вычитание, умножение, деление.
Если оба операнда целочисленные, результат тоже целочисленный, если хотя бы один из операндов вещественный — результат вещественный.
ВНИМАНИЕ при делении целочисленных операндов результат также целочисленный. Например, 5/2 → 2. Следует записать «5./2» или «5/2.».
a%b — остаток от деления (только для целочисленных операндов)
-a — изменение знака числа (унарный минус)
+a — унарный плюс (не несет функциональной нагрузки)
a<<b, a>>b - сдвиги операнда а на b двоичных разрядов влево / вправо
a&b — поразрядное логическое И (например, 10012 & 11002 → 10002)
a|b — поразрядное логическое ИЛИ
a^b — поразрядное логическое исключающее ИЛИ (XOR)
~a — логическое поразрядное отрицание
|
|
x=a;
Присваивания является операцией и имеет возвращаемое значение, что позволяет использовать её в составных выражениях.
Примеры: y=x=9; 5+(x=4) → 9
Операция присваивания является правоассоциативной, то есть, несколько подряд записанных операций присваивания будут выполняться справа налево.
На базе арифметических операций определены особые формы присваивания, например:
x+=a — тоже, что и x=x+a.
аналогично определены операции x-=a, x*=a, x/=a, x%=a, x&=a, x|=a, x^=a, x<<=a, x>>=a.
В языке «С» результатом логической операции является целое число: «1», если результат истинен, и «0», если ложен.
a&&b, a||b - логические И и ИЛИ
!a — логическое общее отрицание
Например, 5&&3 → 1 (в значении ИСТИНА), 8||0 → 1, 5&&0 → 0.
a<b,a>b, a<=b,a>=b — операции, сравнивающие значения
a= =b — проверка на равенство (например, 5==3 → 0, 4==4 → 1)
a!=b — проверка на неравенство
ВНИМАНИЕ. Частой ошибкой является использование операции присваивания (=) вместо проверки на равенство (==). В этом случае компилятор выдает предупреждение, но не ошибку.
&x — взятие адреса
*x — разыменовывание указателя (обращение по адресу)
Более подробно данные операции будут рассмотрены в параграфе, посвященном указателям.
++x, --x — значение x увеличивается или уменьшается на 1, затем используется в выражении.
x++,x-- — предыдущее значение x используется в выражении, а затем увеличивается/уменьшается на 1.
Примеры (в каждом примере изначально x=3):
1. (++x)+6 → 10, (x++)+6 → 9 (в обоих случаях в результате x=4)
2. (++x) + (++x) → 9
3. (x++) + (x++) → 7
Операция «последовательное вычисление»
a,b — вычисляет выражение a, затем b, возвращает b.
|
|
Пример (объявлены целочисленные переменные x,x1,x2,x3):
x = (x1=4+6, x2=x1-2, x3=x2+7)
В результате: x1=10, x2=8, x3=15, x=15.
Операция «условие»
x?a:b - возвращает a, если х истинно, иначе возвращает b.
Пример:
(5>2?4:6) → 4, (8<3?5:9) → 9, 5+(7>3?5:2) → 10