
- •Выражения и операторы
- •3.1 Настольный калькулятор
- •3.1.1 Программа синтаксического разбора
- •3.1.2 Функция ввода
- •3.1.3 Таблица имен
- •3.1.4 Обработка ошибок
- •3.1.5 Драйвер
- •3.1.6 Параметры командной строки
- •3.2 Краткая сводка операций
- •Сводка Операций (часть 1)
- •Сводка Операций (часть 2)
- •3.2.1 Круглые скобки
- •3.2.2 Порядок вычисления
- •3.2.4 Побитовые логические операции
- •3.2.5 Преобразование типа
- •3.2.6 Свободная память
- •3.3 Сводка операторов
- •Синтаксис оператора
- •3.3.1 Проверки
- •3.3.2 Goto
- •3.4 Комментарии и Выравнивание
- •3.5 Упражнения
Сводка Операций (часть 1)
:: разрешение области видимости имя_класса :: член
:: глобальное :: имя
-> |
выбор члена |
указатель->член |
[] |
индексация |
указатель [ выр ] |
() |
вызов функции |
выр (список_выр) |
() |
построение значения |
тип (список_выр) |
sizeof |
размер объекта |
sizeof выр |
sizeof |
размер типа |
sizeof ( тип ) |
++ |
приращение после |
lvalue++ |
++ |
приращение до |
++lvalue |
-- |
уменьшение после |
lvalue-- |
-- |
уменьшение до |
--lvalue |
~ |
дополнение |
~ выр |
! |
не |
! выр |
- |
унарный минус |
- выр |
+ |
унарный плюс |
+ выр |
& |
адрес объекта |
& lvalue |
* |
разыменование |
* выр |
new |
создание (размещение) |
new тип |
delete |
уничтожение (освобождение) |
delete указатель |
delete[] |
уничтожение вектора |
delete[ выр ] указатель |
() |
приведение (преобразование типа) |
( тип ) выр |
* |
умножение |
выр * выр |
/ |
деление |
выр / выр |
% |
взятие по модулю (остаток) |
выр % выр |
+ |
сложение (плюс) |
выр + выр |
- |
вычитание (минус) |
выр - выр |
В каждой отчерченной части находятся операции с одинаковым приоритетом. Операция имеет приоритет больше, чем операции из частей, расположенных ниже. Например: a+b*c означает a+(b*c), так как * имеет приоритет выше, чем +, а a+b-c означает (a+b)-c, поскольку + и - имеют одинаковый приоритет (и поскольку + левоассоциативен).
Сводка Операций (часть 2)
<< |
сдвиг влево |
lvalue << выр |
>> |
сдвиг вправо |
lvalue >> выр |
< |
меньше |
выр < выр |
<= |
меньше или равно |
выр <= выр |
> |
больше |
выр > выр |
>= |
больше или равно |
выр >= выр |
== |
равно |
выр == выр |
!= |
не равно |
выр != выр |
& |
побитовое И |
выр & выр |
^ |
побитовое исключающее ИЛИ |
выр ^ выр |
| |
побитовое включающее ИЛИ |
выр | выр |
&& |
логическое И |
выр && выр |
|| |
логическое включающее ИЛИ |
выр || выр |
? : |
арифметический if |
выр ? выр : выр |
= |
простое присваивание |
lvalue = выр |
*= |
умножить и присвоить |
lvalue = выр |
/= |
разделить и присвоить |
lvalue /= выр |
%= |
взять по модулю и присвоить |
lvalue %= выр |
+= |
сложить и присвоить |
lvalue += выр |
-= |
вычесть и присвоить |
lvalue -= выр |
<<= |
сдвинуть влево и присвоить |
lvalue <<= выр |
>>= |
сдвинуть вправо и присвоить |
lvalue >>= выр |
&= |
И и присвоить |
lvalue &= выр |
|= |
включающее ИЛИ и присвоить |
lvalue |= выр |
^= |
исключающее ИЛИ и присвоить |
lvalue ^= выр |
, |
запятая (последование) |
выр , выр |