Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб.doc
Скачиваний:
7
Добавлен:
16.11.2019
Размер:
920.06 Кб
Скачать

Література

  1. М.Уэйт, С.Прата, Д.Мартин „Язык Си”, Пер. с англ.-М: Мир, 1988

  2. Уинер Р. „Язык Турбо Си”, Пер с англ.-М.: Мир, 1991

  3. Берри Р., Микинз Б. „Язык Си: введение для программистов”, Пер. с англ.-М.:Финансы и статистика, 1988

  4. „Turbo C++” . Borland International . Inc. 1990.

  5. Б. Страуструп „Введение в язык С++”, Киев, „Диа Софт”, 1995

  6. Г. Буч. "Объектно-ориентированное проектирование с примерами применения", Киев, Диалектика, 1992.

  7. Б. Страуструп „Язык программирования С++”; 2-е изд. : 1,2 т.т., Киев, „Диа Софт”, 1993

  8. М.Эллис, Б.Страуструп „Справочное руководство по языку программирования С++ с комментариями”, М., Мир, 1992

  9. С. Дьюхарст, Кети Старк „Программирование на С++”, Киев, „Диа Софт”, 1993

  10. Т.Фэйсон „Объектно-ориентированное программирование на Borland C++ 4.5”, Четвертое издание, Киев, „Диалектика”, 1996.

  11. И.Пол „Объектно-ориентированное программирование с использованием С++”, Киев, „Диа Софт”, 1995

  12. Т.Сван „Освоение Borland C++ 4.5”, практический курс, 1 том, Киев, „Диалектика”, 1996

  13. Т.Сван „Освоение Borland C++ 4.5”, Энциклопедия функций (2 том), Киев, „Диалектика”, 1996

  14. Т.Сван „Освоение Borland C++ 5”, премьерное издание, Киев, “Диалектика”, 1996

  15. Б. Страуструп „Язык программирования С++”, специальное издание, Москва, „Бином”, 2001

  16. А. Архангельский „Программирование C++ Builder 5”, Москва, “Бином”, 2001

  17. Т.А.Павловская „С/С++. Программирование на языке високого уровня”, „Питер”С-П, 2002

  18. Т.Кормен, Ч.Лейзерсон, Р.Ривест „Алгоритмы: построение и анализ”,МЦНМО, М., 2000

317

Передмова 3

Про авторів 4

Частина 1. Мова програмування Сі 5

  1. Історія виникнення 5

  2. Елементи мови Сі 6

  1. Алфавіт 6

  2. Ідентифікатори 6

  3. Константи 7

  4. Коментарі 9

  5. Ключові слова 9

1.3 Структура програми. Базові типи даних 9

  1. Функція main() : з цього все починається 9

  2. Базові типи даних 10

  3. Перетворення типу 12

  4. Функції введення та виведення 14

  5. Директиви включення 17

1.4 Основні операції 19

  1. Арифметичні операції 19

  2. Операції присвоювання 21

  3. Операції порівняння 22

  4. Логічні операції 23

  5. Порозрядні операції (побітові операції) 24

  6. Операція слідування (кома) 25

  7. Умовна операція ?: 26

  8. Операція sizeof() 26

1.5 Основи алгоритмізації 27

  1. Алгоритми та їх властивості 27

  2. Блок-схеми 28

Базові алгоритмічні конструкції: 29

1.6 Оператори 31

  1. Оператор розгалуження if 32

  2. Оператор switch 34

  3. Оператор циклу з передумовою while 36

  4. Оператор циклу з постумовою do … while 37

  5. Оператор розриву break 38

  6. Оператор продовження continue 39

  7. Оператор циклу for 39

  8. Оператор переходу goto 42

  9. „Порожній” оператор 42

1.6.10 „Складений” оператор 43

3 18

  1. Тип перерахування enum 43

  2. Покажчики 44

  1. Основні відомості про покажчики 44

  2. Моделі пам'яті 47

  3. Основні операції над покажчиками 48

  4. Багаторівнева непряма адресація 53

  5. Операції над покажчиками 55

  6. Проблеми, пов’язані з покажчиками 58

1.9 Масиви 61

  1. Основні поняття 61

  2. Оголошення та звертання в одновимірних масивах 64

  3. Оголошення та звертання до багатовимірних масивів...66

1.10 Масиви покажчиків 69

  1. Робота з великими масивами 69

  2. Вільні масиви та покажчики 70

1.11 Символьні рядки 71

  1. Основні відомості про представлення рядків 71

  2. Функції роботи з рядками 73

1.12 Основні методи сортування масивів 76

  1. Метод бульбашкового сортування 76

  2. Сортування методом вибору 77

  3. Сортування вставками 78

  4. Швидке сортування 79

