КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Змінні і виразиУ будь-якій програмі потрібно проводити обчислення. Для обчислення значень використовуються вирази, які складаються з операндів, знаків операцій і дужок. Операнди задають дані для обчислень. Операції задають дії, які необхідно виконати. Кожен операнд є, у свою чергу, виразом або одним з його окремих випадків, наприклад, константою або змінною. Операції виконуються відповідно до пріоритетів. Для зміни порядку виконання операцій використовуються круглі дужки. Розглянемо складові частини виразів і правила їх обчислення. Змінні Змінна — це іменована область пам'яті, в якій зберігаються дані визначеного типу. Змінна має ім'я і значення. Ім'я служить для звернення до області пам'яті, в якій зберігається значення. Під час виконання програми значення змінної можна змінювати. Перед використанням будь-яка змінна повинна бути описана.
Змінні Приклад опису цілої змінної з ім'ям а і дійсної змінної х: int а; float x; Розглянемо правила завдання складових частин цього оператора. ü Необов'язковий клас пам'яті може приймати одне із значень auto, extern, static і register. ü Модифікатор constпоказує, що значення змінної змінювати не можна. Таку змінну називають іменованою константою, або просто константою. ü При описі можна привласнити змінній початкове значення, це називається ініціалізацією. Ініціалізатор можна записувати в двох формах — із знаком рівності: = значення або в круглих дужках: (значення )
Загальний вид оператора опису змінних:
[клас пам'яті] [const] тип ім'я [ініціалізатор];
Константа повинна бути ініціалізована при оголошенні. У одному операторові можна описати декілька змінних одного типу, розділяючи їх комами. Приклади: short int а = 1; // ціла змінна а const char С = ‘С’; // символьна константа С char s, sf = 'f’; // ініціалізація відноситься тільки до sf char t (54); float с = 0.22, x(3), sum;
Якщо тип ініціалізованого значення, не співпадає з типом змінної, виконуються перетворення типу за певними правилами. Опис змінної, окрім типу і класу пам'яті, явно або за умовчанням задає її область дії. Клас пам'яті і область дії залежать не тільки від власне опису, але і від місця його розміщення в тексті програми. Область дії ідентифікатора— це частина програми, в якій його можна використовувати для доступу пов'язаної з ним області пам'яті. Залежно від області дії змінна може бути локальною або глобальною. Якщо змінна визначена усередині блоку (нагадаю, що блок обмежений фігурними дужками), вона називається локальною, область її дії — від точки опису до кінця блоку, включаючи всі вкладені блоки. Якщо змінна визначена поза будь-яким блоком, вона називається глобальною і областю її дії вважається файл, в якому вона визначена, від точки опису до його кінця. Клас пам'ятівизначає час життя і область видимості програмного об'єкту (зокрема, змінной). Якщо клас пам'яті не вказаний явним чином, він визначається компілятором виходячи з контексту оголошення. Час життяможе бути постійним (протягом виконання програми) і тимчасовим (протягом виконання блоку). Область видимості ідентифікатораназивається частина тексту програми, з якої допустимий звичайний доступ до пов’язаної з ідентифікатором області пам'яті. Найчастіше область видимості співпадає з областю дії. Виключенням є ситуація, коли у вкладеному блоці описана змінна з таким же ім'ям. В цьому випадку зовнішня змінна у вкладеному блоці невидима, хоча він і входить в її область дії. Проте до цієї змінної, якщо вона глобальна, можна звернутися, використовуючи операцію доступу до області видимості ::.
|