Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Список принятых сокращений




Конспект лекций к дисциплине

«Программирование»

(Второй курс, 3-й семестр обучения,

специальность: прикладная математика)

О конспекте лекций

Материал лекций составлялся, редактировался и дополнялся на протяжении нескольких лет преподавания данного курса доцентом кафедры Прикладной математики факультета Прикладной математики НТУУ «КПИ» – Россошинским Дмитрием Алексеевичем. Версия конспекта лекций находится в стадии постоянной модификации и дополнения. Следите за обновлением и модификациями электронных версий конспекта лекций. Электронная версия конспекта подготовлена в соавторстве с ассистентом кафедры ПМА Громовой Викторией Викторовной и постоянно находится на сервере кафедры (Torba/newsoft/metodichki). Все сообщения о замеченных ошибках, неточностях, погрешностях будут с благодарностью приняты соавторами и исправлены.

Оглавление

Список принятых сокращений.. 8

Лекция 1. Язык С: Введение.. 9

Историческая справка.. 9

Основные сведения. 9

Структура программы.. 9

Переменные и простые типы данных.. 10

Константы.. 11

Некоторые особенности Турбо Cи.. 13

Вопросы для самоконтроля. 13

Лекция 2. Базовые типы данных, операции и выражения.. 14

Простые типы данных в Турбо Си.. 14

Целочисленные константы.. 14

2-х символьные константы.. 14

Константы с плавающей точкой. 14

Строковые константы.. 14

Константные выражения. 14

Описания переменных и классы памяти. 15

Расширение базовых спецификаторов типов в Турбо Си.. 16

Тип void.. 16

Операции и выражения. 17

Арифметические операции. 18

Операции отношения. 19

Логические операции. 19

Операции автоувеличения и автоуменьшения. 19

Правила приведения типов в выражениях. 20

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

Прочие операции. 22

Вопросы для самоконтроля. 23

Вопросы для самостоятельного изучения. 23

Лекция 3. Элементарный ввод и вывод.. 24

Стандартные потоки stdin и stdout. 24

Форматированный ввод и вывод.. 24

Флэширование буфера ввода.. 26

Внутренние форматные преобразования. 27

Функции неформатированного ввода-вывода.. 27

Вопросы для самоконтроля. 27

Лекция 4. Операторы управления и локализация имен.. 28

Операторы.. 28

Составной оператор. 28

Пустой оператор. 29

Цикл do-while. 29

Цикл for. 29

Прочие операторы.. 30

Внешние параметры для программы и переменные среды.. 31

Вопросы для самоконтроля. 32

Вопросы для самостоятельного изучения. 32

Лекция 5. Среда разработки программ – Турбо-С.. 33

Общие сведения. 33

Главное меню и управление окнами.. 33

Окна диалогов и подсистема работы с файлами.. 34

Многооконный текстовый редактор. 34

Задание опций интегрированной среды.. 36

Компиляция, редактирование связей и запуск программы на выполнение. 36

Многофайловая компиляция. 37

Отладчик интегрированной среды.. 37

Вопросы для самоконтроля. 39

Лекция 6. Препроцессор и модификаторы типов данных в Турбо-С.. 40

Препроцессор. 40

Макроподстановка. 40

Включение файлов. 41

Условная трансляция. 41

Управление строками. 41

Модификаторы типов данных в Турбо С.. 42

Модификаторы доступа const и volatile. 42

Модификаторы cdecl и pascal 43

Вопросы для самоконтроля. 43

Лекция 7. Декларации и применение функций.. 44

Декларации функций и прототипы.. 44

Дополнительные сведения об аргументах.. 45

Управление аргументами. 45

Не фиксированное число аргументов. 46

Внешние переменные. 48

Правила областей видимости имен.. 49

Рекурсивные функции.. 50

Вопросы для самоконтроля. 50

Лекция 8. Указатели и массивы... 52

Указатели.. 52

Адресные операции. 53

Родовой указатель. 53

Адресная арифметика. 54

Массивы.. 54

Декларация, инициализация и индексирование. 54

Связь с указателями. 55

Специальные виды матриц.. 56

Вопросы для самоконтроля. 58

Лекция 9. Модели памяти и модификаторы типов указателей.. 59

Модели памяти.. 59

Модификаторы типов указателей.. 59

Указатели на функции и их модификаторы.. 61

