Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование.doc
Скачиваний:
9
Добавлен:
02.02.2015
Размер:
188.42 Кб
Скачать

Операции

Операция

Краткое описание

Ассоциативность

()

НЕТ

[]

->

::

.

Унарные операции

++

инкремент (увеличение)

--

декремент (уменьшение)

sizeOf

размер в байтах

~

поразрядное отрицание (инверсия)

!

логическая инверсия

-

унарный минус

+

унарный плюс

&

взятие адреса операнда

*

разадресация

new

выделение памяти

delete

освобождение памяти

(type)

приведение типа

Бинарные операции (приоритет уменьшается вниз по блокам)

*

умножение

/

деление

%

остаток при целочисленном делении

+

плюс

-

минус

<<

побитовый сдвиг влево

>>

побитовый сдвиг вправо

<

<

<=

<=

>

>

>=

>=

==

равно (сравнение)

!=

неравно

&

побитовое “и”

^

побитовый XOR

|

побитовое “или”

&&

логическое “и”

||

логическое “или”

тернарная операция

=

присваивание

*=

умножение с присваиванием

/=

деление с присваиванием

%=

остаток от деления нацело с присваиванием

+=

сложение с присваиванием

-=

вычитание с присваиванием

<<=

побитовый сдвиг влево с присваиванием

>>=

побитовый сдвиг вправо с присваиванием

&=

побитовое “и”е с присваиванием

|=

побитовое “или” с присваиванием

^=

побитовый XOR с присваиванием

,

последовательность вычислений

Все операции можно рассматривать как функции над операндами. В таком контексте очевидно, что каждая операция должна иметь значение некоторого типа. При этом операция инкремента и декремента также изменяет значение самого операнда.

Операция инкремента и декремента

Операция инкремента и декремента имеют две формы:

  • префиксная (знак операции ставится перед операндом);

  • постфиксная (знак операции ставится после операнда).

Результатом постфиксной операции является значение самого операнда, а префиксной – значение операнда, изменённое на 1. Кроме того, эти операции изменяют на 1 значение самого операнда.

Пример

x = 3;

y = x++; //y = 3, x = 4

y = ++x; //y = 5, x = 5

y = x--; //y = 5, x = 4

y = --x; //y = 3, x = 3;

Операции отрицания

Операции отрицания:

  • арифметическое отрицание – унарный минус;

x = 5;

y = -x; // y = -5;

  • логическое отрицание;

да → нет

нет → да

  • побитовое отрицание – инверсия всех битов

x = 5; //x = 00001001

y = ~x; //y = 11110110

Операции умножения и деления

Применяются ко всем арифметическим типам. Если в операции оба операнда целочисленны, то и результат целочисленный, причём дробная часть отбрасывается.

int x = 5, y = 2, z;

z = x / y; // z = 2;

! double z: z = x / y = 2

% применяется только к целочисленным типам.