ОПАМ_04.ppt
- Количество слайдов: 11
Операції та вирази
Операції збільшення і зменшення на 1 (++ і --). Ці операції ще називають інкрементом та декрементом, мають дві форми запису — префіксну, коли операція записується перед операндом, і постфіксну. В префіксній формі спочатку змінюється операнд, а потім його значення стає результуючим значенням виразу, а в постфіксній формі значенням виразу є початкове значення операнда, після чого він змінюється. Наприклад: int c, ; int x = 3, c=++x; //c=4; y= x=4; c=x++; //c=3; x=4;
Операція визначення розміру sizeоf Призначена для обчислення розміру об'єкта або типу в байтах і має дві форми: sizeof вираз sizeof ( тип ) float x = 1; sizeof (float) (4) sizeof x (4 )
Операції заперечення • Арифметичне заперечення (унарний мінус -) змінює знак операнда цілого або дійсного типу на протилежний. • Логічне заперечення (!) дає в результаті значення 0, якщо операнд є істина (не нуль), і значення 1, якщо операнд рівний нулю. • Порозрядне заперечення (~), часто зване побітовим, інвертує кожний розряд у двійковому представленні цілочисельного операнда.
1. 2. 3. 4. Операція ділення (/) застосовується до операндів арифметичного типу. Операція залишку від ділення (%) застосовується тільки до цілочисельних операндів. Операції зсуву (<< і >>) застосовуються до цілочисельних операндів. Вони зсувають двійкове представлення першого операнда вліво або вправо на кількість двійкових розрядів, задану другим операндом. При зсуві вліво (<<) звільнені розряди обнуляються. При зсуві вправо (>) звільнені біти заповнюються нулями. Операції відношення (<, <=, >, >=, =, !=) порівнюють перший операнд із другим. Результатом операції є значення true або false (будь-яке значення, не рівне нулю, інтерпретується як true).
• • Порозрядні операції (&, |, ^) застосовуються тільки до цілочисельних операндів і працюють із їх двійковим представленням. При виконанні операцій операнди зіставляються побітово (перший біт першого операнда з першим бітом другого, другий біт першого операнда з другим бітом другого і т д. ). При порозрядній кон'юнкції, або порозрядному І (операція позначається &), біт результату рівний 1 тільки тоді, коли відповідні біти обох операндів рівні 1. При порозрядній диз'юнкції, або порозрядному АБО (операція позначається |), біт результату рівний 1 тоді, коли відповідний біт хоча б одного з операндів рівний 1. При порозрядному виключенні АБО (операція позначається ^) біт результату рівний 1 тільки тоді, коли відповідний біт тільки одного з операндів рівний 1. #include <iostream. h> int main() { cout << "n 6 & 5 = " << (6 & 5); cout << "n 6 | 5 = " << (6 | 5); cout << "n 6^5 = " << (6 ^ 5): return 0; } Результат роботи програми: 6&5=4 6|5=7 6^5 = 3
Таблиця порозрядних операцій x y x&y x|y x^y x~ y~ 0 0 0 1 1 1 0 0 1 1 1 1 1 0 0 0 y<<1 y>>2 * * * *
• Логічні операції (&& і ||). Результатом логічної операції є true чи false. Результат операції логічне І має значення true, тільки якщо обидва операнди мають значення true. Результат операції логічне АБО має значення true, якщо хоча б один з операндів має значення true.
Таблиця істинності А B && || !A 0 0 1 0 1 1 1 0 0 1 1 1 1 0
• Операції надання присвоєння (= , +=, =, *= і т. д. ). Операції присвоєння можуть використовуватися в програмі як закінчені оператори. Формат операції простого присвоєння (=): операнд_1= операнд_2 Перший операнд повинен бути значенням, другий — виразом. Приклад: А=5; В=3; А+=В+2; // А =10;
Умовна операція (? : ) Ця операція має три операнди. Формат: операнд_1 ? операнд_2 : операнд_3 Перший операнд може мати арифметич-ний тип. Якщо результат обчислення операнда 1 рівний true, то результатом умовної операції буде значення другого операнда, інакше — третього операнда. Обчислюється завжди або другий операнд, або третій. Приклад: int а = 11, b = 4, max; max = (b > а) ? b : а; // max = 11
ОПАМ_04.ppt