А.А. Богуславский, С.М. Соколов
Основы программирования
на языке Си++
Часть 1. Введение в программирование
на языке Си++
(для студентов физико-математических факультетов
педагогических институтов)
Коломна, 2002
ББК 32.97я73 Рекомендовано к изданию
УДК 681.142.2(075.8) редакционно-издательским советом
Б 73 Коломенского государственного
педагогического института
Богуславский А.А., Соколов С.М.
Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. – Коломна: КГПИ, 2002. – 490 с.
Пособие предназначено для обучения студентов, обладающих навыками пользовательской работы на персональном компьютере, основным понятиям и методам современного практического программирования. Предметом изучения курса является объектно-ориентированное программирование на языке Си++ в среде современных 32-х разрядных операционных систем семейства Windows. Программа курса разбита на 4 части: (1) Введение в программирование на языке Си++; (2) Основы программирования трехмерной графики; (3) Объектно-ориентированное программирование на языке Си++ и (4) Программирование для Microsoft Windows с использованием Visual C++ и библиотеки классов MFC.
После изучения курса студент получает достаточно полное представление о содержании современного объектно-ориентированного программирования, об устройстве современных операционных систем Win32 и о событийно-управляемом программировании. На практических занятиях вырабатываются навыки программирования на Си++ в интегрированной среде разработки Microsoft Visual C++ 5.0.
Рецензенты:
И.П. Гиривенко – к.т.н., доцент, зав. кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С.А. Есенина.
А.А. Шамов – к.х.н., доцент кафедры теоретической физики Коломенского государственного педагогического института.
СОДЕРЖАНИЕ
Краткое описание учебного курса "Основы программирования на языке Си++" 6
ЛЕКЦИЯ 1. Основы Си++ 9
1. Несколько замечаний о назначении программирования 9
2. Происхождение языка Си++ 11
3. Стандарт ANSI Си++ 11
4. Среда разработки Microsoft Developer Studio Visual С++ 12
5. Пример программы на Си++ 12
6. Выполнение ввода/вывода данных и присваивание значений 14
7. Управление порядком выполнения команд с помощью оператора if 15
8. Оформление исходного текста 17
9. Сводка результатов 17
10. Упражнения 17
ЛЕКЦИЯ 2. Переменные, типы данных и выражения 20
1. Идентификаторы 20
2. Типы данных 20
3. Вывод вещественных чисел на экран 24
4. Описания, константы и перечисления 26
5. Присваивание и выражения 28
6. Сводка результатов 30
7. Упражнения 30
8. Приложения 32
ЛЕКЦИЯ 3. Функции и процедурная абстракция 34
1. Назначение подпрограмм 34
2. Определение новых функций 34
3. Способы передачи параметров внутрь функций 36
4. Полиморфизм и перегрузка функций 38
5. Процедурная абстракция и "хороший" стиль программирования 39
6. Модульное программирование 39
7. Сводка результатов 41
8. Упражнения 42
ЛЕКЦИЯ 4. Текстовые файлы и потоки ввода/вывода 45
1. Назначение файлов 45
2. Потоки ввода/вывода 45
3. Проверка ошибок выполнения файловых операций 47
4. Символьный ввод/вывод 48
5. Проверка достижения конца файла при операциях ввода 49
6. Передача потоков функциям в качестве параметров 51
7. Операторы ввода/вывода ">>" и "<<" 52
8. Сводка результатов 54
9. Упражнения 54
ЛЕКЦИЯ 5. Операторы ветвления и циклы 56
1. Логические значения, выражения и функции 56
2. Циклы "for", "while" и "do...while" 57
3. Множественное ветвление и оператор "switch" 58
4. Блоки и область видимости переменных 60
5. Замечание о вложенных циклах 63
6. Сводка результатов 63
7. Упражнения 64
ЛЕКЦИЯ 6. Массивы и символьные строки 67
1. Назначение массивов 67
2. Передача массивов в качестве параметров функций 70
3. Сортировка массивов 72
4. Двумерные массивы 73
5. Символьные строки 74
6. Сводка результатов 77
7. Упражнения 77
ЛЕКЦИЯ 7. Указатели 79
1. Назначение указателей 79
2. Переменные типа "массив". Арифметические операции с указателями 83
3. Динамические массивы 85
4. Автоматические и динамические переменные 86
5. Связные списки 86
6. Сводка результатов 90
7. Упражнения 91
ЛЕКЦИЯ 8. Рекурсия 94
1. Понятие рекурсии 94
2. Простой пример рекурсии 94
3. Как выполняется рекурсивный вызов 95
4. Еще три примера рекурсии 97
5. Рекурсия и циклы 98
6. Рекурсия в структурах данных 99
7. Рекурсивная реализация алгоритма быстрой сортировки 99
8. Сводка результатов 102
9. Упражнения 102
ЛЕКЦИЯ 9. Составные типы данных 105
1. Назначение составных типов данных 105
2. Описание и инициализация структур 105
3. Доступ к компонентам структуры через указатель 108
4. Массивы и структуры 110
5. Перегрузка операторов 110
6. Применение структур для реализации стека 112
7. Сводка результатов 116
8. Упражнения 117
ПРИЛОЖЕНИЕ. Краткое руководство по среде разработки Developer Studio Visual C++ 118
1. Создание нового проекта 118
2. Добавление в проект нового исходного файла 119
3. Сборка проекта 120
4. Запуск нового приложения 121
Литература 122
|