- •З дисципліни “Системне програмування”
- •Мета виконання лабораторно-практичних робіт
- •Порядок виконання лабораторно-практичних робіт
- •Оформлення звітів про виконання лабораторно-практичних робіт
- •Лабораторна робота № 1
- •1 Короткі теоретичні відомості
- •1.4 Основні типи даних. Основні типи даних наведено в таблиці.
- •1.5 Операції.
- •Int printf (фороматний рядок, [, argument, ...]);
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Лабораторна робота № 2
- •1 Короткі теоретичні відомості Умовний оператор if. Уморвний оператор – це оператор, який виконується в залежності від виконання деякої умови.
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 3
- •Оператор циклу while. Цикл while – це ітераційний цикл із передумовою. Це оператор циклу, який працює до тих пір, поки деяка умова буде істинною.
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 4
- •1 Короткі теоретичні відомості
- •1.2 Опис масивів. Ім’я масиву це звичайний ідентифікатор. Він має бути унікальним, за ним іде розмірність. Розмір масиву може бути як літеральна константа, так і символьна.
- •Int array[a];
- •Int array[12];
- •Int array[a];
- •1.5 Одновимірні масиви. Одномірні масиви. Одномірний масив має один індекс.. Індекс – це номер в квадратних дужках після імені масиву.
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •5 Питання вихідного контролю
- •Лабораторна робота № 5
- •1 Короткі теоретичні відомості
- •2 Постановка завдання.
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 6
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •6 Питання вихідного контролю
- •Лабораторна робота № 7
- •1 Короткі теоретичні відомості
- •Int putchar(int c);
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 8
- •1 Короткі теоретичні відомості
- •2 Постановка задачі
- •3 Варіанти індивідуальних завдань
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 9
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Лабораторна робота № 10
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •6 Питання вихідного контролю
- •Лабораторна робота № 11
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Практична робота № 1
- •1 Короткі теоретичні відомості
- •1.1 Умовний оператор if. Уморвний оператор – це оператор, який виконується в залежності від виконання деякої умови.
- •Оператор виконує наступні дії:
- •Приклад: Написати програму, яка виводить на екран числа від 1 до 7.
- •Оператор while виконує наступні дії:
- •Приклад: Вивести на екран додатні числа менші від 10.
- •Оператор виконує наступні дії:
- •2 Питання вхідного контролю
- •3 Постановка завдання на використання оператора switch
- •4 Варіанти індивідуальних завдань на використання оператора switch
- •5 Варіанти індивідуальних завдань на оператори циклів
- •6 Методичні вказівки
- •7 Приклад розв’язку завдання
- •8 Питання вихідного контролю
- •Практична робота № 2
- •1 Короткі теоретичні відомості
- •Void func( ) /*нічого не повертає*/
- •2 Варіанти індивідуальних завдань:
- •3 Методичні вказівки
- •4 Приклад виконання практичної роботи
- •5 Контрольні запитання
- •Практична робота № 3
- •1 Короткі теоретичні відомості
- •Int putchar(int c);
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •6 Питання вихідного контролю
- •Практична робота № 4
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Список рекомендованої літератури
1 Короткі теоретичні відомості
Мова СІ створена в 1972 р. Денісом Річі при розробці ОС Unix. Вона проектувалася як інструмент системного програмування з орієнтацією на розробку добре структурованих програм. Мова поєднує в собі, з одного боку, засоби мови програмування високого рівня: опис типів даних, оператори for, while, if і т.ін., а з іншого боку, містить засоби мови типу Асемблер: адресну арифметику, можливість роботи з полями бітів і т.ін.
1.1 Структура програми. Програма мовою С має таку структуру:
#директиви препроцесора
функція а ( )
оператори
функція в ( )
оператори
void main ( ) { //функція, з якої починається виконання програми
оператори; функція { оператори;}
}
1.2 Директиви препроцесора - управляють перетворенням тексту програми до її компіляції. Початкова програма, підготована мовою С у вигляді текстового файлу проходить 3 етапи обробки:
препроцесорне перетворення тексту;
компіляція;
компонування (редагування зв'язків або зборка).
Після цих етапів формується виконуваний файл програми. Завдання препроцесора - перетворення тексту програми до її компіляції. Правила препроцесорної обробки задаються за допомогою директив препроцесора.
Директива починається з #. Наприклад,
1) #define - вказує правила заміни в тексті. #define ZERO 0.0
Кожне використання в програмі імені ZERO буде замінятися на 0.0.
2) #include< ім'я заголовкового файлу> - призначена для включення в текст програми тексту з каталогу «Заголовкових файлів», що містяться в стандартних бібліотеках. Кожна бібліотечна функція має опис в стандартних файлах. Використання директиви include підключає стандартну бібліотеку і дозволяє які використовувати з неї функції.
Програма є набором описів, визначень і набору функцій. Серед функцій обов’язково повинна бути функція з іменем main. Перед іменем функції міститься тип значення, що повертається функцією, (тип результату). Якщо функція нічого не повертає, то вказується тип void:
void main ( ).
Після заголовком функції є тіло функції. Тіло функції - це послідовність операторів, взятих у фігурні дужки. Після кожного оператора ставиться крапкою з комою.
1.3 Константи й змінні. Константа - це значення, яке не може бути змінене в процесі виконання програми.
Змінні можна змінювати. При заданні значення змінної у відповідну їй область пам'яті записується код цього значення. Доступ до значення можливий через ім'я змінної, а доступ до ділянки пам'яті – через її адресу. Кожна змінна перед використанням у програмі повинна бути визначена, тобто їй повинна бути виділена пам’ять. Розмір ділянки пам'яті, виділеної для змінної й інтерпретація вмістимого залежать від типу, зазначеного у визначенні змінної.
1.4 Основні типи даних. Основні типи даних наведено в таблиці.
Назва типу даних |
Ключове слово |
Розмір б |
Діапазон значень |
символьний |
char |
1 |
0. . 255 |
беззнаковий цілий |
unsigned int |
2 |
0. . 65535 |
короткий цілий |
short int |
2 |
-32768 . . 32767 |
цілий |
int |
2 |
-32768 . . 32767 |
беззнаковий довгий цілий |
unsigned long |
4 |
0. . 4294967295 |
довгий цілий |
long |
4 |
-214748348 . . 2147483647 |
дійсний одинарної точності |
float |
4 |
3.4Е-38 . . 3.4Е+38 |
дійсний подвійної точності |
double |
8 |
1.7Е-308 . . 1.7Е+308 |
Відповідно до синтаксису мови змінні після визначення за замовчуванням мають невизначені значення. Змінним можна присвоювати початкові значення, явно вказуючи їх у визначеннях:
тип ім'я_змінної = початкове_значення;
Цей прийом називається ініціалізацією.
Приклади:
float pi = 3.14 , cc=1.3456;
unsigned int year = 1999;