Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 691333)
Контекстум

С++ как второй язык в обучении приемам и технологиям программирования (630,00 руб.)

0   0
Первый авторДемяненко Я. М.
АвторыЧердынцева М. И.
ИздательствоРостов н/Д.: Изд-во ЮФУ
Страниц423
ID947243
АннотацияВ учебном пособии внимание уделяется языку С++ и использованию объектно-ориентированного подхода. Пособие состоит из десяти глав. Излагаемый материал рассматривается на большом количестве подробно разобранных примеров.
Кому рекомендованоПособие адресовано студентам первого и второго курсов, обучающимися по бакалаврским программам по направлениям «Прикладная математика и информатика» и «Фундаментальная информатика и информационные технологии».
ISBN978-5-9275-4971-9
УДК004.43:004.424(075.8)
ББК32.973.2+32.973.4я73
Демяненко, Я. М. С++ как второй язык в обучении приемам и технологиям программирования : учебн. пособие / М. И. Чердынцева; Я. М. Демяненко .— 2-е изд., испр. и доп. — Ростов-на-Дону : Изд-во ЮФУ, 2025 .— 423 с. — ISBN 978-5-9275-4971-9 .— URL: https://rucont.ru/efd/947243 (дата обращения: 10.03.2026)

Предпросмотр (выдержки из произведения)

