КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Порядок обчислення виразів
У кожної операції є пріоритет. Якщо у виразі декілька операцій, то першою буде виконана операція з вищим пріоритетом. Якщо ж операції одного і того ж пріоритету, вони виконуються зліва направо.
Наприклад, у виразі 2 + 3*6спочатку буде виконане множення, а потім складання, відповідно значення цього виразу число 20.
У виразі х = у+3спочатку виконується складання, а потім привласнення, оскільки пріоритет операції привласнення нижче складання.
Для даного правила існує виключення: якщо у виразі декілька операцій привласнення, то вони виконуються справа наліво. Н-р, у виразі
х = у = 2 спочатку виконається операція привласнення значення 2 змінній у. Потім результат цієї операції - значення 2 - буде привласнено змінною х.
Для того, щоб змінити послідовність обчислення виразів, можна скористатися круглими дужками. Значенням (2 + 3) * 6 буде 30.
Дужки можуть бути вкладеними, відповідно самі внутрішні виконуються найпершими!
(2 + (3 * (4 + 5) ) - 2)
Операції мови С++
Операція
| Дія
| Тип операндів
| Тип результату
| +складання - віднімання *множення,
/ ділення
| складання віднімання,
множення і ділення чисел
| Цілі або дійсні числа, байти
| Відповідає типу найбільш "довгого" операнду, тобто операнду, за допомогою якого можна виразити найбільше число
| % залишок
| Залишок від ділення першого операнду на другий
| Цілі числа або байти, перетворені в цілі числа
| Ціле число
| - мінус
| Зміна знаку числа
| Знакові числа і байти
| Співпадає з типом операнда
| + плюс
| Унарний плюс, результат операції - незмінений операнд
| Будь-які числа і байти
| Співпадає з типом операнда
| ++ збільшити на одиницю, префіксна форма
| Збільшити значення операнду на одиницю, результат — нове, збільшене значення операнду
| Цілі числа
| Тип результату співпадає з типом операнду
| -- зменшити на одиницю, префіксна форма
| Зменшити значення операнду на одиницю, результат — нове, зменшене значення операнду
| Цілі числа
| Тип результату співпадає з типом операнду
| ++ збільшити на одиницю, постфіксна форма
| Збільшити значення операнда на одиницю, результат - старе, незмінене значення операнду
| Цілі числа
| Тип результату співпадає з типом операнду
| - -зменшити на одиницю, постфіксна форма
| Зменшити значення операнда на одиницю, результат - старе, незмінене значення операнда
| Цілі числа
| Тип результату співпадає з типом операнда
| ==, != рівно, не рівно
| Порівняння двох операндів на рівність або нерівність
| Тип операндів може бути будь-якій, але або один і той же, або такі, що між ними визначено порівняння на рівність і нерівність
| Логічне значення
| >, <, <=, >= -менше, більше, менше або дорівнює, більше або дорівнює
| Порівняння двох операндів
| Тип операндів може бути будь-якій, але або один і той же вбудований, або такі, що між ними визначено відповідне порівняння
| Логічне значення
| && логічне І
| Кон’юнкция двох логічних умов
| Логічні значення
| Логічне значення
| || логічне АБО
| Диз'юнкція двох логічних значень
| Логічні значення
| Логічне значення
| ! логічне НІ
| Логічне заперечення
| Логічне значення
| Логічне значення
| & бітове І
| Побітове виконання операції І
| Цілі числа
| Ціле число
| | бітове АБО
| Побітове виконання операції АБО
| Цілі числа
| Ціле число
| ^ бітове ВИКЛЮЧАЮЧЕ АБО
| Побітове виконання операції ВИКЛЮЧАЮЧЕ АБО
| Цілі числа
| Ціле число
| ~ бітове НІ
| Зміна кожного біта в числі на протилежний
| Цілі числа
| Ціле число
| « зрушення вліво
| Побітове зрушення лівого операнду на кількість розрядів, відповідну значенню правого операнду
| Цілі числа
| Ціле число
| » зрушення управо
| Побітове зрушення лівого операнду на кількість розрядів, відповідну значенню правого операнду
| Цілі числа
| Ціле число
| ? : умовний вираз
| Трьохарна операція; якщо значення першого операнду - істина, то результат - другий операнд; якщо неправда - результат - третій операнд
| Перший операнд логічне значення, другий і третій операнди можуть мати будь-який, але один і той же тип
| Тип другого і третього операндів
| , послідовність
| Виконати вираз до коми, потім вираз після коми
| Довільні
| Тип другого виразу
| = присвоювання
| Присвоїти значення правого операнда лівому
| Довільні, але для типу лівого операнда повинна існувати операція присвоєння з типом правого операнда
| Тип лівого операнда
| +=, -=, *=, /=, %=, |=, &=, ^=, «=, »= виконати операцію і присвоїти
| Виконати відповідну операцію з лівим операндом і правим операндом і присвоїти результат лівому операнду
| Типи операндів повинні бути такими, що, по-перше, відповідна арифметична операція визначена для них, а по-друге, результат може бути присвоєний лівому операнду
| Тип лівого операнда
|
|