1   2   3   4   5   6   7   8   9   ...   27
Ім'я файлу: Конспект2020.docx
Розширення: docx
Розмір: 905кб.
Дата: 23.05.2022
скачати

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Національний університет «Чернігівська політехніка»

ОСНОВИ ПРОГРАМУВАННЯ
НА МОВІ С

Конспект лекцій з дисципліни

«Основи програмування»

для студентів спеціальностей

121 – “Інженерія програмного забезпечення”

123 – “Комп’ютерна інженерія”

ЗАТВЕРДЖЕНО

на засіданні кафедри

інформаційних та комп’ютерних систем

протокол № 1 від 27.08.20

Чернігів 2020

Основ програмування на мові С. Конспект лекцій з дисципліни «Основи програмування» для студентів спеціальностей 121- «Програмна інженерія», 123 – «Комп’ютерна інженерія”. /Укл.: Бивойно П.Г.  - Чернігів: НУ «Чернігівська політехніка», 2020. - 107 с.


Укладач: Бивойно Павло Георгійович, канд. техн. наук, доцент,

Відповідальний за випуск: В.М. Базилевич, канд. економ. наук, зав. кафедри інформаційних комп'ютерних систем Чернігівського національного технологічного університету.



Рецензент: І.В.Білоус, канд. техн. наук, доцент, в.о. зав. кафедри Інформаційних технологій та програмної інженерії Національного університету «Чернігівська політехніка».

ЗМІСТ

1ТЕМА 1. ВСТУП 7

1.1 Предмет і мета вивчення дисципліни “Основи програмування” 7

1.2 Основні завдання вивчення дисципліни 7

1.3 Структура навчального курсу 8

1.4 Навчально-методична література з дисципліни 8

1.5 Історія розвитку обчислювальної техніки 8

1.6 Досягнення вітчизняних вчених та інженерів у цій галузі. 11

1.7 Системи і середовища програмування 12

1.8 Класифікація мов програмування 12

1.9 Вибір мови програмування 12

2ТЕМА 2. БАЗОВІ ЕЛЕМЕНТИ МОВИ С 13

2.1 Поняття про програму на мові С. 13

2.2 Основні риси мови програмування С. 14

2.3 Алфавіт мови 14

2.4 Лексеми. 14

2.4.1Ключові слова 14

2.4.2Ідентифікатори 14

2.4.3Константи 15

2.5 Структура програми на С. 15

2.6 Поняття про бібліотечні функції та заголовні файли. 16

2.7 Директиви препроцесора 16

2.8 Етапи виконання програми. 17

2.9 Використання об’єкту cin для введення даних 18

2.10 Використання об’єкту cout для виведення даних 18

2.11 Створення простішого діалогу з консоллю. 18

3ТЕМА 3. Типи даних 20

3.1 Класифікація типів даних. 20

3.2 Арифметичні типи 20

3.2.1Основні арифметичні типи 21

3.3 Переліки 22

3.4 Описи змінних 23

3.4.1Макроконстанти 23

3.5 Операція розміру sizeof 24

3.6 Бібліотека математичних функції 24

4ТЕМА 4. Вирази та операції 26

4.1 Арифметичні та порозрядні операції 26

4.1.1Арифметичні операції 26

4.2 Операції порівняння та логічні операції 26

4.3 Логічні операції 27

4.4 Порозрядні логічні операції 27

4.5 Операції присвоєння, комбіновані присвоєння 27

4.5.1Проста операція присвоєння 27

4.5.2Комбіновані присвоєння 28

4.5.3Унарні присвоєння 28

4.6 Умовна операція (теренарний оператор) 28

4.7 Порядок виконання операцій 29

4.8 Узгодження типів операндів у виразах 29

4.8.1Арифметичні перетворення 29

4.8.2Перетворення типів в операціях присвоєння 30

4.8.3Явне перетворення типів 30

5Тема 5. Функції 31

5.1 Структура та правила написання функцій 31

5.2 Виклик функції 32

5.3 Прототип функції 33

5.4 Способи передачі параметрів до функцій 33

5.4.1 Передача параметрів за значенням 33

5.4.2Передача параметрів через посилання 34

5.5 Рекурсивні функції 34

5.6 Області оголошення та доступу до імен 35

5.6.1Глобальні та локальні змінні 35

5.6.2Глобальна чи локальна змінна? 35

5.6.3Специфікатор statsc 36

5.7 Макроси з параметрами 36

6Тема 6. Оператори мови С 38

6.1 Поняття про схеми алгоритмів та їх різновиди 38

6.2 Оператори-вирази: присвоєння, виклик функції, порожній оператор 39

6.3 Умовні оператори: if, switch 39

6.3.1Оператор розгалуження if…else 39

6.3.2Умовна операція 42

6.3.3 Оператор вибору swith 42

6.4 Оператори циклу: while, do-while, for 44

6.4.1Циклічні алгоритми 44

6.4.2 Оператор while 44

6.4.3 Оператор do…while 46

6.4.4Оператор циклу for 47

6.4.5Особливості використання циклу for 49

6.5 Оператори goto, break, continue, return 50

