Рекомендуем

С++. Бархатный путьМарченко А.Л. С++. Бархатный путь
Проектирование интерактивных Web-приложенийГанеев Р.М. Проектирование интерактивных Web-приложений
Программирование в Delphi: процедурное, объектно-ориентированное, визуальноеБелов В.В., Чистякова В.И. Программирование в Delphi: процедурное, объектно-ориентированное, визуальное

Книга

От С к С++

Учебное пособие для вузов
2-е изд., стереотип. –
Тиражирование книги начато в 2012 году
334 стр.
Формат 60х90/16 (145x215 мм)
Исполнение: в мягкой обложке
ISBN 978-5-9912-0259-6
ББК 32.973
УДК 681.33
Гриф
Допущено учебно-методическим объединением вузов по университетскому политехническому образованию в качестве учебного пособия для студентов высших учебных заведений, обучающихся по специальности «Программное обеспечение вычислительной техники и автоматизированных систем»
Аннотация
Учебное пособие содержит необходимые теоретические сведения и набор упражнений и задач различной степени сложности, позволяющих приобрести навыки практического программирования на алгоритмических языках С и С++ (Си и Си++) и проконтролировать усвоение материала. Практические задания для программирования на С++ имеют "сквозную" структуру - распределены по мере изложения разделов. Материал книги успешно апробирован авторами в высших технических учебных заведениях. Для студентов высших и средних учебных заведений, может быть использована начинающими программистами при изучении алгоритмических языков С и С++.

Оглавление

ПРЕДИСЛОВИЕ

ГЛАВА 1. ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ
1.1. ЭТАПЫ РЕШЕНИЯ ЗАДАЧ НА ЭВМ
1.2. РАЗРАБОТКА АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ
1.2.1. Понятие алгоритма
1.2.2. Алгоритмизация
1.2.3. Схемы алгоритмов
1.3. ПОСТРОЕНИЕ ПРОСТЕЙШИХ ПРОГРАММ
1.3.1. Структура программы
1.3.2. Идентификаторы
1.3.3. Константы
1.3.4. Арифметические операции
1.3.5. Математические функции
1.3.6. Операция присваивания
1.3.7. Функции ввода и вывода
1.3.8. Основные типы данных
1.4. СТИЛЬ ЗАПИСИ ПРОГРАММ НА ЯЗЫКЕ С
1.5. ПРИМЕР СОСТАВЛЕНИЯ ЛИНЕЙНОЙ ПРОГРАММЫ
Вопросы для самоконтроля
Упражнения

ГЛАВА 2. ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ
2.1. ПОНЯТИЕ РАЗВЕТВЛЯЮЩЕГОСЯ АЛГОРИТМА
2.2. ОПЕРАЦИИ ЛОГИЧЕСКОГО ТИПА
2.3. УСЛОВНЫЙ ОПЕРАТОР
2.4. ОПЕРАЦИЯ УСЛОВИЯ
2.5. ОПЕРАТОР-ПЕРЕКЛЮЧАТЕЛЬ
2.6. ПРИМЕР СОСТАВЛЕНИЯ РАЗВЕТВЛЯЮЩЕЙСЯ ПРОГРАММЫ
Упражнения
2.7. ПОБИТОВЫЕ ОПЕРАЦИИ
Вопросы для самоконтроля
Дополнительные упражнения

ГЛАВА 3. ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ
3.1. ПОНЯТИЕ ЦИКЛИЧЕСКОГО АЛГОРИТМА
3.1.1. Определение цикла
3.1.2. Структурограммы
3.1.3. Циклы с известным числом повторений
3.1.4. Итерационные циклы
3.1.5. Вложенные циклы
3.2. ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ С ИЗВЕСТНЫМ ЧИСЛОМ ПОВТОРЕНИЙ
3.2.1. Оператор цикла с параметром
3.2.2. Табулирование функции
3.2.3. Вычисление конечных сумм и произведений
Вопросы для самоконтроля
Упражнения

