Операції Лекція 3. 1
План: l l l Операції Перетворення у процесі обчислення Пріоритет операцій 2
Унарні (одномісні) операції l l l l l - арифметичне заперечення (заперечення і доповнення); ~ побітове логічне заперечення (доповнення); ! логічне заперечення; * розадресація (непряма адресація); & обчислення адреси; + унарний плюс; ++ збільшення (інкремент); -- зменшення (декремент); sizeof розмір. 3
Бінарні (двомісні) операції Знак операції Операція * Множення / Ділення % Додавання - Мультиплікатив ні Остача від ділення + Група операцій Віднімання Адитивні 4
Бінарні (двомісні) операції Знак операції Операція << Зсув ліворуч >> Зсув праворуч < Менше <= Менше або дорівнює >= Більше або дорівнює == Дорівнює != Група операцій Операції зсуву Не дорівнює Операції відношення 5
Бінарні (двомісні) операції Знак операції Операція Група операцій & Порозрядне І (И) Порозрядні операції | Порозрядне АБО (ИЛИ) ^ Порозрядне виключне АБО (ИЛИ) && Логічне І(И) || Логічне АБО (ИЛИ) Логічні операції 6
Бінарні (двомісні) операції Знак операції Операція Група операцій , Послідовне обчислення Послідовного обчислення = Присвоєння Операції присвоєння 7
Бінарні (двомісні) операції Знак операції Операція *= Множення з присвоєнням /= Група операцій Ділення з присвоєнням %= Остача від ділення з присвоєнням -= Віднімання з присвоєнням += Операції присвоєння Додавання з присвоєнням 8
Бінарні (двомісні) операції Знак операції Операція Група операцій <<= Зсув вліво з присвоєнням >>= Зсув праворуч з присвоєнням Операції присвоєння &= Порозрядне І(И) з присвоєнням |= Порозрядне АБО (ИЛИ) з присвоєнням ^= Порозрядне виключне АБО(ИЛИ) з присвоєнням 9
Приклади арифметичних унарних операцій Операція Знак Ефект Приклади Інкремент ++ Збільшує операнд на одиницю ++х; х++ Декремент -- Зменшує операнд на одиницю --х; х-- Приклади: x=10; y=x++; Результат виконання х дорівнює 11 у дорівнює 10 х=10; у=++х; Результат виконання х дорівнює 10 у дорівнює 11 10
Приклади бінарних арифметичних операцій Операція Знак Ефект Приклади Додавання + Додає до одного операнда інший х+у Віднімання - Віднімає один операнд від іншого х–у Множення * Множить один операнд на інший х*у Ділення / Ділить один операнд на інший х/у Остача від ділення (ділення по модулю) % Створює остачу від ділення першого оператора на інший х%у Приклад : у = 12%5 Результат 2 11
Приклад тернарної (трьохмісної) операції l формат операції <операнд_1> ? <операнд_2> : < операнд_3> Якщо операнд_1 дорівнює TRUE, то весь вираз дорівнює операнд_2, інакше весь вираз дорівнює операнд_3. Приклад 1: x = y ? 1 : 100 Приклад 2: l max = (d<=b) ? b : d; l Змінній max присвоюється максимальне значенння змінних d та b. 12
Перетворення у процесі обчислення виразів l l l l l Загальні арифметичні перетворення 1. Операнди типу float перетворюються на double. 2. Якщо один операнд long double, то інший перетворюється на той же тип. 3. Якщо один операнд double, то інший перетворюється на той же тип. 4. Будь-які операнди типа char и short перетворюються на int. 5. Будь-які операнди unsigned char або unsigned short перетворюються на unsigned int. 6. Якщо один операнд типа unsigned long, то і інший типу unsigned long. 7. Якщо один операнд типа long, то і інший типу long. 8. Якщо один операнд типа unsigned int, то інший операнд перетворюється на той же тип. 13
Пріоритет операцій і порядок обчислення Пріоритет Знак операції Типи операції Порядок обчислення 2 () []. -> Вираз Зліва направо 1 - ~ ! * & ++ -- sizeof приведення типів Унарні Справа налево 3 */% Мультиплік ативні 4 +- Адитивні 5 << >> Зсув Зліва направо 14
Пріоритет операцій і порядок обчислення Пріоритет Знак операції Типи операції 6 < > <= >= Відношення 7 == != Відношення (рівність) 8 & Поразрядне І(И) Порядок обчислення 9 10 ^ Поразрядне виключне АБО (ИЛИ) | Зліва направо Поразрядне АБО(ИЛИ) 15
Пріоритет операцій і порядок обчислення Пріоритет Знак операції Типи операції 11 && Логічне І (И) 12 || Логічне АБО(ИЛИ) 13 ? : Умовна 14 = *= /= %= += -= &= |= >>= <<= ^= Просте и складене присвоєння Зправа наліво , Послідовне обчислення Зліва направо 16 15 Зліва направо