Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Вычисление значения выражения






При вычислении значений выражений, содержащих более одной операции, учитываются приоритет операций и порядок их расположения в выражении.

В приведенной ниже таблице рассмотренные к настоящему моменту операции языка C++ приведены в порядке убывания приоритета. Операции с разными приоритетами разделены чертой.

Таблица 3. Приоритеты операций

Операция Краткое описание Порядок выполнения
:: разрешение области видимости имен  
() повышение приоритета слева направо
Унарные операции: sizeof ~ ! - + (тип) и тип () ++ арг -- арг   определение размера поразрядное НЕ логическое НЕ изменение знака плюс преобразование типа префиксное инкрементирование префиксное декрементирование   справа налево
* / % умножение деление остаток от деления слева направо
+ - сложение вычитание слева направо
< < > > сдвиг влево сдвиг вправо слева направо
< < = > > = меньше меньше или равно больше больше или равно слева направо
== ! = равно не равно слева направо
& поразрядное И слева направо
^ поразрядное исключающее ИЛИ слева направо
| поразрядное ИЛИ слева направо
& & логическое И слева направо
|| логическое ИЛИ слева направо
?: условная тернарная операция справа налево
= *= /= %= += -= < < = > > = & = |= ^= присваивание умножение с присваиванием деление с присваиванием остаток от деления с присваиванием сложение с присваиванием вычитание с присваиванием сдвиг влево с присваиванием сдвиг вправо с присваиванием поразрядное И с присваиванием поразрядное ИЛИ с присваиванием поразрядное исключающее ИЛИ с присваиванием справа налево
, последовательность слева направо

При вычислении значений выражений, содержащих операции с разным приоритетом, операции с более высоким приоритетом выполняются раньше. Например, в выражении

x = y + 5

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

В выражении

a + b * c

сначала будет выполнено умножение b на c, а затем сложение a с полученным произведением. Изменять этот порядок можно при помощи скобок:

(a + b) * c

Теперь вначале выполнится суммирование a и b, а затем умножение полученной суммы на c.

Скобки могут быть вложенными, соответственно операции в самых внутренних скобках выполняются самыми первыми:

(a + (b * (c + d)) – e)

7. Язык C++: производные типы данных






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.