Читайте также: |
|
Тема: Знайомство з інтегрованим середовищем мови програмування С. Введення, відлагодження та виконання програми простої структури.
Мета роботи: Ознайомитись з функціональними можливостями інтегрованого середовища мови C, навчитись вводити, відлагоджувати і виконувати програми простої структури, використовуючи засоби середовища C.
1 Короткі теоретичні відомості
Мова СІ створена в 1972 р. Денісом Річі при розробці ОС Unix. Вона проектувалася як інструмент системного програмування з орієнтацією на розробку добре структурованих програм. Мова поєднує в собі, з одного боку, засоби мови програмування високого рівня: опис типів даних, оператори for, while, if і т.ін., а з іншого боку, містить засоби мови типу Асемблер: адресну арифметику, можливість роботи з полями бітів і т.ін.
Структура програми. Програма мовою С має таку структуру:
#директиви препроцесора
.........
#директиви препроцесора
функція а ()
оператори
функція в ()
оператори
void main () { //функція, з якої починається виконання програми
оператори; функція { оператори;}
}
Директиви препроцесора - управляють перетворенням тексту програми до її компіляції. Початкова програма, підготована мовою СІ у вигляді текстового файлу проходить 3 етапи обробки:
1) препроцесорне перетворення тексту;
2) компіляція;
3) компонування (редагування зв'язків або зборка).
Після цих 3 етапів формується виконавчий машинний код програми. Завдання препроцесора - перетворення тексту програми до її компіляції. Правила препроцесорної обробки визначає програміст за допомогою директив препроцесора.
Директива починається з #. Наприклад,
1) #define - вказує правила заміни в тексті. #define ZERO 0.0
Означає, що кожне використання в програмі імені ZERO буде замінятися на 0.0.
2) #include< ім'я заголовкового файлу> - призначена для включення в текст програми тексту з каталогу «Заголовкових файлів», що надходять разом зі стандартними бібліотеками. Кожна бібліотечна функція СІ має відповідний опис в одному із заголовкових файлів. Список заголовкових файлів визначений стандартом мови. Вживання директиви include не підключає відповідну стандартну бібліотеку, а тільки дозволяє вставити в текст програми описи із зазначеного заголовкового файлу. Підключення кодів бібліотеки здійснюється на етапі компонування.. Хоча в заголовкових файлах містяться всі описи стандартних функцій, у код програми включаються тільки ті функції, які використовуються в програмі.
Після виконання препроцесорної обробки в тексті програми не залишається жодної препроцесорної директиви. Програма є набором описів і визначень, і складається з набору функцій. Серед цих функцій завжди повинна бути функція з ім’ям main. Без неї програма не може бути виконана. Перед ім'ям функції міститься інформація про тип значення, що повертається функцією, (тип результату). Якщо функція нічого не повертає, то вказується тип void: void main (). Кожна функція, у тому числі й main повинна мати набір параметрів, він може бути порожнім, тоді в дужках вказується (void).
За заголовком функції розташовується тіло функції. Тіло функції - це послідовність визначень, описів й виконавчих операторів, взятих у фігурні дужки. Кожне визначення, опис або оператор закінчується крапкою з комою.
Визначення - вводять об'єкти (об'єкт - це іменована область пам'яті, окремий випадок об'єкту - змінна), необхідні для представлення в програмі даних, що обробляються. Прикладом є
int y = 10; //іменована константа
float x; //змінна
Описи - повідомляють компілятору про властивості й імена об'єктів і функцій, описаних в інших частинах програми.
Оператори - визначають дії програми на кожному кроці її виконання.
Константи й змінні. Константа - це значення, яке не може бути змінене в процесі виконання програми.
Змінні можна змінювати. При заданні значення змінної у відповідну їй область пам'яті записується код цього значення. Доступ до значення можливий через ім'я змінної, а доступ до ділянки пам'яті – через її адресу. Кожна змінна перед використанням у програмі повинна бути визначена, тобто їй повинна бути виділена пам'ять. Розмір ділянки пам'яті, виділеної для змінної й інтерпретація вмістимого залежать від типу, зазначеного у визначенні змінної. Найпростіша форма визначення змінних:
тип список_імен_змінних;
Основні типи даних. Основні типи даних наведено в таблиці.
Назва типу даних | Ключове слово | Розмір б | Діапазон значень |
символьний | char | 0.. 255 | |
беззнаковий цілий | unsigned int | 0.. 65535 | |
короткий цілий | short int | -32768.. 32767 | |
беззнаковий короткий цілий | unsigned short | 0.. 65535 | |
цілий | int | -32768.. 32767 | |
беззнаковий довгий цілий | unsigned long | 0.. 4294967295 | |
довгий цілий | long | -214748348.. 2147483647 | |
дійсний одинарної точності | float | 3.4Е-38.. 3.4Е+38 | |
дійсний подвійної точності | double | 1.7Е-308.. 1.7Е+308 | |
дійсний максимальної точності | long double | 3.4Е-4932.. 1.1Е+4932 |
Відповідно до синтаксису мови змінні після визначення за замовчуванням мають невизначені значення. Змінним можна присвоювати початкові значення, явно вказуючи їх у визначеннях:
тип ім'я_змінної = початкове_значення;
Цей прийом називається ініціалізацією.
Приклади:
float pi = 3.14, cc=1.3456;
unsigned int year = 1999;
Операції.
Унарні операції
++ | збільшення на одиницю: (інкременту) префіксна операція - збільшує операнд до його використання, постфіксна операція збільшує операнд після його використання. |
-- | зменшення на одиницю: (декременту) префіксна операція - зменшує операнд до його використання, постфіксна операція зменшує операнд після його використання. |
Бінарні операції.
+ | бінарний плюс (додавання арифметичних операндів) | ||
- | бінарний мінус (віднімання арифметичних операндів) | ||
* | множення операндів арифметичного типу | ||
/ | ділення операндів арифметичного типу (якщо операнди цілочисельні, то виконується цілочисельне ділення) | ||
% | отримання залишку від ділення цілочисельних операндів | ||
Вирази. З констант, змінних, розділювачів і знаків операцій можна конструювати вирази. Кожен вираз складається з одного або декількох операндів, символів операцій й обмежувачів, в ролі яких зазвичай виступають квадратні дужки. Якщо вираз формує ціле або дійсне число, то це арифметичний вираз. В арифметичних виразах можливі операції: + - * / %.
Вирази мови С записуються з використанням множини операцій та з врахуванням їх пріоритетів
Ввід і вивід у мові С. Обмін даними із зовнішнім середовищем програма на стандартному СІ реалізує за допомогою бібліотеки функцій вводу-виводу
#include <stdіo.h>
1) printf (<форматний рядок>,<список аргументів>);
<форматний рядок> - рядок символів, взятих в лапки, що показує, як повинні бути надруковані аргументи. Наприклад:
printf (“Значення числа Пі дорівнює %f\n”, pi);
Форматний рядок може містити
1) символи, що будуть надруковані текстуально;
2) специфікації перетворення
3) керуючі символи.
Кожному аргументу відповідає своя специфікація перетворення:
%d - десяткове ціле число;
%f - число із плаваючою крапкою;
%c - символ;
%s - рядок.
\n - керуючий символ новий рядок.
2) scanf (<форматний рядок>,<список аргументів>);
В ролі аргументів використовуються вказівники. Наприклад:
scanf(“ %d%f ”, &x,&y);
Дата добавления: 2015-07-17; просмотров: 107 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Заступник директора з НВР | | | Постановка завдання |