Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КТіП Лекції 20110516 (1).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆
  1. Структура програми

    1. Функція main

Найкоротша програма, яку можна написати мовою програмування С++, компіляція якої не викличе помилок, і яка, зрозуміло, не буде виконувати корисних дій, має такий вигляд:

int main(){}

При структурному підході до написання програм їх основною складовою частиною є функція. Функція – це синтаксично і логічно завершений самостійний фрагмент програми, що має власне ім’я і реалізує певну задачу. У програмах мовою С++ використовуються два види функцій – бібліотечні, які створені розробниками компілятору і зберігаються в бібліотеці системи програмування, і користувацькі функції, які створює програміст у даній програмі. Окремим типом функції є функція main. Вона обов’язково має бути присутньою у програмі, і саме з цієї функції починається виконання програми, її закінчення викликає завершення роботи всієї програми. Функцію main називають точкою входу в програму.

Всі функції С++ мають однакову структуру:

тип_значення_функції ім’я_функції (список_параметрів) {

тіло_функції

}

Початкова частина функції, яка складається з типу значень функції, імені функції і списку оголошень параметрів функції, записаного в круглих дужках, називається заголовком функції. Тіло функції охоплюється фігурними дужками і формується з описів даних і операторів, що реалізують дії, які повинна виконувати дана функція.

Відповідно до стандарту, функція main має повертати значення типу int. Список параметрів для неї можна залишати порожнім, в фігурних дужках записують описи змінних і оператори програми.

    1. Область дії змінної

Область дії змінної залежить від того, в якому місці програми вона оголошена. Оголошення змінних можна записати:

  1. поза межами всіх функцій – це глобальна змінна, яку можна використовувати у будь якому місці програми, починаючи від точки її оголошення, глобальні змінні автоматично ініціалізуються нульовими значеннями;

  2. всередині функцій або програмних блоків – такі змінні називають локальними, область дії локальної змінної обмежена функцією чи програмним блоком, в якому оголошено дану змінну;

  3. в списку формальних параметрів функцій – локальні змінні, діють в межах функції.

Наприклад, виконуємо програму:

#include <iostream>

using namespace std;

int a; // Глобальна змінні

int main(){

int b; // Локальна змінна

cout << "a=" << a << endl; // Виводить 0

cout << "b=" << b << endl; // Попередження, випадкове

// число

}

Змінна а глобальна, їй автоматично буде присвоєне значення 0. При спробі вивести значення змінної b на екран компілятор видасть попередження – змінна не була ініціалізована. При ігноруванні цього попередження на екрані з’явиться випадкове число.

В наступному прикладі змінна оголошена всередині блоку операторів:

#include <iostream>

using namespace std;

int a;

int main(){ // Початок блоку операторів 1

int b = 123;

{ // Початок блоку операторів 2

int c = 456; // Змінна с створена

cout << "a=" << a << endl;

cout << "b=" << b << endl;

cout << "c=" << c << endl;

} // Кінець блоку операторів 2, змінна с знищена

cout << "a=" << a << endl;

cout << "b=" << b << endl;

cout << "c=" << c << endl; // Помилка, змінної с

// не існує

} // Кінець блоку операторів 1

В цьому прикладі а – глобальна змінна, b і c – локальні змінні. Змінна а доступна в будь якому місці програми, час її життя співпадає з часом виконання програми. Змінні, оголошені всередині блоку операторів, існують з моменту оголошення і до завершення виконання операторів цього блоку. Тобто, змінна доступна у блоці, в якому вона оголошена, і у всіх вкладених в цей блок блоках.

У програмі два блока операторів, блок 2 вкладений в блок 1. У блоці 2 доступні всі змінні програми. Після закінчення виконання цього блоку будуть знищені всі змінні, які в ньому оголошені. В нашому випадку це змінна с. Тому, коли ми будемо намагатися вивести на екран значення змінної с другий раз, виникне помилка – такої змінної на цей час існувати не буде.