
- •Оглавление
- •Введение
- •1. Структурное программирование
- •2.1. Общий вид окна
- •2.2. Создание консольного приложения и работа с ним
- •2.3. Компиляция и запуск проекта
- •2.4. Отладка программы
- •2.5. Создание рабочего пространства для нескольких проектов
- •6.5. Типы с плавающей точкой
- •7. Переменные
- •8. Выражения
- •9. Ввод и вывод данных
- •10.1. Базовые конструкции структурного программирования
- •10.2. Оператор «выражение»
- •10.2. Составные операторы
- •10.3. Операторы выбора
- •10.4. Операторы циклов
- •10.5. Операторы перехода
- •11.1. Программирование ветвлений
- •11.2. Программирование арифметических циклов
- •11.3. Программирование итерационных циклов
- •11.4. Программирование вложенных циклов
- •12. Массивы
- •12.2. Примеры решения задач и использованием массивов
- •13. Указатели
- •13.1. Понятие указателя
- •13.2. Динамическая память
- •13.3. Операции с указателями
- •14. Ссылки
- •15. Указатели и массивы
- •15.1. Одномерные массивы и указатели
- •15.2. Многомерные массивы и указатели
- •15.3. Динамические массивы
- •16. Символьная информация и строки
- •16.1. Представление символьной информации
- •16. 2. Библиотечные функции для работы со строками
- •16. 3. Примеры решения задач с использованием строк
- •17.1. Объявление и определение функций
- •17.2. Прототип функции
- •17.3. Параметры функции
- •17.4. Локальные и глобальные переменные
- •17.5 Функции и массивы
- •13.5.1. Передача одномерных массивов как параметров функции
- •13.5.2. Передача строк в качестве параметров функций
- •13.5.3. Передача многомерных массивов в функцию
- •17.6 Функции с начальными значениями параметров (по-умолчанию)
- •17.7. Подставляемые (inline) функции
- •17.8. Функции с переменным числом параметров
- •17.9. Рекурсия
- •17.10 Перегрузка функций
- •17.11. Шаблоны функций
- •17.12. Указатель на функцию
- •17.13. Ссылки на функцию
- •18. Типы данных, определяемые пользователем
- •18.1. Переименование типов
- •18.2. Перечисления
- •18.3. Структуры
- •18.3.1. Работа со структурами
- •18.3.2. Битовые поля
- •18.3.3. Объединения
- •19. Динамические структуры данных
- •19.1. Создание элемента списка
- •19.2. Создание списка из n элементов
- •19. 3. Перебор элементов списка
- •19. 4. Удаление элемента с заданным номером
- •19. 5. Добавление элемента с заданным номером
- •19.6. Двунаправленные списки
- •19. 7. Очереди и стеки
- •19. 8. Бинарные деревья
- •19.9.Обход дерева
- •19.10. Формирование дерева
- •19.11. Удаление элемента из дерева
- •19. 12. Обработка деревьев с помощью рекурсивного обхода
- •20. Препроцессорные средства
- •20.1. Стадии и команды препроцессорной обработки
- •20.2. Директива #define
- •20.3. Включение текстов из файлов
- •20.4. Условная компиляция
- •20.5. Макроподстановки средствами препроцессора
- •21.2. Кодирование и документирование программы
БАШКИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра программирования и экономической информатики
Луценко В.И.
Проектирование программ и программирование на С++:
структурное программирование
(часть I)
УФА 2008
Составитель: Луценко В.И.
УДК 681.3
Учебное пособие по изучению курсов «Алгоритмические языки и программирование», «Программирование на языках высокого уровня» для студентов направления 230100 «Информатика и вычислительная техника» специальностей 230101 «Вычислительные машины, комплексы, системы и сети», 230101 «Автоматизированные системы обработки информации и управления» для дневной и заочной форм обучения. Сост. Луценко В.И.; БашГУ. –Уфа, 2008,100с.
Рецензенты: Мусин И.Х. доктор ф.м.-н. Институт математики с ВЦ, доцент каф.
Оглавление
Оглавление 3
Введение 5
1. Структурное программирование 6
2. Среда программирования Visual C++ 6.0 7
2.1. Общий вид окна 7
2.2. Создание консольного приложения и работа с ним 7
2.3. Компиляция и запуск проекта 9
2.4. Отладка программы 9
2.5. Создание рабочего пространства для нескольких проектов 9
3.Структура программы на языке C/C++ 9
4. Элементы языка C/C++ 12
5. Константы в C/C++ 12
6. Типы данных в C/C++ 14
6.1. Тип int 14
6.2. Тип char 14
6.3. Тип wchar_t 15
6.4. Тип bool 15
6.5. Типы с плавающей точкой 15
6.6. Тип void 15
7. Переменные 15
8. Выражения 17
9. Ввод и вывод данных 17
10. Операторы C/C++ 18
10.1. Базовые конструкции структурного программирования 18
10.2. Оператор «выражение» 19
10.2. Составные операторы 19
10.3. Операторы выбора 19
10.4. Операторы циклов 21
10.5. Операторы перехода 22
11. Примеры решения задач с использованием основных операторов С++ 24
11.1. Программирование ветвлений 25
11.2. Программирование арифметических циклов 26
11.3. Программирование итерационных циклов 27
11.4. Программирование вложенных циклов 29
12. Массивы 31
12.1. Определение массива в C/C++ 31
12.2. Примеры решения задач и использованием массивов 32
13. Указатели 34
13.1. Понятие указателя 34
13.2. Динамическая память 36
13.3. Операции с указателями 36
14. Ссылки 38
15. Указатели и массивы 39
15.1. Одномерные массивы и указатели 39
15.2. Многомерные массивы и указатели 40
15.3. Динамические массивы 40
16. Символьная информация и строки 42
16.1. Представление символьной информации 43
16. 2. Библиотечные функции для работы со строками 44
16. 3. Примеры решения задач с использованием строк 45
17. Функции в C++ 48
17.1. Объявление и определение функций 48
17.2. Прототип функции 50
17.3. Параметры функции 51
17.4. Локальные и глобальные переменные 53
17.5 Функции и массивы 54
13.5.1. Передача одномерных массивов как параметров функции 54
13.5.2. Передача строк в качестве параметров функций 56
13.5.3. Передача многомерных массивов в функцию 57
17.6 Функции с начальными значениями параметров (по-умолчанию) 60
17.7. Подставляемые (inline) функции 60
17.8. Функции с переменным числом параметров 61
17.9. Рекурсия 62
17.10 Перегрузка функций 64
17.11. Шаблоны функций 65
17.12. Указатель на функцию 67
17.13. Ссылки на функцию 69
18. Типы данных, определяемые пользователем 70
18.1. Переименование типов 70
18.2. Перечисления 70
18.3. Структуры 71
18.3.1. Работа со структурами 72
18.3.2. Битовые поля 73
18.3.3. Объединения 74
19. Динамические структуры данных 75
19.1. Создание элемента списка 76
19.2. Создание списка из n элементов 77
19. 3. Перебор элементов списка 77
19. 4. Удаление элемента с заданным номером 78
19. 5. Добавление элемента с заданным номером 79
19.6. Двунаправленные списки 80
19. 7. Очереди и стеки 84
19. 8. Бинарные деревья 85
19.9.Обход дерева 86
19.10. Формирование дерева 88
19.11. Удаление элемента из дерева 90
19. 12. Обработка деревьев с помощью рекурсивного обхода 91
20. Препроцессорные средства 92
20.1. Стадии и команды препроцессорной обработки 92
20.2. Директива #define 92
20.3. Включение текстов из файлов 93
20.4. Условная компиляция 95
20.5. Макроподстановки средствами препроцессора 96
21. Технология создания программ 98
21.1. Проектирование программы 98
21.2. Кодирование и документирование программы 99