С++_КАК_ВТОРОЙ_ЯЗЫК_В_ОБУЧЕНИИ_ПРИЕМАМ_И_ТЕХНОЛОГИЯМ_ПРОГРАММИРОВАНИЯ.pdf
УДК 004.43:004.424(075.8) ББК 32.973.2+32.973.4я73 Д32 Печатается по решению кафедры прикладной математики и программирования Института математики, механики и компьютерных наук им. И.И. Воровича Южного федерального университета (протокол № 11 от 14 июня 2024 г.) Рецензенты: доктор технических наук, профессор кафедры «Информатика» ФГБОУ ВО РГУПС М. А. Бутакова; доцент, заведующий кафедрой информатики и вычислительного эксперимента Южного федерального университета С. С. Михалкович Демяненко Я. М. Д32 С++ как второй язык в обучении приемам и технологиям программирования: учебное пособие: 2-е изд., испр. и доп./ Я. М. Демяненко, М. И. Чердынцева; Южный федеральный университет. – Ростов-на-Дону; Таганрог: Издательство Южного федерального университета, 2025. – 421 с. ISBN 978-5-9275-4971-9 В учебном пособии внимание уделяется языку С++ и использованию объектно-ориентированного подхода. Пособие состоит из десяти глав. Излагаемый материал рассматривается на большом количестве подробно разобранных примеров. Пособие адресовано студентам первого и второго курсов, обучающимися по бакалаврским программам по направлениям «Прикладная математика и информатика» и «Фундаментальная информатика и информационные технологии». УДК 004.43:004.424(075.8) ББК 32.973.2+32.973.4я73 ISBN 978-5-9275-4971-9 ISBN 978-5-9275-0749-8 © Русанова Я. М., Чердынцева М. И., 2010 ©Демяненко Я. М., Чердынцева М. И., 2025, с изменениями © Южный федеральный университет, 2025
Стр.3
3 СОДЕРЖАНИЕ СОДЕРЖАНИЕ .........................................................................................................................3 ПРЕДИСЛОВИЕ .......................................................................................................................6 ВВЕДЕНИЕ ................................................................................................................................7 ИСПОЛЬЗУЕМАЯ ТЕРМИНОЛОГИЯ ................................................................................10 ГЛАВА 1. БАЗОВЫЕ ЭЛЕМЕНТЫ ЯЗЫКА С++............................................................12 1.1.Немного об истории языка C++ .......................................................................................12 1.2.Особенности языка С++ и его синтаксиса ......................................................................13 1.3.Первые шаги ......................................................................................................................15 1.4.Функции как блоки программы .......................................................................................20 1.5.Параметры (аргументы) функции по умолчанию ..........................................................28 1.6.Выражения и операции .....................................................................................................31 1.7.Управляющие конструкции (операторы) .......................................................................36 1.8.Многофайловые проекты .................................................................................................39 1.9.Заголовочные файлы и библиотеки в С++ .....................................................................46 1.10.Способы обработки ошибок...........................................................................................52 1.11.Рекурсивные функции ....................................................................................................60 ГЛАВА 2. ВСТРОЕННЫЕ ТИПЫ ДАННЫХ ..................................................................65 2.1.Целочисленные типы данных ..........................................................................................66 2.2.Поразрядные операции над целочисленными типами ..................................................68 2.3.Вещественные типы данных ............................................................................................73 2.4.Указатели ...........................................................................................................................78 2.5.Указатели на функции ......................................................................................................83 ГЛАВА 3. МАССИВЫ И СТРОКИ ...................................................................................88 3.1.Одномерные массивы .......................................................................................................88 3.2.Массивы в динамической памяти ....................................................................................91 3.3.Связь массивов и указателей ...........................................................................................93 3.4.Массивы и рекурсия..........................................................................................................96 3.5.Статическое определение двумерных массивов ............................................................99 3.6.Двумерные массивы в динамической памяти ..............................................................102 3.7.Алгоритмы сортировок для массивов ...........................................................................108 3.8.Сложные объявления ......................................................................................................117 3.9.Описание и инициализация строк .................................................................................118 3.10.Обработка строк в стиле языка C ................................................................................125
Стр.4
4 3.11.Обработка строк в стиле языка C++ ........................................................................... 134 ГЛАВА 4. ПАРАМЕТРЫ И ТИПЫ ................................................................................ 140 4.1.Параметры функционального типа ............................................................................... 140 4.2.Массивы указателей на функции .................................................................................. 144 4.3.Шаблоны функций ......................................................................................................... 145 4.4.Приведение типов данных ............................................................................................. 151 4.5.Структуры ....................................................................................................................... 153 ГЛАВА 5. ФАЙЛЫ И СПИСКИ ..................................................................................... 159 5.1.Ввод/вывод и работа с файлами .................................................................................... 159 5.2.Работа с текстовыми файлами в стиле С++ ................................................................. 160 5.3.Работа с бинарными файлами в стиле С++ .................................................................. 172 5.4.Работа с текстовыми файлами в стиле языка С ........................................................... 179 5.5.Работа с бинарными файлами в стиле языка С ........................................................... 185 5.6.Динамические структуры данных. Односвязные списки ........................................... 188 5.7.Двусвязные списки ......................................................................................................... 195 5.8.Бинарные деревья ........................................................................................................... 199 ГЛАВА 6. КЛАССЫ И ОБЪЕКТЫ ................................................................................. 212 6.1.Основы создания классов .............................................................................................. 212 6.2.Конструкторы и деструкторы ....................................................................................... 217 6.3.Дружественные функции ............................................................................................... 222 6.4.Перегрузка операций ...................................................................................................... 232 6.5.Перегрузка операции присваивания ............................................................................. 234 6.6.Перегрузка операции индексирования. ........................................................................ 238 6.7.Перегрузка операций ввода/вывода .............................................................................. 240 6.8.Перегрузка операций инкремента и декремента ......................................................... 241 6.9.Реализация преобразования типов ................................................................................ 246 6.10.Обработка исключений ................................................................................................ 254 6.11.Статические члены класса ........................................................................................... 260 6.12.Автоматически создаваемые члены класса ............................................................... 262 6.13.Семантика перемещения .............................................................................................. 265 ГЛАВА 7. ОТНОШЕНИЯ МЕЖДУ КЛАССАМИ ........................................................ 271 7.1.Наследование классов .................................................................................................... 271 7.2.Открытое наследование ................................................................................................. 272 7.3.Отношение включения ................................................................................................... 286
Стр.5
5 7.4.Позднее связывание и виртуальные функции ..............................................................290 7.5.Абстрактные классы .......................................................................................................297 7.6.Цена виртуальности и система RTTI ............................................................................302 7.7.Отношение подобия ........................................................................................................304 7.8.Коллекции и итераторы ..................................................................................................309 7.9.Реализация итератора для двусвязного списка ............................................................320 7.10.Классы для рекурсивных типов данных .....................................................................328 ГЛАВА 8. ОБОБЩЁННЫЙ ПОДХОД ............................................................................334 8.1.Шаблоны классов ............................................................................................................334 8.2.Шаблоны коллекций .......................................................................................................342 ГЛАВА 9. СТАНДАРТНАЯ БИБЛИОТЕКА ШАБЛОНОВ .........................................354 9.1.Общая характеристика библиотеки ...............................................................................354 9.2.Контейнеры ......................................................................................................................356 9.3.Последовательные контейнеры .....................................................................................360 9.4.Ассоциативные контейнеры ..........................................................................................368 9.5.Итераторы ........................................................................................................................376 9.6.Адаптеры итераторов ......................................................................................................384 9.7.Категории алгоритмов ....................................................................................................389 9.8.Алгоритмы с функциональными параметрами ............................................................391 9.9.Лямбда-выражения .........................................................................................................397 9.10.Обобщённые численные алгоритмы ...........................................................................401 ГЛАВА 10. УМНЫЕ УКАЗАТЕЛИ ...............................................................................407 10.1.Семантика умных указателей ......................................................................................407 10.2.Стратегия одного владельца ........................................................................................408 10.3.Стратегия совместного доступа к ресурсу .................................................................411 10.4.Указатель, не владеющий объектом ............................................................................414 ЛИТЕРАТУРА .......................................................................................................................419
Стр.6

Облако ключевых слов *


* - вычисляется автоматически