Программирование на языке с++: практический курс. Учебное пособие для бакалавриата и специалитета (Марина Огнева, Елена Кудрина)

Год издания: 2022
Автор: Огнева М., Кудрина Е.
Жанр или тематика: Программирование
Издательство: М.: Юрайт
ISBN: 978-5-534-05123-0
Язык: Русский

Формат: PDF
Качество: Отсканированные страницы + слой распознанного текста
Интерактивное оглавление: Да
Закладки: Да
Количество страниц: 336

Описание:
В мире существует множество языков программирования, но в языке C++ удачно сочетаются мощь, элегантность, гибкость и выразительность структурного и объектно-ориентированного программирования. Благодаря этому он уже долгое время остается одним из самых популярных языков программирования.

Данное учебное пособие направлено на изложение базовых основ программирования на языке C++ и на формирование навыков решения практико-ориентированных задач. Пособие содержит сведения по базовым концепциям структурного и объектно-ориентированного программирования, структурам данных, организации ввода-вывода, алгоритмам обработки данных, методам сортировки и т.д. Простота изложения материала и большое количество разобранных примеров делают изучение языка C++ доступным для широкого круга читателей.

Оглавление ...4
Предисловие ...8
Введение ...11
ГЛАВА 1. БАЗОВЫЕ ЭЛЕМЕНТЫ ЯЗЫКА C++ ...15
1.1. Состав языка ...15
1.2. Структура программ ...16
1.3. Стандартные типы данных С++ ...19
1.4. Константы ...21
1.5. Переменные ...24
1.6. Организация консольного ввода-вывода данных ...25
1.7. Операции ...28
1.8. Выражения и преобразование типов ...34
1.9. Примеры простейших программ ...36
Упражнения ...38
ГЛАВА 2. ФУНКЦИИ В C++ ...41
2.1. Основные понятия ...41
2.2. Локальные и глобальные переменные ...43
2.3. Параметры функции ...45
2.4. Классы памяти ...47
2.5. Модели памяти ...49
2.6. Примеры использования функций при решении задач ...50
Упражнения ...52
ГЛАВА 3. ОПЕРАТОРЫ C++ ...55
3.1. Операторы следования ...55
3.2. Операторы ветвления ...56
3.3. Примеры использования операторов ветвления при решении задач ...60
3.4. Операторы цикла ...65
3.5. Примеры использования операторов цикла при решении задач ...69
З.6. Операторы безусловного перехода ...73
Упражнения ...75
ГЛАВА 4. РЕКУРРЕНТНЫЕ СООТНОШЕНИЯ ...81
4.1. Вычисление членов рекуррентной последовательности ...81
Упражнения ...84
ГЛАВА 5. ВЫЧИСЛЕНИЕ КОНЕЧНЫХ И БЕСКОНЕЧНЫХ СУММ И ПРОИЗВЕДЕНИЙ ...86
5.1. Вычисление конечных сумм и произведений ...86
5.2. Вычисление бесконечных сумм ...92
Упражнения ...95
ГЛАВА 6. МАССИВЫ ...100
6.1. Указатели ...100
6.2. Ссылки ...105
6.3. Одномерные массивы ...106
6.4. Примеры использования одномерных массивов ...112
6.5. Двумерные массивы ...116
6.6. Примеры использования двумерных массивов ...123
6.7. Вставка и удаление элементов в массивах ...132
Упражнения ...140
ГЛАВА 7. СТРОКИ ...145
7.1. Работа со строками в виде массивов символов ...145
7.2. Класс string ...151
7.3. Взаимное преобразование объектов типа string и строк в стиле С ...157
7.4. Работа с отдельными символами ...158
7.5. Смешанный строко-числовой ввод данных ...159
7.6. Примеры работы co строками ...160
Упражнения ...165
Самостоятельная работа ...167
ГЛАВА 8. РЕКУРСИВНЫЕ ФУНКЦИИ. ПЕРЕГРУЗКА ФУНКЦИЙ И ИСПОЛЬЗОВАНИЕ ШАБЛОНОВ ...169
8.1. Рекурсивные функции ...169
8.2. Перегрузка функций ...177
8.3. Функции-шаблоны ...178
Упражнения ...180
Самостоятельная работа ...186
ГЛАВА 9. ОРГАНИЗАЦИЯ ФАЙЛОВОГО ВВОДА/ВЫВОДА ...187
9.1. Файловые потоки ...188
9.2. Примеры решения задач с использованием файлового ввода/вывода ...196
Упражнения ...200
Самостоятельная работа ...202
ГЛАВА 10. СТРУКТУРЫ ...205
10.1. Общие сведения ...205
10.2. Примеры решения задач ...209
Упражнения ...212
Самостоятельная работа ...214
ГЛАВА 11. СОРТИРОВКИ ...216
11.1. Метод «пузырька» ...216
11.2. Сортировка вставками ...218
11.3. Сортировка посредством выбора ...220
11.4. Алгоритм сортировки Шелла ...221
11.5. Решение практических задач с использованием сортировок ...223
Упражнения ...227
Самостоятельная работа ...229
ГЛАВА 12. КЛАСС-КОНТЕЙНЕР ВЕКТОР ...230
12.1. Работа с векторами ...230
12.2. Итераторы ...235
12.3. Алгоритмы STL ...236
Упражнения ...241
ГЛАВА 13. ИСКЛЮЧЕНИЯ ...243
13.1. Механизм обработки исключений ...243
13.2. Применение исключений на практике ...246
Упражнения ...248
ГЛАВА 14. КЛАССЫ И ОБЪЕКТЫ ...249
14.1. Основные понятия ...249
14.2. Конструкторы ...251
14.3. Деструкторы ...254
14.4. Статические члены класса ...255
14.5. Перегрузка операций ...256
14.6. Пример простого класса ...259
Упражнения ...262
ГЛАВА 15. НАСЛЕДОВАНИЕ ...265
15.1. Основные понятия ...265
15.2. Наследование конструкторов ...266
15.3. Виртуальные функции ...267
15.4. Абстрактные классы и чисто виртуальные функции ...270
Упражнения ...273
ГЛАВА 16. ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ РЕАЛИЗАЦИЯ СПИСКОВ ...276
16.1. Основные понятия ...277
16.2. Стек ...277
16.3. Решение практических задач с использованием стеков ...282
16.4. Применение исключений и шаблонов ...285
16.5. Очередь ...287
16.6. Решение практических задач с использованием очереди ...291
16.7. Однонаправленный список общего вида ...294
16.8. Решение практических задач с использованием однонаправленных списков ...299
16.9. Двунаправленный список ...302
16.10. Решение практических задач с использованием двунаправленных списков ...311
Упражнения ...313
ГЛАВА 17. РЕАЛИЗАЦИЯ СПИСКОВ С ПОМОЩЬЮ БИБИЛОТЕКИ СТАНДАРНЫХ ШАБЛОНОВ ...317
17.1. Класс-контейнер stack ...317
17.2. Класс-контейнер queue ...318
17.3. Класс-контейнер list ...319
17.4. Решение практических задач с использованием библиотеки STL ...322
Упражнения ...325
Список литературы ...327
ПРИЛОЖЕНИЕ 1. Работа в среде Microsoft Visual Studio ...329
ПРИЛОЖЕНИЕ 2. Ошибки, возникающие при разработке программ ...332
ПРИЛОЖЕНИЕ 3. Операции языка C++ ...334
ПРИЛОЖЕНИЕ 4. Математические функции ...336