6.5.1Оператор переходу goto 50

6.5.2Переривання циклу 50

7Тема 7. Базові поняття про вказівники 51

7.1 Оголошення вказівників 51

7.2 Звертання до даних через вказівники 53

7.3 Адресна арифметика 53

7.4 Вказівники void та типізація вказівників 54

7.5 Статичне виділення блоків пам’яті 55

7.6 Стандартні функції динамічного виділення пам’яті 55

7.7 Сучасний спосіб динамічного виділення пам’яті 56

7.8 Вказівники на функцію 56

7.8.1Оголошення типу функції 57

8Тема 8. Рядки символів 58

8.1 Рядки символів 58

8.2 Звертання до елементів рядка через індекси 59

8.3 Реалізація алгоритмів обробки рядків символів 59

8.3.1Функція копіювання частини рядка 59

8.3.2Функція знаходження частини рядка у рядку 59

8.4 Використання вказівників для роботи з рядками символів 60

8.5 Бібліотечні функції для роботи із символами та символьними рядками 60

9Тема 9. Масиви 62

9.1 Оголошення та ініціалізація масивів 62

9.2 Звертання до елементів масиву через індекси 63

9.3 Одновимірні масиви як параметри функцій 64

9.4 Реалізація простих алгоритмів обробки масивів 65

9.5 Звертання до елементів масиву через вказівники 70

9.6 Реалізація простих алгоритмів обробки масивів з використанням вказівників 70

9.7 Масиви покажчиків на рядки символів 71

9.8 Оголошення та ініціалізація багатовимірних масивів 71

9.9 Звертання до елементів багатовимірних масивів через індекси 73

9.10 Матриці як параметри функцій 73

9.11 Реалізація алгоритмів обробки багатовимірних масивів 74

10Тема 10. Впорядковані масиви 79

10.1 Сортування масивів 79

10.2 Сортування за ускладненими правилами 86

10.3 Реалізація алгоритмів роботи з упорядкованими масивами 87

10.4 Сортування елементів матриці 90

11Тема 11. Структури 95

11.1 Оголошення та ініціалізація структур 95

11.2 Операція присвоєння для структур 96

11.3 Звертання до полів структури 97

11.4 Масиви структур 97

11.5 Сортування масивів структур 98

11.6 Декларація іменування типу typedef 98

11.7 Вказівники на структури 99

12Тема 12. Файли 101

12.1 Короткі теоретичні відомості 101

12.1.1Відкриття та закриття файлу 101

12.1.2 Обробка текстових файлів 102

12.1.3Обмін блоками даних з файлом 103

12.1.4Робота з файлом в режимі прямого доступу 104

13Тема 13. Підсумки курсу 107

13.1 Ретроспективний огляд тем курсу 107

13.2 Еволюція мови С 107

13.3 Короткий огляд наступних курсів, пов’язаних з програмуванням 107

Навчально-методична література з дисципліни 108

У цьому методичному виданні розглядаються питання, пов’язані з формуванням у студентів базових знань про алгоритмічні мови та навичок програмування.

Студенти мають бути ознайомлені з проблемами, що виникають та мають бути вирішені у процесі підготовки програмного проекту на алгоритмічній мові високого рівня, що відповідає вимогам кваліфікаційної характеристики фахівця.

Основними завданнями вивчення дисципліни “Основи програмування” є ознайомлення з системами і середовищами програмування, класифікацією мов програмування, критеріями вибору мови програмування та вивчення базових засад мови програмування високого рівня на прикладі мови С.

Під час вивчення дисципліни студенти знайомляться з типами даних, опановують базовими алгоритмами обробки простих структур даних та отримують практичні навички створення таких структур і програмної реалізації алгоритмів їх обробки, а також знайомляться з основами використанням вказівників.

Наведений перелік відповідає вимогам навчальної програми дисципліни «Основи програмування» та кваліфікаційним характеристикам фахівців спеціальностей 121- «Програмна інженерія», 123 – «Комп’ютерна інженерія”.

Значення дисципліни для реалізації вимог кваліфікаційної характеристики фахівця та вивчення наступних дисциплін полягає в тому, що її вивчення сприяє формуванню бази, яка необхідна при засвоєнні усіх дисциплін програмістського циклу та вирішенні конкретних задач програмування комп’ютерних систем.

Відповідно до вимог кваліфікаційних характеристик фахівців з програмної та комп’ютерної інженерії дисципліна “Основи програмування” є базовою для вивчення дисциплін «Алгоритми та структури даних», «Системне програмування», «Об’єктно-орієнтоване програмування». Набуті знання та вміння застосовуються у дисциплінах «Технології прикладного програмування», «Організація баз даних» та багатьох інших.

Дисципліна “Основи програмування” викладається у першому семестрі першого курсу і не залежить від інших дисциплін навчального плану.

Конспект лекцій призначений для використання при вивченні теоретичного матеріалу дисципліни «Основи програмування», виконанні лабораторних робіт та самостійної роботи студентів над курсом.



  1.   1   2   3   4   5   6   7   8   9   ...   27

    скачати

© Усі права захищені
написати до нас