1.13 Структури 80

  1. Оголошення структури 80

  2. Масиви структур 84

  3. Бітові поля 87

  1. Об’єднання (union) 88

  2. Файлові потоки 89

  1. Текстові файли 90

  2. Двійкові файли 92

  3. Використання дескрипторів файлів 95

1.16 Функціональний підхід 99

  1. Функції 102

  2. Функції, що не повертають значення 103

  3. Передача параметрів 105

  4. Функції із змінним числом параметрів 109

  5. Рекурсивні функції 110

  6. Покажчики на функції 112

  7. Класи пам’яті 115

  8. Додаткові можливості функції main() 118

1.17 Складені оголошення 120

  1. Описи з модифікаторами 122

  2. Модифікатори const і volatile 124

319

  1. Модифікатори cdecl і pascal 125

  2. Модифікатори near, far, huge 126

  3. Модифікатор interrupt 127

1.18 Директиви препроцесора 127

  1. Директива #include 127

  2. Директива #define 128

  3. Директива #undef 130

  4. Директиви #if, #elif, #else, #endif 131

  5. Директиви #ifdef і #ifndef 133

  6. Директива #line 133

1.19 Динамічні структури даних 134

  1. Лінійні списки 134

  2. Стеки 141

  3. Черги 142

  4. Двійкові дерева 143

Частина 2. Мова програмування Сі++ 147

  1. Історія виникнення 147

  2. Відмінності мов Сі та Сі++, не пов’язані з використанням об’єктів 147

  1. Ключові слова 148

  2. Область опису змінних 148

  3. Використання коментарів 148

  4. Аргументи по замовчуванню 149

  5. Перевантаження функцій 150

  6. Операція розв’язання видимості 153

  7. Використання inline-специфікатору 154

  8. Анонімні об’єднання 155

  9. Оператори розподілу пам’яті 156

  1. Порівняння функціонального та об’єктного підходу ...156

  2. Об’єктно - орієнтоване програмування. Головні принципи об'єктного підходу 160

  1. Абстрагування 162

  2. Обмеження доступу 163

  3. Модульність 163

  4. Ієрархія 164

2.5 Класи 165

  1. Протокол опису класу 166

  2. Створення об’єктів. Доступ до полів та методів 169

  3. Використання специфікаторів доступу класу. . 172

  4. Правила визначення конструкторів 173

  5. Методи ініціалізації елементів у конструкторах.. 175

  6. Деструктори 178

  7. Порядок виклику конструкторів та деструкторів. . 180

  8. Статичні члени класу 180

3 20

2.6 Успадкування 181

  1. Механізм успадкування 181

  2. Керування доступом при успадкуванні 184

  3. Друзі-класи та друзі-функції 189

2.7 Поліморфізм 193

  1. Віртуальні функції 193

  2. Чисті віртуальні функції та абстрактні базові класи 197

  3. Розміщення VPTR та таблиці VMT у пам'яті 200

  4. Віртуальні деструктори 202

  1. Перевантаження операцій 204

  2. Шаблони 209

  1. Параметризовані функції 209

  2. Параметризовані класи.. 211

2.10 Класи потоків С++ 216

  1. Визначені об’єкти-потоки 217

  2. Операції поміщення та вилучення 218

  3. Переадресація введення та виведення 220

  4. Визначення потокових операцій як дружніх 221

  5. Функції керування процесом I/O 221

  6. Прапорці форматування 222

  7. Маніпулятори 223

  8. Файлові потоки 225

  1. Контейнерні класи.. 227

  2. Вкладені класи.. 229

  3. Локальні класи. . 231

  4. Обробка виняткових ситуацій 232

Частина 3. Перелік лабораторних робіт 236

Вимоги щодо оформлення робіт 236

I семестр (мова програмування Сі) 237

Лабораторна робота ¹1 237

Лабораторна робота ¹2 240

Лабораторна робота ¹3 245

Лабораторна робота ¹4 253

Лабораторна робота ¹5 260

Задачі на складання ефективних алгоритмів 265

Задачі, що пропонувалися на Всеукраїнських олімпіадах.... 272

II семестр (мова програмування Сі++) 276

Лабораторна робота ¹1 276

Лабораторна робота ¹2 277

Лабораторна робота ¹3 279

Лабораторна робота ¹4-5 283

Частина 4. Додатки 292

  1. Вбудований відлагоджувач програм 292

  2. Таблиця символів ASCII 297

321

  1. Розширені коди клавіатури 298

  2. Функції стандартної бібліотеки 299

  3. Пріоритети операцій 312

  4. Основні комбінації клавіш середовища ТС 313

Література 317

Зміст 318

323

Для нотаток

Підписано до друку 18.12.02 Формат 60x84 1/16 Друк офсетний.

Гарнітура Times New Roman. Ум. друк. арк. 20,25.

Тираж 400 екз. Зам. 79

Редакційно-видавничий відділ

Житомирського державного технологічного університету

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]