Грицюк Ю. І., Рак Т. Є. Програмування мовою с++ (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 - без сумнівів рекомендую всім
!УВАГА!
Сайт не надає електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що надсилають та публікують на форумі наші читачі. Якщо ви є правовласником будь-якого представленого матеріалу і не бажаєте, щоб посилання на нього були в нашому каталозі, зв'яжіться з нами і ми негайно приберемо його. Файли для обміну на трекері надані користувачами сайту, і адміністрація не несе відповідальності за їх зміст. Прохання не завантажувати файли, захищені авторськими правами, а також файли нелегального змісту!