char int short long unsigned float double struct union typedef
Классы памяти
auto extern register static
Разное
return sizeof
Еще не реализованное
entry
Применяемые только в некоторых системах
asm endasm fortran enum
ПРИЛОЖЕНИЕ В. ОПЕРАЦИИ ЯЗЫКА СИ
В языке Си предусмотрено множество операций. Затем мы приводим здесь таблицу операций, располагая их по приоритетам и показывая порядок выполнения. Мы рассказываем о всех операциях, за исключением поразрядных, которые будут рассмотрены в приложении Е.
I. Арифметические операции
+ | Прибавляет величину, находящуюся справа, к величине, стоящей слева | ||
- | Вычитает величину, стоящую справа, из величины, указанной слева | ||
- | Будучи унарной операцией, изменяет знак величины, стоящей справа | ||
* | Умножает величину справа на величину, находящуюся слева | ||
/ | Делит величину, стоящую слева, на величину справа. Результат усекается, если оба операнда целые числа | ||
% | Дает остаток от деления величины слева на величину, стоящую справа (только для целых чисел) | ||
++ | Прибавляет 1 к значению переменной, стояшей слева (префикная форма), или к переменной, стояшей справа (постфиксная форма) | ||
-- | Аналогично ++, но вычитает 1 |
Операции (от высшего приоритета к низшему) | Порядок выполнения | ||
---|---|---|---|
() {} -> . | Л-П | ||
! ~ ++ -- - (тип) * & sizeof (все унарные) | П-Л | ||
* / % | Л-П | ||
+ - | Л-П | ||
<< >> | Л-П | ||
< <= > >= | Л-П | ||
== !== | Л-П | ||
& | Л-П | ||
/\ | Л-П | ||
| | Л-П | ||
&& | Л-П | ||
|| | Л-П | ||
?: | Л-П | ||
= += -= *= /* %= | П-Л | ||
, | Л-П | ||
II. Операции присваивания
= Присваивает значение, указанное справа, переменной, стоящей слева
Каждая из приводимых ниже операции изменяет переменную, стоящую слева, на величину, находящуюся справа. Мы используем следующие обозначения: П для правой части и Л для левой. + = прибавляет величину П к переменной Л
-= | вычитает величину П из переменной Л | ||
*= | умножает переменную Л на величину П | ||
/= | делит переменную Л на величину П | ||
%= | выдает остаток от деления переменной Л на величину П |
Пример:
rabbits *= 1.6; то же самое, что rabbits = rabbits * 1.6;
III. Операции отношения
Каждая из этих операций сравнивает значение слева со значением справа. Оператор отношения, состоящий из операции и двух ее операндов, имеет значение 1, если выражение истинно, и значение 0, если выражение ложно.
< | меньше | ||
<= | меньше или равно | ||
== | равно | ||
>= | больше или равно | ||
> | больше | ||
!= | не равно |
IV. Логические операции
Обычно логические операции "считают" условные выражения операндами. Операция ! имеет один операнд, расположенный справа. Остальные операции имеют два операнда: один слева и один справа.
&& | Логическое И: результат операции имеет значение "истина", если оба операнда истинны, и "ложь" в противном случае. | ||
|| | Логическое ИЛИ: результат операции имеет значение "истина", если один или оба операнда истинны, и "ложь" в противном случае. | ||
! | Логическое НЕ: результат имеет значение "истина", если операнд имеет значение "ложь", и наоборот. |
V. Операции над указателями