Мазепа Торент
 

Гість

Грицюк Ю. І., Рак Т. Є. Програмування мовою с++ (2011) [djvu] Мова: українська
Опис:У навчальному посібнику розглянуто різні аспекти програмування мовою С++. У початкових розділах Грунтовно описано синтаксис та семантику основних стандартних конструктивних компонентів мови: лексем, виразів, операторів, функцій. Значну увагу приділено різновидам типів даних, зокрема опрацюванню масивів, символьних рядків, структур тощо. Далі у посібнику даються особливості застосування покажчиків і С++-функцій, механізм використання засобів програмування для розширення їх можливостей, наведено механізм реалізації С++-специфікаторів і спеціальних операторів, даються основні поняття про структури і об'єднання даних.
Викладений матеріал базується на стандарті ANSI/ISO мови програмування С++, а також зазначено нововведення, які затверджені в стандарті ANSI/ISO 14882:2003. Наведено важливу для практичного використання та програмування інформацію про додаткові можливості компілятора, середовища та бібліотек Воrland С/С++.
Видання призначено для курсантів і студентів, які вивчають програмування в рамках різних навчальних дисциплін, а також для всіх, хто бажає самостійно опанувати технологію програмування мовою С++.
Автор: Грицюк Ю. І., Рак Т. Є.
Місце видання: Львів
Видавництво: ЛБУ БЖД
Формат: dlvu
Зімст:

Переглянути

