(2 + а) == а ложно, имеет значение 0.
Операции присваивания
Язык С имеет одну базовую и несколько объединенных операций присваивания. Базовая форма записывается как одиночный знак равенства:
= присваивает значение справа 1-значению слева.
Каждая из следующих операций присваивания обновляет 1-значение, находящееся слева, значением, указанным справа, с использованием указанной операции (правый операнд обозначается как П-О , а левый — как Л-О):
+= добавляет величину П-О к переменной Л-О и помещает результат в переменную Л-О.
-= вычитает величину П-О из переменной Л-О и помещает результат в переменную Л-О.
*= умножает переменную Л-О на величину П-О и помещает результат в переменную Л-О.
/= делит переменную Л-О на величину П-О и помещает результат в переменную Л-О.
%= получает остаток от деления величины Л-О на величину П-О и помещает результат в переменную Л-О.
&= присваивает Л-О & П-О величине Л-О и помещает результат в переменную Л-О.
I = присваивает Л-О | П-О величине Л-О и помещает результат в переменную Л-О.
Пример
rabbits *= 1.6; дает тот же результат, что и rabbits = rabbits * 1.6;
Логические операции
Логические операции обычно принимают в качестве операндов выражения отношений. Операция ! принимает один операнд, остальные — два: левый и правый.
&& И
|| ИЛИ
! НЕ
Логические выражения
выражение 1 && выражение2 истинно тогда и только тогда, когда оба выражения истинны.
выражение 1 || выражение2 истинно, когда любое из выражений либо оба
сразу истинны.
! выражение истинно, когда выражение ложно, и наоборот.
Порядок оценки логических выражений
Логические выражения оцениваются слева направо. Оценка прекращается, как только становится ясно, что выражение ложно.
Примеры
6>2&&3==3 истинно.
! ( 6 > 2 & & 3 == 3 ) ложно.
х ! = 0 && 2 0/х < 5 второе выражение оценивается, только если х отлич
но от 0.
Условная операция
Операция ? : принимает три операнда, каждый из которых является выражением. Они располагаются следующим образом:
выражение1 ? выражение? : выражениеЗ
Значение полного выражения равно значению выражение2, если выражение1 истинно, и значению выражениеЗ в противном случае.
Примеры
836 Приложение Б
( 3 > 5 ) ? 1 : 2 имеет значение 2.
( а > b ) ? а : b имеет значение, большее среди а и b.
Операции, связанные с указателями
& операция взятия адреса. Когда за ней следует имя переменной, & дает ее адрес.
* операция разыменования. Когда за ней следует указатель, * дает значение, сохраненное по указанному адресу.
Примеры
Здесь Snurce — это адрес переменной nurce: nurse = 22;
ptr = &nurse; /* указатель на nurse */ val = *ptr;
Общий результат заключается в присваивании переменной val значения 22.
Операции со знаком
- знак минуса меняет знак операнда на противоположный.
+ знак плюса оставляет знак операнда без изменений.
Операции структур и объединений
Структуры и объединения используют операции для идентификации их индивидуальных членов. Операция членства применяется со структурами и объединениями, а операция косвенного членства — с указателями на структуры и объединения.