Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
R4_КП_12.doc
Скачиваний:
8
Добавлен:
23.11.2018
Размер:
605.18 Кб
Скачать

Структура програми на мові с

Структура програми на С відповідає наступному формату:

<програма> ::= <директиви препроцесора> <зовнішні оголошення> <функції> |

<директиви препроцесора> <функції>

Директиви препроцесора. Задачею препроцесора є перетворення (доповнення) тексту програми до початку її компіляції. Розрізняють наступні директиви препроцесора.

  • Директиви підключення заголовних файлів. Дані директиви служать для підключення до тексту програми текстів заголовних файлів (мають стандартне розширення .h). Заголовний файл – це файл, що містить описи всіх функцій бібліотеки та оголошення типів даних і констант, які використовуються цими функціями. Список заголовних файлів визначається стандартом мови.

Формат підключення:

    • # include <ім'я> - підключення стандартних заголовних файлів;

    • # include “ім'я” - підключення заголовних файлів користувача (пошук у поточному каталозі).

Наприклад,

#include <iostream.h> // підключення засобів потокового введення-виведення

#include < stdio.h> // підключення засобів форматованого введення-виведення

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

  • Макровизначення. Визначають правила заміни в тексті програми. Формат задання:

#define < ім'я> <значення>

Наприклад,

#define n 5 // кожне використання у програмі імені n буде замінюватися на 5

#define group “ІП-01” // кожне використання імені group буде замінюватися на ІП-01

  • Виведення повідомлення про помилку.

#error <повідомлення> та інші.

Зовнішні оголошення. Зовнішні оголошення – це глобальні описи даних (змінних або констант). Описи змінних виступають в С++ у двох формах:

  • оголошення (присвоєння типу),

  • визначення (присвоєння типу і ініціалізація).

Оголошення змінної задає її ім'я і атрибути та призводить до виділення для неї пам'яті відповідного розміру. БНФ-нотація оголошення змінної:

<оголошення змінної>::= <тип> <ім'я>{,<ім'я>}

Наприклад,

char c;

int a, b;

Визначення змінної, окрім того, задає початкове значення змінної (явно або неявно). Всі змінні повинні бути описані до їх використання. БНФ-нотація визначення змінної:

< визначення змінної>::= <тип> <ім'я>=<значення>{,<ім'я>=<значення>}

Наприклад,

int a=3, b=с=5;

Якщо при оголошенні змінної використати ключове слово const, то одержуємо тип, що має ті ж властивості, що й вихідний, за винятком того, що значення змінної типу const не може змінюватися після ініціалізації. Константа повинна ініціалізуватися при оголошенні. Для змінних ініціалізація необов'язкова, але настійно рекомендується.

Функція - частина програми, що виконує логічно завершений набір дій. В С++ вона є єдиним способом представлення підпрограм. Формат оголошення функції:

<тип результату> <ім'я>([<параметри>]) // заголовок функції

{ … } // тіло функції

Тіло функції може містити описи констант, змінних і оператори мови, які відокремлюються символом «;». Описи даних можуть зустрічатися в будь-якому місці функції, але до першого звертання до змінної. Якщо параметри у функції відсутні, то в заголовку все рівно записуються круглі дужки. За замовчуванням тип функції - int.

Одна з функцій програми на мові С++ повинна мати ім'я main. Саме з неї починається виконання програми. Функція main визначає дії, що виконуються програмою, і викликає інші функції. Якщо програма містить тільки одну функцію, то вона і є головною (має ім'я main).

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

Розглянемо найпростіший приклад програми на С++ :

#include <iostream.h> // директива препроцесора

main() // головна функція

{

cout << "Hello,world\n"; // виведення повідомлення на екран

}

Рядок #include повідомляє компілятору, щоб він включив стандартні можливості потоку введення і виведення, що є у файлі iostream.h. Без цих описів вираз cout<<"Hello,world\n" не мав би змісту. Операція << ("помістити в") пише свій перший аргумент у другий (рядок "Hello,world\n" у стандартний потік виведення cout). У даному рядку символ “\n “ є управляючим символом переходу на новий рядок. Частина програми

main()

{ ...

}

визначає головну функцію main.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]