- •З дисципліни “Системне програмування”
- •Мета виконання лабораторно-практичних робіт
- •Порядок виконання лабораторно-практичних робіт
- •Оформлення звітів про виконання лабораторно-практичних робіт
- •Лабораторна робота № 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.5 Операції.
Унарні операції
-
++
збільшення на одиницю: (інкременту)
префіксна операція - збільшує операнд до його використання,
постфіксна операція збільшує операнд після його використання.
--
зменшення на одиницю: (декременту)
префіксна операція - зменшує операнд до його використання,
постфіксна операція зменшує операнд після його використання.
Бінарні операції.
-
+
бінарний плюс (додавання арифметичних операндів)
-
бінарний мінус (віднімання арифметичних операндів)
*
множення операндів арифметичного типу
/
ділення операндів арифметичного типу (якщо операнди цілочисельні, то виконується цілочисельне ділення)
%
отримання залишку від ділення цілочисельних операндів
1.6 Вирази. З констант, змінних, розділювачів і знаків операцій можна конструювати вирази. Кожен вираз складається з одного або декількох операндів, символів операцій й обмежувачів, в ролі яких зазвичай виступають квадратні дужки. Якщо вираз формує ціле або дійсне число, то це арифметичний вираз. Вирази мови С записуються з використанням множини операцій та з врахуванням їх пріоритетів
1.7 Ввід і вивід у мові С. У мові С відсутні оператори вводу-виводу. Для цього використовуються стандартні функції, які описані у файлі-заголовку stdio.h. Для використання цих функцій треба підключити файл stdio.h за допомогою директиви передпроцесора include. Синтаксис підключення:
# include <stdio.h>.
Найбільш універсальними є функції форматованого виводу printf() та форматованого ввводу scanf(). Форматований ввід і вивід означають, що ці функції можуть читати і виводити дані в різних форматах, які задаються за допомогою специфікаторів.
1.8 Форматоване виведення даних. Форматоване виведення даних на екран здійснюється функцією printf(). Прототип функції знаходиться в бібліотечному файлі stdio.h і має вигляд:
Int printf (фороматний рядок, [, argument, ...]);
Форматний рядок може містити
символи, що будуть надруковані текстуально;
специфікації перетворення
керуючі символи.
Форматний рядок береться в подвійні лапки. Він містить два типи інформації: символи, які безпосередньо виводяться на екран і специфікатори формату та керуючі послідовності, які визначають як виводити аргументи. Специфікатори починаються зі зінаку % за яким записують символ формату.
Кожному аргументу відповідає своя специфікація перетворення:
%d - десяткове ціле число;
%f - число із плаваючою крапкою;
%c - символ;
%s - рядок.
аrgument – зміні або вирази, значення яких вводяться на екран.
Специфікація форматованого виведення має вигляд:
% [flags] [width] [.prec] type_char
де flags – набір прапорців, які можуть приймати значення, наведені у табл. 1.
Таблиця 1. Значення параметра flags
Прапорці |
Значення |
- |
вирівнювання даних по лівій межі поля виведення |
+ |
виводити знак + для додатних десяткових чисел (діє лише на форматний символ d). Знак мінус виводиться завжди. |
пропуск |
виводити пропуск перед числом замість знаку плюс; мінус виводиться завжди |
# |
виводити префікс для цілих чисел у вісімковій та шістнадцятковій системах числення |
width – ширина поля виведення; тут n позначає ціле число.
prec – дробова частина.
Крім специфікацій форматів у форматному рядку можна задавати інші керуючі символи, які будуть виведені на екран. Перелік керуючих символів подано у табл. 2.
Таблиця 2. Керуючі символи
Символ |
Призначення |
\a |
викликає звуковий сигнал |
\b |
повернення на позицiю влiво |
\f |
перехiд на нову сторiнку |
\n |
перехiд на новий рядок |
\r |
перехiд на початок поточного рядка |
\t |
горизонтальна табуляцiя |
\v |
вертикальна табуляцiя |
Приклад виведення даних:
char a=’*’; int b=-25; float d=3.14159;
printf(“a=%2c\n b=%4d\n d=%8.4f ”, a, b, d,);
1.9 Форматоване введення даних. Форматоване введення даних з клавіатури здійснюється за допомогою функції scanf(). Прототип функції знаходиться в бібліотечному файлі stdio.h і має вигляд:
int scanf (форматний рядок [, address, ...]);
де address – адреси змінних, значення яких вводяться з клавіатури. Для задання адреси змінної перед її іменем ставиться & - операція взяття адреси, наприклад: &value.
Форматний рядок функції scanf() складається із специфікаторів форматів. Форматний рядок береться в подвійні лапки. Специфікація форматованого введення даних за допомогою функції scanf() має вигляд:
% [flag] [width] type_char
де flag =‘*’ - позначає пропуск введення поля даних із вхідного потоку (необов’язковий атрибут);
width – кількість символів, які будуть прочитані із вхідного потоку (необов’язковий атрибут);
type_char - символи типу.
Для форматного введення даних з клавіатури використовуються ті ж специфікатори типів, що і для форматного виведення.
Дані у вхідному потоці повинні розділятися символами – роздільниками: пропусками, табуляціями або новим рядком. Це дає можливість розділяти дані вхідного потоку символами, відмінними від пропусків.