3.3. КОНСТРУИРОВАНИЕ ПРОГРАММ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ С НЕИЗВЕСТНЫМ ЧИСЛОМ ПОВТОРЕНИЙ
3.3.1. Оператор цикла с предусловием
3.3.2. Оператор цикла с постусловием
3.3.3. Операция «запятая»
3.3.4. Пример циклической программы
Вопросы для самоконтроля
Дополнительные упражнения
3.3.5. Итерационные циклы. Вычисление суммы ряда
3.3.6. Метод итерации для уточнения корней
Вопросы для самоконтроля
Упражнения
3.4. ПРОЕКТИРОВАНИЕ АЛГОРИТМОВ И ПРОГРАММ СО СТРУКТУРОЙ ВЛОЖЕННЫХ ЦИКЛОВ
3.4.1. Табулирование функций от нескольких переменных
3.4.2. Вычисление кратных сумм и произведений
Вопросы для самоконтроля
Упражнения

ГЛАВА 4. МАССИВЫ И УКАЗАТЕЛИ
4.1. МАССИВЫ
4.1.1. Описание массива
4.1.2. Одномерные массивы
4.1.3. Двумерные массивы
4.1.4. Ввод-вывод массивов
4.1.5. Примеры программирования задач
с использованием массивов
4.1.6. Инициализация массивов
Вопросы для самоконтроля
Упражнения
4.2. УКАЗАТЕЛИ
4.2.1. Описание указателей
4.2.2. Адресные операции
4.2.3. Инициализация указателей
4.2.4. Особенности использования массивов и указателей в программе
4.2.5. Ввод-вывод данных с помощью указателей
4.2.6. Пример программирования задачи с использованием
указателей
Вопросы для самоконтроля
Упражнение

ГЛАВА 5. ФУНКЦИИ
5.1. ОСНОВНЫЕ ПОНЯТИЯ
5.1.1. Вспомогательные, или подчиненные, алгоритмы
5.1.2. Понятие функции
5.1.3. Определение функции
5.1.4. Описание функции
5.1.5. Вызов функции
5.2. ОБМЕН ИНФОРМАЦИЕЙ МЕЖДУ ФУНКЦИЯМИ
5.2.1. Оператор возврата
5.2.2. Передача адреса в функцию
5.2.3. Библиотечные функции
5.2.4. Примеры программ с функциями
Упражнения
5.3. ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ МАССИВОВ И УКАЗАТЕЛЕЙ В ФУНКЦИЯХ
5.3.1. Пример составления программы
Упражнения
5.4. ФУНКЦИИ РАБОТЫ С ТЕКСТОВЫМИ СТРОКАМИ И ФРАГМЕНТАМИ ОПЕРАТИВНОЙ ПАМЯТИ
5.4.1. Пример программы с массивами и указателями в функциях
Вопросы для самоконтроля
Упражнения
Дополнительные упражнения
5.5. РЕКУРСИИ
5.5.1. Понятие рекурсии
5.5.2. Техника построения рекурсивных алгоритмов
5.5.3. Формы рекурсий
5.5.3.1. Простая линейная рекурсия
5.5.3.2. Параллельная рекурсия
5.5.3.3. Взаимная рекурсия
5.5.3.4. Рекурсия более высокого порядка
5.5.4. Рекурсия и итерация
5.5.5. Пример составления программы
Вопросы для самоконтроля
Упражнения

ГЛАВА 6. СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ
6.1. ОПРЕДЕЛЕНИЕ СТРУКТУРЫ
6.1.1. Пример составления программы
Упражнения
6.2. СТРУКТУРА ТИПА ПОЛЯ БИТОВ
6.3. ОБЪЕДИНЕНИЕ
6.4. ОПЕРАЦИИ НАД СТРУКТУРАМИ И ИХ ЭЛЕМЕНТАМИ
6.5. СТРУКТУРЫ И ФУНКЦИИ
6.6. ПЕРЕМЕННЫЕ СТРУКТУРЫ
6.7. ПРИМЕР ПРОГРАММЫ СО СТРУКТУРАМИ
Вопросы для самоконтроля
Упражнения

