
- •Лабораторна робота № 2_2. "Знайомство з Сі. Виконання програми простої структури"
- •1. Короткі теоретичні відомості
- •1.1. Структура програми
- •1.2. Константи і змінні
- •1.3. Операції
- •1.4. Вирази
- •1.5. Введення і виведення
- •1.5.1. Введення і виведення в стандартному Сі
- •2. Постановка задачі
- •4. Варіанти
- •5. Методичні вказівки
Програмування Лабораторна робота № 2_2
Лабораторна робота № 2_2. "Знайомство з Сі. Виконання програми простої структури"
Мета: Знайомство з середовищем програмування, створення, відладка і виконання простої програми, що містить введення-виведення інформації і найпростіші обчислення.
1. Короткі теоретичні відомості
Мова СІ створена в 1972 р. Деннісом Рітчи при розробці Ос Unix. Він проектувався як інструмент системного програмування з орієнтацією на розробку добре структурованих програм. Таким чином він поєднує в собі, з одного боку, засоби мови програмування високого рівня: опис типів даних, оператори for, while, if і т.д., а, з другого боку, містить засоби мови типа Ассемблер : регістрові змінні, адресну арифметику, можливість роботи з полями біт і т.д.
1.1. Структура програми
Програма на мові С має наступну структуру:
#директиви препроцесора
. . . . . . . . .
#директиви препроцесора
функція а ( )
оператори
функція в ( )
оператори
void main ( ) //функція, з якою починається виконання програми
оператори
описи
привласнення
функція
порожній оператор
складовий
вибору
циклів
переходу
Директиви препроцесора - управляють перетворенням тексту програми до її компіляції. Початкова програма, підготовлена на мові Сі у вигляді текстового файлу проходить 3 етапи обробки:
препроцесорне перетворення тексту;
компіляція;
компоновка (редагування зв'язків або збірка).
Після цих 3 етапів формується виконуваний машинний код програми.
Задача препроцесора - перетворення тексту програми до її компіляції. Правила препроцесорної обробки визначає програміст за допомогою директив препроцесора. Директива починається з #. Наприклад
1) #define - указує правила заміни в тексті.
#define ZERO 0.0
Означає, що кожне використовування в програмі імені ZERO замінюватиметься на 0.0.
2) #include< ім'я заголовного файла> - призначена для включення в текст програми тексту з каталога «Заголовних файлів», що поставляються разом із стандартними бібліотеками. Кожна бібліотечна функція Сі має відповідний опис в одному із заголовних файлів. Список заголовних файлів визначений стандартом мови. Вживання директиви include не підключає відповідну стандартну бібліотеку, а тільки дозволяють вставити в текст програми опису з вказаного заголовного файлу. Підключення кодів бібліотеки здійснюється на етапі компоновки, тобто після компіляції. Хоча в заголовних файлах містяться всі описи стандартних функцій, в код програми включаються тільки ті функції, які використовуються в програмі.
Після виконання препроцесорної обробки в тексті програми не залишається жодної препроцесорної директиви. Програма є набором описів і визначень, і складається з набору функцій. Серед цих функцій завжди повинна бути функція з ім'ям main. Без неї програма не може бути виконана. Перед ім'ям функції поміщаються відомості про тип що повертається функцією значення (тип результату). Якщо функція нічого не повертає, то указується тип void: void main ( ). Кожна функція, у тому числі і main повинна мати набір параметрів, він може бути порожнім, тоді в дужках указується (void).
За заголовком функції розміщується тіло функції. Тіло функції - це послідовність визначень, описів і виконуваних операторів, укладених у фігурні дужки. Кожне визначення, опис або оператор закінчується крапкою з комою.
Визначення - вводять об'єкти (об'єкт - це іменована область пам'яті, окремий випадок об'єкту - змінна), необхідні для уявлення в програмі оброблюваних даних. Прикладом є
int у = 10 ; //іменована константа
float x ; //змінна
Описи - повідомляють компілятор про властивості і імена об'єктів і функцій, описаних в інших частинах програми.
Оператори - визначають дії програми на кожному кроці її виконання.