Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ПИ_ИКТ Программирование по С++ (1 семестр) _Хотов.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5.83 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Чеченский государственный университет»

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Кафедра «Программирование и инфокоммуникационные технологии»

Учебное пособие по дисциплине «программирование»

Программирование на С/С++ от азов до углубленного изучения

Для направлений подготовки:

09.03.04 – «Программная инженерия»,

11.03.02 «Инфокоммуникационные технологии и системы связи»

Профили подготовки:

«Разработка программно-информационных систем»,

«Сети связи и системы коммутации»

Квалификация (степень) выпускника

Академический бакалавриат

Форма обучения

Очная

Грозный 2016 г.

Рецензенты:

  • И.о. зав. кафедрой «Бизнес-информатика» ЧГУ, к.т.н., доцент Сайдаев Х. Л.-А.

  • Доц. кафедры Информационных технологий НТГУ, к.э.н. Мартынова М.А.

Авторы: Хотов А.Л., Магамадов Н.С.-Х.

УЧЕБНОЕ ПОСОБИЕ по дисциплине «ПРОГРАММИРОВАНИЕ» - 657с. – Грозный: ЧГУ. 2016.

В данной разработке представлены: основные понятия и принципы процедурного и объектно-ориентированного программирования (ООП) на языке С/С++, Отладка и тестирование программ, Программирование баз данных, сетевых приложений, многопоточных программ, визуальное программирование (создание десктопных приложений), использование STL и библиотеки Boost, создание и использование DLL, углубленное программирование на С/С++, а также примеры решения задач, требующих обработки сложных типов данных.

Учебное пособие предназначено для освоения теоретической части учебной программы и выполнения студентами лабораторных работ по алгоритмическим языкам высокого уровня. Приводимые описания лабораторных работ имеют одинаковую структуру и индивидуальные задания. Для углубленного освоения возможностей языков C и С++ пособие содержит дополнительные задания повышенной сложности.

Издание предназначено для студентов обучающихся по направлениям: 09.03.04 – Программная инженерия, 11.03.02 - Инфокоммуникационные технологии и системы связи, и может быть использована на специальностях учебные планы, которых содержат дисциплину Программирование.

 Хотов А.Л., Магамадов Н.С.-Х. 2016

 ФГБОУ ВО ЧГУ, 2016

ВВЕДЕНИЕ 7

1. Основные структуры управления 8

1.1. Интегрированная среда разработки Microsoft Visual C++ 2008. Создание простейшего приложения 8

Лабораторная работа № 1. Интегрированная среда разработки Microsoft Visual C++ 2008. Создание простейшего приложения 19

1.2. Введение в C/C++. Проектирование программ линейной структуры 21

Лабораторная работа № 2. Проектирование программ линейной структуры 32

1.3. Операторы ветвления и выбора 35

Лабораторная работа № 3. Операторы ветвления и выбора 40

1.4. Операторы цикла и передачи управления 46

Лабораторная работа № 4. Операторы цикла и передачи управления 51

1.5. Итерационные и арифметические циклы. Вложенные циклы 54

Лабораторная работа № 5. Итерационные и арифметические циклы. Вложенные циклы 60

2. Массивы 65

2.1. Массивы. 65

Лабораторная работа № 6. Массивы 75

3. Указатели и ссылки. Имя массива как указатель. Динамические массивы 81

3.1. Указатели и ссылки. Имя массива как указатель. Динамические массивы 81

Лабораторная работа № 7. Указатели и ссылки. Имя массива как указатель. Динамические массивы 92

4. Функции 97

Краткая теория 97

Лабораторная работа № 8. Функции 109

5. Отладка программ в интегрированной среде Microsoft Visual C++ 2008 115

Краткая теория 115

Лабораторная работа № 9. Отладка программ в интегрированной среде Microsoft Visual C++ 2008 126

6. Типы данных, определяемые пользователем. Структуры и объединения 131

Краткая теория 131

Лабораторная работа № 10. Типы данных, определяемые пользователем. Структуры и объединения 143

7. Работа со строками в C++. Потоки ввода-вывода. Файловые операции 150

Краткая теория 150

Лабораторная работа № 11. Работа со строками в C++. Потоки ввода-вывода. Файловые операции 164

8. Перегрузка функций. Шаблоны функций 168

Краткая теория 168

Лабораторная работа № 12. Перегрузка функций. Шаблоны функций 177

9. Модули. Многофайловые проекты. Препроцессор. 181

Краткая теория 181

Лабораторная работа № 13. Модули. Многофайловые проекты. Препроцессор. 194

10. Введение в OpenGL. 199

Создание консольного приложения, использующего OpenGL 199

Лабораторная работа №14. Создание приложения с использованием OpenGL. Рисование примитивов. 201

11. Объектно ориентированное программирование (ООП) 215

11.1. Классы. Конструкторы 215

Лабораторная работа № 15. Классы 223

11.2. Перегрузка операций и дружественные функции. Указатели на функции, методы и члены данных 230

Лабораторная работа № 16. Перегрузка операций и дружественные функции 237

11.3. Наследование. Открытое и закрытое наследование. 242

Лабораторная работа № 17. Наследование. Открытое и закрытое наследование. 255

11.4. Шаблоны (На самостоятельное изучение) 260