ГЛАВА 7. ФАЙЛЫ
7.1. ОПРЕДЕЛЕНИЕ ФАЙЛА
7.2. ОТКРЫТИЕ ФАЙЛА
7.3. ЗАКРЫТИЕ ФАЙЛА
7.4. ВВОД-ВЫВОД ФАЙЛА
7.4.1. Ввод-вывод символа
7.4.2. Ввод-вывод строки
7.4.3. Ввод-вывод целого
7.4.4. Форматированный ввод-вывод
7.4.5. Ввод-вывод блока
Упражнения
7.5. ПРОИЗВОЛЬНЫЙ ДОСТУП К ФАЙЛУ
7.6. ПРИМЕР ПРОГРАММЫ С ФАЙЛАМИ
Вопросы для самоконтроля
Дополнительные упражнения

ГЛАВА 8. ДИРЕКТИВЫ ПРЕПРОЦЕССОРА
8.1. ПРЕПРОЦЕССОР ЯЗЫКА С
8.2. ВКЛЮЧЕНИЕ В ТЕКСТ ПРОГРАММЫ ВНЕШНЕГО ФАЙЛА
8.3. ВЫПОЛНЕНИЕ МАКРОПОДСТАНОВОК
8.4. СТАНДАРТНЫЕ МАКРООПРЕДЕЛЕНИЯ
8.5. УСЛОВНАЯ КОМПИЛЯЦИЯ
Вопросы для самоконтроля
Упражнение

ГЛАВА 9. КЛАССЫ С++
9.1. КОНЦЕПЦИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ В ЯЗЫКЕ С++
9.2. ПОНЯТИЕ «КЛАСС»
9.3. УПРАВЛЕНИЕ ДОСТУПОМ К ЭЛЕМЕНТАМ ДАННЫХ КЛАССОВ
9.4. ОПРЕДЕЛЕНИЕ ФУНКЦИЙ-ЧЛЕНОВ КЛАССА (МЕТОДОВ)
9.5. ОБЪЕКТЫ КЛАССОВ
9.6. ПРИМЕР ПРОГРАММЫ С КЛАССАМИ
Вопросы для самоконтроля
Упражнения

ГЛАВА 10. КОНСТРУКТОРЫ И ДЕСТРУКТОРЫ
10.1. КОНСТРУКТОРЫ КЛАССОВ
10.2. ОПЕРАЦИЯ ССЫЛКИ
10.3. ДЕСТРУКТОРЫ КЛАССОВ
10.4. ПРИМЕР ПРОГРАММЫ С КОНСТРУКТОРАМИ И ДЕСТРУКТОРАМИ
Вопросы для самоконтроля
Упражнения

ГЛАВА 11. ПЕРЕГРУЖАЕМЫЕ ОПЕРАЦИИ
11.1. ПОНЯТИЕ ПЕРЕГРУЗКИ ОПЕРАЦИЙ
11.2. ПЕРЕГРУЗКА РАЗЛИЧНЫХ ОПЕРАЦИЙ
11.3. ПРИМЕР ПРОГРАММЫ С ПЕРЕГРУЗКОЙ ОПЕРАЦИЙ
Вопросы для самоконтроля
Упражнения

ГЛАВА 12. ПОТОКИ ВВОДА-ВЫВОДА
12.1. КОНЦЕПЦИЯ ПОТОКОВ
12.2. ОПЕРАЦИИ ВСТАВКИ В ПОТОК
12.3. УПРАВЛЕНИЕ ФОРМАТОМ
12.4. ОПЕРАЦИИ ВСТАВКИ, ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ
12.5. МАНИПУЛЯТОРЫ, ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ
12.6. ОПЕРАЦИИ ИЗВЛЕЧЕНИЯ ИЗ ПОТОКА
12.7. ОПЕРАЦИИ ИЗВЛЕЧЕНИЯ, ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ
12.8. ПРИМЕР ПРОГРАММЫ С ПОТОКАМИ ВВОДА-ВЫВОДА
Вопросы для самоконтроля
Упражнения

