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

13 Операции и операторы

13.1 Сводка операций

Все операции в Borland C разделены по 16 категориям приоритета.

Унарные операции (#2), условные операции (#14), и операции присвоения (#15) правоассоциативны, все остальные — левоассоциативны.

Таблица 13.1 – Сводка операций

Категория

Оператор

Назначение

#1. Высшая

( )

[ ]

->

::

.

Вызов функции

Индексация массива

Косвенный выбор компоненты

Разрешение выбора

Прямой выбор компоненты

#2. Унарные

!

~

+

-

++

--

&

*

sizeof

new

delete

Логическое отрицание

Битовое дополнение

Унарный плюс

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

Пред- или постинкремент

Пред- или постдекремент

Взятие адреса

Разыменование

Размер операнда в байтах

Выделение динамической памяти

Высвобождение динамич. памяти

#3. Доступа к

компоненте

.*

->*

Прямой доступ к компоненте

Косвенный доступ к компоненте

#4. Мульти-

пликативные

*

/

%

Умножение

Деление

Остаток от деления нацело

#5. Аддитивные

+

-

Бинарный плюс

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

#6. Сдвиги

<<

>>

Сдвиг влево

Сдвиг вправо

Продолжение таблицы 13.1

#7. Сравнения

<

<=

>

>=

Меньше

Меньше или равно

Больше

Больше или равно

#8. Эквива-

лентности

==

!=

Равно

Не равно

#9.

&

Битовое AND

#10.

^

Битовое XOR

#11.

!

Битовое OR

#12.

&&

Логическое AND

#13.

||

Логическое OR

#14.Условный

?:

a ? x : y

#15.Присвоение

=

*=

/=

%=

+=

-=

&=

^=

|=

<<=

>>=

Присвоение

Присвоить произведение

Присвоить частное

Присвоить остаток

Присвоить сумму

Присвоить разность

Присвоить побитное И

Присвоить побитное НЕ

Присвоить побитное ИЛИ

Присвоить левый сдвиг

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

#16. Запятая

,

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

Все операторы могут быть перегружены за исключением следующих:

. прямого выбора компоненты;

.* разыменования указателя на компоненту класса;

:: разрешения доступа;

?: условного.

13.2 Сводка операторов

оператор декларации

{ [список_операторов] }

[выражение];

if (выражение) оператор

if (выражение) оператор else оператор

while (выражение) оператор

do оператор while (выражение)

for (иниц_оператор [выражение]; [выражение] ) оператор

где иниц_оператор это декларация или [выражение];

switch (выражение) оператор

case константное_выражение: оператор

default: оператор

break;

continue;

return [выражение];

goto идентификатор;

идентификатор: оператор

Здесь квадратные скобки означает необязательность заключенного в них элемента.

13.3 Оператор выражения

Большинство операторов являются операторами выражения. Они имеют форму

[выражение];

Обычно операторы выражения — это присвоение или вызов функции.

Некоторые условные операторы можно заменить условным выражением. Например, условный оператор

if (a >= b) max = a; else max = b;

заменяется на

max = a>=b ? a : b;

После того как выяснится значение условия, будет вычислено либо только второе (если условие истинно), либо только третье выражение (если условие ложно).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]