- •1. Краткие теоретические сведения
- •1.1. Операции сравнения и логические операции
- •1.1.1. Операции сравнения
- •1.1.2. Логические операции
- •1.1.3. Логические выражения
- •1.2. Приоритет операций
- •1.3. Разветвляющийся вычислительный процесс
- •1.5. Оператор перехода
- •1.6. Пустой оператор
- •1.7.1. Короткая форма условного оператора
- •1.7.2. Полная форма условного оператора
- •1.9. Понятие составного оператора (группы операторов)
- •1.10.1. Проверка двух или более условий
- •1.10.5. Обработка нескольких условий
- •1.10.6. Вложенный условный оператор
- •1.11. Рекомендации по заданию исходных значений переменным
- •1.11.1. Операторы присваивания
- •1.11.2. Операторы ввода
- •1.11.3. Инициализация переменных
- •1.11.4. Именованные константы
- •1.12. Оператор множественного выбора switch
- •1.13. Использование отступов для улучшения удобочитаемости вашей программы
- •2. Задание
- •2.4. Задания для выполнения на занятиях
- •2.4.1. Задание 1
- •2.4.1.1. Условие задания
- •2.4.2. Задание 2
- •2.4.3. Задание 3
- •2.4.4. Задание 4
- •2.5. Задания для выполнения дома
- •2.5.1. Задание 1
- •2.5.2. Задание 2
- •3.6. Пример программы
- •3.7. Типичные ошибки при выполнении работы
- •2.5.3. Задание 3
- •3. Выводы
- •4. Требование к отчету
- •4. Краткие теоретические сведения.
- •5. Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
- •1.1. Операции сравнения и логические операции 2
- •1.1.1. Операции сравнения 2
1.2. Приоритет операций
В лабораторной работе № 4 отмечалось, что требуемый порядок выполнения операций программист может задать с помощью круглых скобок. Если же круглые скобки не определяют полностью порядок выполнения операций, то операции выполняются в соответствии с их приоритетами (старшинством, рангом).
С учетом рассмотренных в данной лабораторной работе операций сравнения и логических операций, а такие арифметических операций, рассмотренных ранее в лабораторной работе № 3, приведем окончательный список всех операций языка С++, упорядоченных согласно их приоритетам (табл. 6.4).
Таблица 6.4
Ранг |
Порядок |
Операция (оператор) |
Действие |
Применение |
1 |
Л |
: : |
Глобальная область видимости |
: : имя |
1 |
Л |
: : |
Область видимости класса |
класс::имя |
1 |
Л |
: : |
Область видимости пространства имен |
пространствоимен::имя |
2 |
Л |
. |
Обращение к члену класса |
объект.член |
2 |
Л |
- > |
Обращение к члену класса |
указатель->член |
2 |
Л |
[] |
Индексирование |
переменная [выражение] |
2 |
Л |
() |
Вызов функции |
имя(список_выражений) |
2 |
Л |
() |
Создание типа |
тип(список_выражений) |
3 |
П |
++ |
Постфиксный инкремент |
1 -значение++ |
3 |
П |
-- |
Постфиксный декремент |
1-значение-- |
3 |
П |
typeid |
Идентификатор типа |
typeid(тип) |
3 |
П |
typeid |
Идентификатор типа времени выполнения |
typeid(выражение) |
3 |
П |
Явное приведение |
Преобразование типов |
имя_приведения<тип>(выражение) |
4 |
П |
sizeof |
Размер объекта |
sizeof выражение |
4 |
П |
sizeof |
Размер типа |
sizeof(тип) |
4 |
П |
++ |
Префиксный инкремент |
++1 -значение |
4 |
П |
-- |
Префиксный декремент |
- -1 -значение |
4 |
П |
~ |
Побитовый NOT |
~выражение |
4 |
П |
! |
Логический NOT |
!выражение |
4 |
П |
- |
Унарный минус |
-выражение |
4 |
П |
+ |
Унарный плюс |
+выражение |
4 |
П |
* |
Обращение к значению |
*выражение |
4 |
П |
& |
Обращение к адресу |
&выражение |
4 |
П |
() |
Преобразование типов |
(тип) выражение |
4 |
П |
new |
Создание объекта |
new тип |
4 |
П |
delete |
Освобождение объекта |
delete выражение |
4 |
П |
delete [] |
Освобождение массива |
delete [] выражение |
5 |
Л |
->* |
Указатель на член класса |
указатель ->* указатель_на_ член |
5 |
Л |
. * |
Указатель на член класса |
объект .* указатель_на_ член |
6 |
Л |
* |
Умножение |
выражение * выражение |
6 |
Л |
/ |
Деление |
выражение / выражение |
6 |
Л |
% |
Деление по модулю (остаток) |
выражение % выражение |
7 |
Л |
+ |
Сумма |
выражение + выражение |
7 |
Л |
- |
Разница |
выражение - выражение |
8 |
Л |
<< |
Побитовый сдвиг влево |
выражение << выражение |
8 |
Л |
>> |
Побитовый сдвиг вправо |
выражение >> выражение |
9 |
Л |
< |
Меньше |
выражение < выражение |
9 |
Л |
< = |
Меньше или равно |
выражение <= выражение |
9 |
Л |
> |
Больше |
выражение > выражение |
9 |
Л |
> = |
Больше или равно |
выражение >= выражение |
10 |
Л |
== |
Равенство |
выражение == выражение |
10 |
Л |
!= |
Неравенство |
выражение != выражение |
11 |
Л |
& |
Побитовый AND |
выражение & выражение |
12 |
Л |
^ |
Побитовый XOR |
выражение ^ выражение |
13 |
Л |
| |
Побитовый OR |
выражение | выражение |
14 |
Л |
&& |
Логический AND (конъюнкция «И») |
выражение && выражение |
15 |
Л |
|| |
Логический OR (дизъюнкция «ИЛИ») |
выражение || выражение |
16 |
П |
?: |
Условная операция |
выражение ? выражение : выражение |
17 |
П |
= |
Присвоение |
1-значение = выражение |
17 |
П |
*=, /=, %=, |
Составные операторы присвоения |
1-значение += выражение и т.д. |
17 |
П |
+=, -= |
||
17 |
П |
<<=, >>= |
||
17 |
П |
&=, |=, ^= |
||
18 |
П |
throw |
Передача исключения |
throw выражение |
19 |
Л |
, |
Запятая |
выражение , выражение |
Напомним, что наивысший приоритет имеют операции под номером 1, затем операции под номером 2 и так далее.