Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прогр_на_ЯВУ (Cpp)_-_Лекции.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
882.69 Кб
Скачать

Содержание

Лекция 1 Основы алгоритмизации 3

1.1 Языки программирования 3

1.2 Этапы решения задач на компьютере 4

1.3 Понятие алгоритма и его свойства 5

1.4 Графическое описание алгоритмов. Схемы алгоритмов 6

1.5 Типы алгоритмов 8

Лекция 2 Начальные сведения о языке 11

2.1 История и назначение языка C++ 11

2.2 Простейшая программа на языке C++ 12

2.3 Компиляция и выполнение программы 12

2.4 Описание типичной среды программирования на C++ 13

Лекция 3 Имена, переменные и константы 14

3.1 Имена 14

3.2 Переменные 15

3.3 Константы 15

Лекция 4 Операции и выражения 17

4.1 Выражения 17

4.2 Операция присваивания 17

4.3 Все операции языка C++ 19

4.3.1 Арифметические операции 19

4.3.2 Операции сравнения 20

4.3.3 Логические операции 20

4.3.4 Битовые операции 20

4.3.5 Условная операция 21

4.3.6 Последовательность 21

4.3.7 Операции присваивания 21

4.4 Порядок вычисления выражений 21

Лекция 5 Операторы 23

5.1 Что такое оператор 23

5.1.1 Операторы-выражения 23

5.1.2 Объявления имен 23

5.1.3 Операторы управления 23

5.1.3.1 Условные операторы 24

5.1.3.2 Операторы цикла 26

5.1.3.3 Оператор возврата 28

5.1.3.4 Оператор перехода 28

Лекция 6 Функции 30

6.1 Вызов функций 30

6.2 Имена функций 31

6.3 Необязательные аргументы функций 32

6.4 Рекурсия 33

Лекция 7 Встроенные типы данных 35

7.1 Общая информация 35

7.2 Целые числа 35

7.3 Вещественные числа 37

7.4 Логические величины 38

7.5 Символы и байты 39

7.6 Кодировка, многобайтовые символы 40

7.7 Наборы перечисляемых значений 41

Лекция 8 Классы и объекты 43

8.1 Понятие класса 43

8.2 Определение методов класса 43

8.3 Переопределение операций 44

8.4 Подписи методов и необязательные аргументы 45

8.4.1 Запись классов 46

Лекция 9 Производные типы данных 47

9.1 Массивы 47

9.2 Структуры 49

9.2.1 Битовые поля 49

9.3 Объединения 49

9.4 Указатели 51

9.4.1 Адресная арифметика 53

9.4.2 Связь между массивами и указателями 55

9.4.3 Бестиповый указатель 55

9.4.4 Нулевой указатель 56

9.5 Строки и литералы 57

Лекция 10 Распределение памяти 60

10.1 Автоматические переменные 60

10.2 Статические переменные 60

10.3 Динамическое выделение памяти 61

10.4 Выделение памяти под строки 62

10.5 Рекомендации по использованию указателей и динамического распределения памяти 62

10.6 Ссылки 63

10.6 Распределение памяти при передаче аргументов функции 64

10.6.1 Рекомендации по передаче аргументов 67

Лекция 11 Производные классы, наследование 68

11.1 Виртуальные методы 71

11.1.1 Виртуальные методы и переопределение методов 73

11.2 Преобразование базового и производного классов 74

11.3 Внутреннее и защищенное наследование 74

11.4 Абстрактные классы 75

11.5 Множественное наследование 76

11.5.1 Виртуальное наследование 79

Лекция 12 Контроль доступа к объекту 80

Лекция 13 Классы – конструкторы и деструкторы 81

Лекция 14 Дополнительные возможности классов 82

Лекция 15 Компоновка программ, препроцессор 83

15.1 Компоновка нескольких файлов в одну программу 83

15.2 Проблема использования общих функций и имен 83

15.3 Использование включаемых файлов 85

15.4 Препроцессор 87

15.4.1 Определение макросов 87

Условная компиляция 88

15.4.2 Дополнительные директивы препроцессора 89

Лекция 16 Определение, время жизни и области видимости переменных в больших программах 90

16.1 Файлы и переменные 90

16.1.1 Общие данные 91

16.1.2 Глобальные переменные 92

16.1.3 Повышение надежности обращения к общим данным 93

16.2 Область видимости имен 95

16.3 Оператор определения контекста namespace 97

Лекция 17 Обработка ошибок 99

17.1 Виды ошибок 99

17.2 Возвращаемое значение как признак ошибки 100

17.3 Исключительные ситуации 102

17.3.1 Обработка исключительных ситуаций 103

17.3.2 Примеры обработки исключительных ситуаций 104

Лекция 18 Bвод-вывод 108

18.1 Потоки 108

18.2 Операции << и >> для потоков 109

18.3 Манипуляторы и форматирование ввода-вывода 110

18.4 Строковые потоки 111

18.5 Ввод-вывод файлов 112

Лекция 19 Шаблоны 115

19.1 Назначение шаблонов 115

19.2 Функции-шаблоны 115

19.3 Шаблоны классов 116

19.3.1 "Интеллигентный указатель" 118

19.3.2 Задание свойств класса 120

Список использованных источников 123

128