ГЛАВА 13. ПРОИЗВОДНЫЕ КЛАССЫ
13.1. ПРОСТОЕ НАСЛЕДОВАНИЕ
13.2. ДОСТУП К НАСЛЕДУЕМЫМ КОМПОНЕНТАМ
13.3. КОНСТРУКТОРЫ ДЛЯ ПРОИЗВОДНЫХ КЛАССОВ
13.4. ПРОИЗВОДНЫЕ И ОБЪЕМЛЮЩИЕ КЛАССЫ
13.5. ПРИМЕРЫ СВЯЗНЫХ СПИСКОВ
13.6. ПОЛИМОРФИЗМ
13.7. ПРАВИЛО ISA( )
Вопросы для самоконтроля
Упражнения

ГЛАВА 14. ОСОБЕННОСТИ НАСЛЕДОВАНИЯ КЛАССОВ
14.1. АБСТРАКТНЫЕ КЛАССЫ
14.2. МНОЖЕСТВЕННОЕ НАСЛЕДОВАНИЕ
14.3. АДРЕСА БАЗОВЫХ КЛАССОВ
14.4. ВИРТУАЛЬНОЕ НАСЛЕДОВАНИЕ
Вопросы для самоконтроля
Упражнения

ГЛАВА 15. ФАЙЛЫ ПОЛЬЗОВАТЕЛЯ
15.1. ВВОД-ВЫВОД В ФАЙЛАХ
15.2. ОТКРЫТИЕ ФАЙЛОВ
15.3. ЗАКРЫТИЕ ФАЙЛОВ
15.4. ПОИСК В ПОТОКЕ
15.5. ПРИВЯЗКА ПОТОКОВ
15.6. УКАЗАТЕЛИ НА ПОТОКИ
15.7. ОБРАБОТКА ОШИБОК В ПОТОКАХ
15.8. ВВОД-ВЫВОД ДВОИЧНЫХ ФАЙЛОВ
15.9. ВВОД-ВЫВОД В ОПЕРАТИВНОЙ ПАМЯТИ
15.10. ПРИМЕР ПРОГРАММЫ С ИСПОЛЬЗОВАНИЕМ ФАЙЛА
Вопросы для самоконтроля
Упражнения

ПРИЛОЖЕНИЕ 1. НЕКОТОРЫЕ БИБЛИОТЕЧНЫЕ ФУНКЦИИ
П-1.1. ПОДПРОГРАММЫ КЛАССИФИКАЦИИ СИМВОЛОВ
П-1.2. ПОДПРОГРАММЫ ПРОЦЕССОВ
П-1.3. ПОДПРОГРАММЫ ПРЕОБРАЗОВАНИЯ СИМВОЛОВ И СТРОК
П-1.4. ПОДПРОГРАММЫ ВВОДА-ВЫВОДА
П-1.5. ПОДПРОГРАММЫ МАНИПУЛИРОВАНИЯ СТРОКАМИ
П-1.6. ПОДПРОГРАММЫ РАСПРЕДЕЛЕНИЯ ПАМЯТИ

ПРИЛОЖЕНИЕ 2. БИБЛИОТЕЧНЫЕ ФУНКЦИИ ГРАФИКИ
П-2.1. ФУНКЦИИ УСТАНОВКИ ГРАФИЧЕСКОЙ СРЕДЫ
П-2.2. ФУНКЦИИ РИСОВАНИЯ
П-2.3. ОСНОВНЫЕ МАКРООПРЕДЕЛЕНИЯ ГРАФИКИ

ПРИЛОЖЕНИЕ 3. УПРАЖНЕНИЯ ПО С++ (ОБЪЕКТЫ)

СПИСОК ЛИТЕРАТУРЫ