ЗМІСТ
ПЕРЕДМОВА.............................................................................................................9
ВСТУП.......................................................................................................................11
Розділ 1. ІСТОРІЯ ВИНИКНЕННЯ МОВИ ПРОГРАМУВАННЯ C++ .... 13
1.1. Витоки мови програмування C++...................................................................13
1.1.1. Причини створення мови програмування С......................................................13
1.1.2. Передумови виникнення мови програмування C++.........................................16
1.1.3. Поява мови програмування C++.........................................................................17
1.1.4. Етапи вдосконалення мови програмування C++..............................................19
1.2. Поняття про технологію структурного програмування.............................22
1.2.1. Структурний підхід до проектування програм.................................................23
1.2.2. Принцип поділу програми на окремі модулі.....................................................24
1.2.3. Методологія покрокової деталізації програми..................................................25
1.3. Основні ознаки об'єктно-орієнтованого програмування...........................27
1.3.1. Поняття про механізм реалізації програм методом інкапсуляція...................28
1.3.2. Поняття про властивість поліморфізму.............................................................28
1.3.3. Поняття про використання процесу успадкування..........................................29
1.4. Зв'язок мови програмування C++ з мовами Java і C#................................ЗО
Розділ 2. ОСНОВНІ ЕЛЕМЕНТИ МОВИ ПРОГРАМУВАННЯ C++........33
2.1. Розроблення найпростішої С++-програми....................................................33
2.1.1. Особливості введення коду програми................................................................34
2.1.2. Компілювання програми.....................................................................................34
2.1.3. Виконання програми............................................................................................35
2.1.4. Аналіз рядків коду програми..............................................................................35
2.1.5. Оброблення синтаксичних помилок..................................................................38
2.2. Розроблення навчальної програми.................................................................39
2.2.1. Присвоєнням значень змінним...........................................................................39
2.2.2. Введення з клавіатури даних у програму..........................................................40
2.2.3. Деякі можливості виведення даних....................................................................42
2.2.4. Введення нового типу даних...............................................................................42
2.3. Функції- "будівельні блоки" С++-програми...............................................44
2.3.1. Основні поняття про функції..............................................................................44
2.3.2. Загальний формат визначення С++-функцій.....................................................46
2.3.3. Передавання аргументів функції........................................................................47
2.3.4. Повернення функціями аргументів....................................................................49
2.3.5. Спеціальна функція mainQ...................................................................................51
2.4. Поняття про логічну та циклічну настанови...............................................51
2.4.1. Логічна настанова if..............................................................................................51
2.4.2. Циклічна настанова for.........................................................................................52
2.5. Структуризація С++-програми........................................................................53
2.5.1. Поняття про блоки програми..............................................................................54
2.5.2. Механізм використання оператора "крапки з комою" та особливості
розташування настанов.......................................................................................55
2.5.3. Практика застосування відступів.......................................................................55
2.6. Елементи визначення мови програмування C++........................................56
2.6.1. Поняття про ключові слова.................................................................................56
2.6.2. Розроблення ідентифікаторів користувача.......................................................57
2.6.3. Механізм використання стандартної бібліотеки..............................................57
Розділ 3. ОСНОВНІ ТИПИ ДАНИХ У МОВІ ПРОГРАМУВАННЯ C++..59
3.1. Оголошення змінних.........................................................................................60
3.1.1. Локальні змінні....................................................................................................60
3.1.2. Формальні параметри..........................................................................................61
3.1.3. Глобальні змінні...................................................................................................62
3.2. Поняття про модифікатори типів даних.......................................................63
3.3. Поняття про літерали.......................................................................................66
3.3.1. Шістнадцяткові та вісімкові літерали................................................................68
3.3.2. Рядкові літерали...................................................................................................68
3.3.3. Символьні керівні послідовності.......................................................................68
3.4. Механізм ініціалізації змінних........................................................................69
3.5. Оператори С++-програми................................................................................71
3.5.1. Поняття про вбудовані оператори......................................................................71
3.5.2. Арифметичні оператори......................................................................................71
3.5.3. Оператори інкремента і декремента..................................................................72
3.5.4. Оператори відношення та логічні оператори....................................................74
3.6. Особливості запису арифметичних виразів.................................................77
3.6.1. Перетворення типів у виразах............................................................................77
3.6.2. Перетворення, що відбуваються зі змінними типу bool...................................77
3.6.3. Операція приведення типів даних......................................................................78
Розділ 4. ПОНЯТТЯ ПРО НАСТАНОВИ КЕРУВАННЯ ХОДОМ
ВИКОНАННЯ C++-ПРОГРАМИ.............................................................80
4.1. Механізм використання настанови вибору if...............................................80
4.1.1. У мовний вираз.....................................................................................................82
4.1.2. Вкладені if-настанови...........................................................................................82
4.1.3. Конструкція "сходинок" if-else-if.........................................................................84
4.2. Механізм використання настанови багатовибірного розгалуження
switch....................................................................................................................85
4.2.1. Особливості роботи настанови...........................................................................85
4.2.2. Організація вкладених настанов багатовибірного розгалуження...................88
4.3. Механізм використання настанови організації циклу for.........................89
4.3.1. Варіанти використання настанови організації циклу for..................................91
4.3.2. Відсутність елементів у визначенні циклу........................................................92
4.3.3. Механізм реалізації нескінченного циклу.........................................................93
4.3.4. Цикли часової затримки роботи програми........................................................94
4.4. Механізм використання інших ітераційних настанов...............................94
4.4.1. Ітераційна настанова while...................................................................................94
4.4.2. Ітераційна настанова do-while..............................................................................96
4.4.3. Механізм використання настанови переходу continue......................................98
4.4.4. Механізм використання настанови break для виходу з циклу.........................98
4.4.5. Організація вкладених циклів..........................................................................100
4.5. Механізм використання настанови goto......................................................101
4.5.1. Настанова goto - настанова безумовного переходу........................................101
4.5.2. Приклад використання настанов керування ходом виконання програм......102
Розділ 5. МАСИВИ ТА РЯДКИ - ЗАСОБИ ГРУПУВАННЯ
ВЗАЄМОПОВ'ЯЗАНИХ МІЖ СОБОЮ ЗМІННИХ.........................104
5.1. Одновимірні масиви........................................................................................104
5.1.1. Організація контролю меж масивів..................................................................106
5.1.2. Сортування елементів масиву...........................................................................107
5.2. Побудова символьних рядків.........................................................................109
5.2.1. Оголошення рядкового літерала.......................................................................109
5.2.2. Зчитування рядків з клавіатури........................................................................110
5.3. Застосування бібліотечних функцій для оброблення рядків...................111
5.3.1. Механізм використання функції Strcpy()...........................................................Ill
5.3.2. Механізм використання функції Strcat()...........................................................112
5.3.3. Механізм використання функції Strcmp()..........................................................113
5.3.4. Механізм використання функції Strlen()...........................................................114
5.3.5. Механізм використання ознаки завершення рядка........................................116
5.4. Дво- та багатовимірні масиви........................................................................117
5.4.1. Організація двовимірних масивів.....................................................................117
5.4.2. Організація багатовимірних масивів................................................................118
5.5. Ініціалізація елементів масивів.....................................................................119
5.5.1. Ініціалізація елементів "розмірних" масивів...................................................119
5.5.2. "Безрозмірна" ініціалізація елементів масивів................................................123
5.6. Проблема організації масиву рядків............................................................124
5.6.1. Побудова масивів рядків...................................................................................124
5.6.2. Приклад використання масивів рядків............................................................125
Розділ 6. ОСОБЛИВОСТІ ЗАСТОСУВАННЯ ПОКАЖЧИКІВ................128
6.1. Основні поняття про покажчики..................................................................128
6.2. Механізм використання покажчиків у поєднанні з операторами
присвоєння.......................................................................................................129
6.2.1. Оператори роботи з покажчиками...................................................................129
6.2.2. Важливість застосування базового типу покажчика......................................131
6.2.3. Присвоєння значень за допомогою покажчиків.............................................132
6.3. Механізм використання покажчиків у виразах.........................................133
6.3.1. Арифметичні операції над покажчиками........................................................133
6.3.2. Порівняння покажчиків.....................................................................................135
6.4. Покажчики і масиви - взаємозамінні поняття...........................................136
6.4.1. Основні відмінності між індексуванням елементів масивів і
арифметичними операціями над покажчиками..............................................137
6.4.2. Механізм індексування покажчика..................................................................139
6.4.3. Взаємозамінність покажчиків і масивів...........................................................139
6.4.4. Масиви покажчиків............................................................................................140
6.4.5. Покажчики і рядкові літерали...........................................................................143
6.4.5. Приклад порівняння покажчиків......................................................................144
6.5. Механізм ініціалізації покажчиків...............................................................145
6.5.1. Домовленість про використання нульових покажчиків................................145
6.5.2. Покажчики і 16-розрядні середовища.............................................................146
6.5.3. Багаторівнева непряма адресація.....................................................................147
6.6. Виникнення проблем під час використання покажчиків.......................148
6.6.1. Поняття про неініціалізовані покажчики........................................................148
6.6.2. Некоректне порівняння покажчиків................................................................149
6.6.3. Не встановлення покажчиків............................................................................150
Розділ 7. ОСОБЛИВОСТІ ЗАСТОСУВАННЯ С++-ФУНКЦІЙ...............152
7.1. Правила дії областей видимості функцій....................................................152
7.1.1. Локальні змінні..................................................................................................152
7.1.2. Оголошення змінних у ітераційних настановах і настановах вибору..........157
7.1.3. Формальні параметри........................................................................................158
7.1.4. Глобальні змінні.................................................................................................159
7.2. Передача покажчиків і масивів як аргументів функціям.......................161
7.2.1. Виклик функцій з покажчиками.......................................................................161
7.2.2. Виклик функцій з масивами.............................................................................162
7.2.3. Передача рядків функціям................................................................................165
7.3. Аргументи основної функції main(): arge і argv............................................167
7.3.1. Передача програмі числових аргументів командного рядка.........................169
7.3.2. Перетворення числових рядків у числа...........................................................170
7.4. Механізм використання настанови return у функціях..............................171
7.4.1. Завершення роботи функції..............................................................................171
7.4.2. Повернення значень з функції..........................................................................172
7.4.3. Функції, які не повертають значень (void-функції).........................................174
7.4.4. Повернення покажчиків з функції...................................................................175
7.4.5. Прототипи функцій...........................................................................................177
7.4.6. Заголовки у С++-програмах..............................................................................178
7.4.7. Організація рекурсивних функцій...................................................................179
Розділ 8. ВИКОРИСТАННЯ ЗАСОБІВ ПРОГРАМУВАННЯ ДЛЯ
РОЗШИРЕННЯ МОЖЛИВОСТЕЙ С++-ФУНКЩЙ.......................182
8.1. Способи передачі аргументів функціям......................................................182
8.1.1. Механізм передачі аргументів у мові програмування C++...........................183
8.1.2. Механізм використання покажчика для забезпечення виклику функції
за посиланням....................................................................................................183
8.2. Поняття про посилальні параметри............................................................185
8.2.1. Механізм дії посилальних параметрів.............................................................186
8.2.2. Варіанти оголошень посилальних параметрів................................................188
8.2.3. Механізм повернення посилань.......................................................................189
8.2.4. Створення обмеженого (безпечного) масиву..................................................192
8.2.5. Поняття про незалежні посилання...................................................................193
8.2.6. Врахування обмежень під час використання посилань.................................195
8.2.7. Механізм перевизначення функцій..................................................................195
8.2.8. Поняття про ключове слово overload................................................................198
8.3. Механізм передачі аргументів функції за замовчуванням.....................198
8.3.1. Можливі випадки передачі аргументів функції за замовчуванням..............199
8.3.2. Порівняння можливості передачі аргументів функції за замовчуванням
з її перевизначенням..........................................................................................201
8.3.3. Механізм використання аргументів, що передаються функції за
замовчуванням...................................................................................................202
8.4. Перевизначення функцій і неоднозначності, що при цьому
виникають........................................................................................................203
Розділ 9. C++- СПЕЦИФІК АТ ОРИ ТА СПЕЦІАЛЬНІ ОПЕРАТОРИ.....206
9.1. Специфікатори типів даних...........................................................................206
9.1.1. Застосування специфікатора типу даних const................................................206
9.1.2. Застосування специфікатора типу даних volatile..............................................209
9.2. Поняття про специфікатори класів пам'яті................................................210
9.2.1. Застосування специфікатора класу пам'яті auto..............................................210
9.2.2. Застосування специфікатора класу пам'яті extern...........................................211
9.2.3. Статичні змінні...................................................................................................213
9.2.4. Регістрові змінні.................................................................................................216
9.2.5. Походження модифікатора register...................................................................218
9.3. Поняття про порозрядні оператори..............................................................219
9.3.1. Порозрядні оператори І, АБО, що виключає АБО і НЕ.................................220
9.3.2. Оператори зсуву.................................................................................................224
9.4. Поняття про спеціальні оператори розширення можливостей мови
C++.....................................................................................................................226
9.4.1. Перерахунки - списки іменованих цілочисельних констант........................226
9.4.2. Створення нових імен для наявних типів даних.............................................229
9.4.3. Оператор "знак запитання"...............................................................................229
9.4.4. Складені оператори присвоєння.......................................................................231
9.4.5. Оператор "кома".................................................................................................232
9.4.6. Організація декількох присвоєнь "в одному"..................................................233
9.4.7. Механізм використання ключового слова sizeof.............................................233
9.5. С++-система динамічного розподілу пам'яті..............................................234
9.5.1. Оператори динамічного розподілу пам'яті......................................................235
9.5.2. Ініціалізація динамічно виділеної пам'яті.......................................................236
9.5.3. Динамічне виділення області пам'яті для масивів..........................................237
9.5.4. Функції виділення та звільнення пам'яті у мові програмування С...............238
9.6. Зведена таблиця пріоритетів виконання С++-операторів.......................240
Розділ 10. ПОНЯТТЯ ПРО СТРУКТУРИ І ОБ'ЄДНАННЯ ДАНИХ.......241
10.1. Організація роботи зі структурами даних.................................................241
10.1.1. Основні положення..........................................................................................241
10.1.2. Доступ до членів структури............................................................................244
10.1.3. Поняття про масиви структур.........................................................................245
10.1.4. Приклад застосування структури...................................................................245
10.1.5. Механізм присвоєння структур......................................................................251
10.1.6. Передача структури функції як аргументу....................................................252
10.1.7. Повернення функцією структури як значення..............................................253
10.2. Механізм використання покажчиків на структури і оператора
"стрілка"..........................................................................................................255
10.2.1. Механізм використання покажчиків на структури......................................255
10.2.2. Приклад використання покажчиків на структури........................................256
10.3. Посилання на структури..............................................................................258
10.3.1. Механізм використання структур при передачі функції параметрів за
посиланням........................................................................................................259
10.3.2. Механізм використання як членів структур масивів і структур.................260
10.3.3. Порівняння С- і С++-структур........................................................................261
10.4. Поняття про бітові поля структур..............................................................262
10.5. Механізм використання об'єднань.............................................................264
10.5.1. Оголошення об'єднання..................................................................................264
10.5.2. Поняття про анонімні об'єднання...................................................................269
10.5.3. Механізм використання оператора sizeof для гарантії переносності
коду програми....................................................................................................270
Додаток А. ОСОБЛИВОСТІ ЗАСТОСУВАННЯ С-СИСТЕМИ
ВВЕДЕННЯ-ВИВЕДЕННЯ ДАНИХ.....................................................271
А.1. Механізм використання потоків у С-системі введення-виведення
даних.................................................................................................................272
А.2. Функції консольного введення-виведення даних....................................272
А.2.1. Механізм використання функції printf()...........................................................273
А.2.2. Механізм використання функції scanf()..........................................................275
А.З. С-система оброблення файлів......................................................................279
А.3.1. Механізм використання функції fopen()..........................................................280
А.3.2. Механізм використання функції fputc()...........................................................281
А.3.3. Механізм використання функції fgetc()...........................................................281
А.3.4. Механізм використання функції feof().............................................................282
А.3.5. Механізм використання функції fclose()..........................................................282
А.3.6. Механізм використання функцій fopen(), fgetc(), fputc() і fclose().....................283
A.3.7. Механізм використання функції ferror() і rewind()...........................................284
A.3.8. Механізм використання функції fread() і fwrite()..............................................284
А.4. Виконання операцій введення-виведення даних з довільним
доступом до файлів........................................................................................286
А.4.1. Механізм використання функції fseek()..........................................................286
А.4.2. Механізм використання функції fprintf() і fscanf()............................................287
А.4.3. Механізм видалення файлів.............................................................................287
ЛІТЕРАТУРА........................................................................................................288
Кількість сторінок: 292
Джерело: інтернет + обробка
Особиста оцінка: 10 - без сумнівів рекомендую всім
Показати повідомлення:    

Поточний час: 04-Чер 03:58

Часовий пояс: UTC + 3