- •Основні конструкції мови програмування Базові поняття мови програмування
- •Структура програм
- •Структура програми на мові Рascal
- •Структура програми на мові с
- •Введення-виведення інформації
- •Введення-виведення даних мовою Pascal
- •Введення/виведення даних в с
- •Оператори
- •Оператори реалізації послідовного процесу
- •Оператори розгалуження
- •Оператори циклу.
- •[Ред.] Перевірка типів
- •[Ред.] Діапазон числових типів даних
- •[Ред.] Примітки
Структура програми на мові с
Структура програми на С відповідає наступному формату:
<програма> ::= <директиви препроцесора> <зовнішні оголошення> <функції> |
<директиви препроцесора> <функції>
Директиви препроцесора. Задачею препроцесора є перетворення (доповнення) тексту програми до початку її компіляції. Розрізняють наступні директиви препроцесора.
-
Директиви підключення заголовних файлів. Дані директиви служать для підключення до тексту програми текстів заголовних файлів (мають стандартне розширення .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.