Массивы указателей на функции.. 63

Вопросы для самоконтроля. 63

Лекция 10. Символьные массивы и функции для работы с литерами и строками.. 64

Инициализация строковых массивов. 64

Операции над массивами.. 64

Основные положения. 64

Символьные библиотечные функции. 65

Массивы указателей и указатели на указатели.. 66

Вопросы для самоконтроля. 67

Вопросы для самостоятельного изучения. 68

Лекция 11. Записи и объединения.. 69

Декларация и инициализация записей.. 69

Операции над структурами.. 70

Указатели на структурную переменную... 70

Правила выравнивания структурных переменных в памяти.. 71

Поля битов в структурах.. 71

Объединения. 72

Вопросы для самоконтроля. 72

Вопросы для самостоятельного изучения. 72

Лекция 12. Управление данными в heap-памяти.. 73

Библиотечные функции распределения heap-памяти.. 73

Размещение массивов в heap-памяти.. 73

Поиск и сортировка структурных данных.. 74

Библиотечные функции сортировки и поиска. 74

Сортировка и поиск записей в ОЗУ и в файлах. 74

Вопросы для самоконтроля. 78

Вопросы для самостоятельного изучения. 78

Лекция 13. Применение записей для представления списков, очередей, стеков и деревьев 79

Последовательное представление. 79

Связанное представление. 81

Прохождение списков и деревьев. 84

Вопросы для самоконтроля. 86

Вопросы для самостоятельного изучения. 86

Лекция 14. Функции ввода/вывода, управление файлами и директориями.. 87

Категории функций ввода/вывода.. 87

Доступ к файлам через поток ввода/вывода.. 87

Открытие и закрытие потоковых файлов. 88

Анализ ошибок. 88

Потоки стандартного ввода/вывода.. 90

Функции потокового ввода/вывода.. 90

Функции посимвольного ввода/вывода. 90

Построчный ввод/вывод. 90

Форматированный вводвывод. 91

Управление файлами и директориями.. 91

Вопросы для самоконтроля. 92

Вопросы для самостоятельного изучения. 93

Лекция 15. Блочный ввод/вывод и произвольный доступ к данным... 94

Функции блочного ввода и вывода.. 94

Произвольный доступ к данным с применением блочного ввода/вывода.. 94

Доступ к записям нефиксированного размера.. 95

Записи фиксированного размера.. 98

Контроль выхода за пределы файла.. 98

Вопросы для самоконтроля. 99

Вопросы для самостоятельного изучения. 99

Лекция 16. Функции для работы с прерываниями и TSR-программы... 100

Функции для работы с прерываниями.. 100

Основной набор функций. 100

Применение прерываний для работы с курсором и видеопамятью.. 101

Функции библиотеки с прототипами в conio.h. 103

TSR-программы.. 103

Таблица векторов прерываний. 104

Модификатор interrupt 104

Рекомендации по использованию ТВП.. 104

Вопросы для самоконтроля. 106

Вопросы для самостоятельного изучения. 106

Лекция 17. Основы управления видеосистемой.. 107

Общие положения. 107

Текстовые видеорежимы.. 107

Атрибуты символов в видеопамяти.. 108

Уровень bios для текстовых режимов работы адаптеров. 108

Непосредственный доступ к видеобуферу.. 110

Вопросы для самоконтроля. 110

Лекция 18. Меню средствами прямого доступа к видеопамяти.. 111

Формулировка требований к меню... 111

Основная организующая функция. 111

Вспомогательные функции.. 112

Функция ожидания выбора пользователя и интерфейс с клавиатурой.. 113

Вопросы для самоконтроля. 115

Вопросы для самостоятельного изучения. 115

Лекция 19. Объектное программирование в С++: базовые элементы... 116

Основные технологические характеристики.. 116

Абстрагирование и классы.. 116

Замечания по реализации функций элементов классов (или методов) 117

Доступ к компонентам объектов и методам.. 117

Конструкторы и деструкторы объектов класса.. 118

Вопросы для самоконтроля. 119

Лекция 20. С++: ссылочные переменные, перегрузка операций и дружественные типы данных 121

Ссылочные переменные. 121

Указатель this. 121

Массивы объектов. 122

Перегрузка операций. 122

Дружественные типы данных.. 124

Вопросы для самоконтроля. 125

Вопросы для самостоятельного изучения. 125

