Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
29.02.2016
Размер:
216.58 Кб
Скачать

Час існування і область видимості змінних

Кожна змінна, оголошена в програмі, має дві найважливіші характеристики:

час існування;

область видимості.

Ці характеристики взаємозалежні та істотно впливають на можливості використання змінної у програмі. Взаємозв'язок характеристик визначається способом виділення пам'яті для змінної.

Час існування, або час життя змінної, вимірюється у наступних двох відносних одиницях.

Локальний час життя — це час існування змінної при виконанні блоку, у якому вона оголошена.

Глобальний час життя — це час існування змінної при виконанні всієї програми.

Область видимості, або область дії змінної, також вимірюється в двох відносних одиницях.

1. До кінця блоку, у якому оголошена змінна.

2. До кінця файлу, у якому оголошена змінна.

Керувати цими характеристиками змінних програміст може двома шляхами:

1) зміною місця оголошення змінної у програмі;

2) використанням модифікаторів auto, register, static, extern.

Автоматична (auto) змінна або константа має локальну область дії і відома тільки всередині блоку, у якому вона визначена. Для автоматичної змінної виділяється тимчасова пам'ять. Пам'ять виділяється при вході в блок, а при виході з нього пам'ять, виділена для змінної, вважається вільною, тобто змінна знищується. Якщо специфікатор класу пам'яті не визначений, то зміна вважається автоматичною.

Регістрова (register) змінна відрізняється від автоматичної лише пам'яттю, що виділяється для її збереження. Регістрова змінна зберігається в регістрі процесора, і, відповідно, доступ до цієї змінної набагато швидший, ніж до змінної, яка зберігається в оперативній пам'яті (auto). У випадку відсутності вільних регістрів регістрова змінна стає автоматичною.

Зовнішня (extern) змінна є глобальною змінною. Специфікатор extern інформує компілятор, що змінна буде оголошена (без extern) в іншому файлі, де їй і буде виділена пам'ять.

Статичній (static) змінній (константі) виділяється пам'ять після її оголошення і зберігається до кінця виконання програми. Статичні змінні при оголошенні ініціалізуються нульовими (логічні, цілі і дійсні) порожніми значеннями.

Умовний оператор

Умовний оператор забезпечує виконання або невиконання деякого оператора або групи операторів в залежності від заданої умови. Оператор if є одним з самих популярних засобів, які змінюють звичайний порядок виконання операторів програми. Він використовується в одній з наступних форм:

If (умовний вираз) оператор1;

If (умовний вираз) оператор1;

else оператор2;

Якщо значення умовного виразу істинне (не нуль), то виконується onepamop1; якщо хибне (рівне нулю), то для першої форми onepamop1 пропускається, а для другої форми після пропуску onepamopa1 виконується onepamop2, що стоїть після слова else. Іноді після перевірки умови необхідно виконати більш ніж один оператор, тоді ту частину програми, яку треба виконати після if , заключаємо у фігурні дужки {}.

Приклад 1. Знайти мінімум з двох чисел x та y.

if(x<y) min=x;

else min=y;

cout<<"min="<<min;

Приклад 2. Перевірка коректності вводу змінної, яка повинна знаходитися у діапазоні від 1 до 31.

cin>>den;

if(den<l||den>31) соut<<"Помилка вхідних даних";

Приклад 3. Пошук максимуму з трьох чисел a, b, с.

if(a>b&&a>c) max=a;

else if(b>c) max=b;

else max=c;

cout<<"max="<<max;

Соседние файлы в папке Методичка_Ci