
- •Лабораторна робота №3 Оператори та операції.
- •Теоретичні відомості
- •Арифметичні операції
- •Операції відношення
- •Логічні і побітові операції
- •Операції присвоювання
- •Інші операції
- •Блоки і складові оператори
- •Порожній оператор
- •Оператори розгалуження та переходу
- •Оператор циклу
- •Завдання
- •I. (по варіантах)
- •Лабораторна робота №5
- •Завдання
Операції присвоювання
До операцій присвоювання відносять = , += , -= , *= , /= , %= , <<= , >>= , &= , ^= , |= , а також префіксні і постфіксні операції ++ і --. Всі операції присвоювання присвоюють змінній результат обчислення виразу. Якщо тип лівої частини присвоювання відрізняється від типу правої частини, то тип правої частини приводиться до типу лівої.
У одному операторі операція присвоювання може зустрічатися декілька разів. Обчислення відбуваються справа ліворуч.
Наприклад:
a = ( b = c ) * d;
Спочатку змінний b присвоюється значення с, потім виконується операція множення на d, і результат присвоюється змінний а.
Операції +=, -=, *= і /= є вкороченою формою запису операції присвоювання. Їхнє застосування проілюструємо за допомогою такого опису:
a += b означає a = a + b
a -= b означає a = a-b.
a *= b означає a = a*b.
a /= b означає a = a/b.
Префіксні і постфіксні операції ++ і -- використовують для збільшення (інкремент) і зменшення (декремент) на одиницю значення змінної.
Семантика зазначених операцій така:
++a збільшує значення змінної а на одиницю до використання цієї змінної у виразі.
а++ збільшує значення змінної а на одиницю після використання цієї змінної у виразі.
--a зменшує значення змінної а на одиницю до використання цієї змінної у виразі.
a-- зменшує значення змінної a на одиницю після використання цієї змінної у виразі.
Інші операції
Операцію sizeof (розмір) можна застосувати до константи, типу або змінної. В результаті буде отримане число байтів, які зайняті операндом.
Наприклад:
printf ( “\nРозмір пам’яті під ціле %d”, sizeof( int) ); printf ( “\n Розмір пам’яті під cимвол %d”, sizeof( сhar) );
Керуючі структури С/C++
Керуючі структури або оператори керування служать для керування послідовністю обчислень у програмі. Оператори розгалуження і цикли дозволяють переходити до виконання іншої частини програми або виконувати якусь частину програми багаторазово, поки задовольняється одна або більше умов.
Блоки і складові оператори
Будь-яка послідовність операторів, що взяті в фігурні дужки, є складовим оператором (блоком). Складовий оператор не повинен закінчуватися (;), оскільки обмежувачем блоку служить сама дужка, яка закривається. Всередині блока кожний оператор повинен обмежуватися (;).
Складовий оператор може використовуватися скрізь, де синтаксис мови допускає застосування звичайного оператора.
Порожній оператор
Порожній оператор представляється символом (;), перед котрим немає виразу. Порожній оператор використовують там, де синтаксис мови вимагає присутності в даному місці програми оператора, проте за логікою програми оператор повинен бути відсутнім.
Необхідність у використанні порожнього оператора часто виникає, коли дії, що можуть бути виконані в тілі циклу, цілком поміщаються в заголовку циклу.
Оператори розгалуження та переходу
До операторів розгалуження та переходу відносять if, if else, switch, break, continue, case і goto. Загальний вигляд простих операторів розгалуження такий:
if (логічний_вираз) оператор;
if (логічний_вираз) оператор_1;
else оператор_2;
логічний_вираз ? оператор_1 : оператор_2;
Якщо значення логічного виразу істинно, то виконується оператор_1, у протилежному випадку виконується оператор_2.
Оператор вибору switch є складним оператор розгалуження, що дозволяє організувати вибір більше ніж двох варіантів розгалуження:
switch (вираз_цілого_типу)
{ case значення_1: послідовність_операторів_1; break;
case значення_2: послідовність_операторів_2; break;
. . .
case значення_n: послідовність_операторів_n; break;
default: послідовність_операторів_n+1;
}
Гілку default можна не описувати. Вона виконується, якщо жодна з попередніх умов не задовольняється.
Оператор break не є частиною оператора розгалуження. Він може викликатись у будь якому блоці програми для примусового виходу з блоку (break передає управління оператору, записаному після закриваючої фігурної дужки } блоку).
Оператор continue повертає виконання програми на початок блоку.
Оператор goto є оператором безумовного переходу на мітку.