Лекция 21. С++: управление взаимными преобразованиями объектов и копирование объектов 126

Автоматические преобразования типов объектов. 126

Функции преобразования. 127

Преобразование и дружественные типы данных.. 128

Конструкторы копирования. 129

Перегрузка оператора присваивания. 131

Вопросы для самоконтроля. 132

Вопросы для самостоятельного изучения. 132

Лекция 22. С++: Размещение объектов в heap-памяти и наследование по иерархии классов 133

Классы и размещение объектов в heap-памяти.. 133

Наследование классов. 135

Вопросы для самоконтроля. 138

Вопросы для самостоятельного изучения. 138

Лекция 23. С++: виртуальные функции-элементы, параметризация и новые операторы приведения типов данных.. 139

Виртуальные функции элементы.. 139

Абстрактные классы.. 139

Переопределения доступа с помощью объявления using.. 140

Шаблоны (параметризация) классов. 141

Новые операторы приведения типов. 142

Вопросы для самоконтроля. 145

Вопросы для самостоятельного изучения. 145

Лекция 24. С++: стандартные блоки диалога, простые и структурные классы в вычислениях 146

Стандартные блоки диалога.. 146

Использование класса CFileDialog. 146

Работа с файлами вне классов библиотеки MFC.. 148

Работа с библиотеками времени выполнения (runtime libraries. 148

Работа с файлами в Win32API 148

Класс CFile. 149

Простые и структурные классы MFC в вычислениях.. 149

Классы простых типов данных. 150

Класс CString. 150

Структурные типы данных. 151

Шаблон-базированные классы совокупностей. 151

Классы совокупностей не базирующиеся на шаблонах. 151

Критерии отбора классов структурных типов данных. 152

Параметры классов-шаблонов. 152

Вопросы для самоконтроля. 154

Вопросы для самостоятельного изучения. 154

Лекция 25. Разработка диалогового приложения в С++. Основной инструментарий.. 155

Многодокументный интерфейс DevStudio или Visual C++. 155

Типы проектов. 155

Создание проекта на основе диалогового приложения. 155

Wizard’ы класса и редактор ресурсов. 156

Модификация обработчиков сообщений в ходе работы над проектом.. 157

Вопросы для самоконтроля. 161

Вопросы для самостоятельного изучения. 161

Лекция 26. Модальные и немодальные блоки диалога. Вспомогательный инструментарий 162

Блоки диалога.. 162

Типы файлов в проекте. 164

Команда меню Build.. 164

Изменение директорий и порядка их просмотра.. 165

Команды отладчика.. 165

Вопросы для самоконтроля. 166

Вопросы для самостоятельного изучения. 166

Лекция 27. Сравнительный анализ языков программирования С++ и С#. 167

Идентификаторы.. 167

Типы данных, литералы и переменные. 167

Преобразование и приведение типов. 168

Операторы в выражениях и операторы управления. 168

Классы, объекты, методы и наследование. 168

Управление параметрами.. 169

Массивы и строки.. 170

Абстрактные классы, структуры и интерфейсы.. 171

Делегирование и события. 173

Управление исключительными ситуациями.. 173

Средства ввода-вывода.. 174

Динамическая идентификация типов данных, отражение и атрибуты.. 174

Пространство имен, компоновочные файлы и препроцессор. 174

Потенциально опасный код и указатели.. 174

Вопросы для самоконтроля. 175

Вопросы для самостоятельного изучения. 175

Литература.. 176

Приложения.. 177

Вкладки в окнах диалога.. 177

Работа с закладками (класс CTabCtrl) 179

Спецификация функции bioskey.. 180

Функции bios для управления видеоадаптером с использованием прерываний 10h та 11h.. 181

Пример программы работы с мышью... 183

Список принятых сокращений

ЯП - язык программирования

ООП - объектно-ориентированное программирование

ООЯП - объектно-ориентированный язык программирования

ЭВМ - электронная вычислительная машина

ВЗУ - внешнее запоминающее устройство

ОЗУ - оперативное запоминающее устройство

ВА - видеоадаптер

ПЭВМ - персональная электронная вычислительная машина

ЭЛТ - электронно-лучевая трубка

т.о. - таким образом

в т.ч. - в том числе

и т.д. - и так далее

и т.п. - и тому подобное

ОС - операционная система

Лекция 1. Язык С: Введение






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных