Учебное пособие
Кафедра автоматизации обработки информации
Библиографическая запись:
Оглавление (содержание)
Введение ................................................................................................................7
1 Основы алгоритмизации ....................................................................................10
1.1 Основные понятия и определения ..................................................................10
1.2 Типы данных ....................................................................................................12
1.3 Структурное программирование ......................................................................13
1.4 Системы кодирования алгоритмов ...................................................................15
1.4.1 Система псевдокод ........................................................................................15
1.4.2 Блок-диаграммы ............................................................................................18
1.4.3 Диаграммы Насси – Шнейдермана ................................................................19
1.5 Основные алгоритмы ........................................................................................20
1.5.1 Алгоритмы суммы и произведения .................................................................20
1.5.2 Алгоритмы поиска ...........................................................................................21
1.6 Примеры решения задач ...................................................................................22
2 Интегрированная среда программирования DEV-CPP ..........................................28
2.1 Подготовка программного обеспечения для работы в среде DEV-CPP ..............28
2.2 Настройка параметров среды ............................................................................32
2.3 Создание проекта ...............................................................................................33
2.4 Компиляция и выполнение..................................................................................36
2.5 Отладка программы ............................................................................................37
2.6 Многофайловая компиляция ...............................................................................42
2.7 Сообщения об ошибках ......................................................................................43
3 Синтаксис и алфавит языка Си ..............................................................................48
3.1 Алфавит языка Си ...............................................................................................48
3.2 Синтаксис ...........................................................................................................48
3.2.1 Лексемы языка .................................................................................................48
3.2.2 Ключевые слова ...............................................................................................48
3.2.3 Идентификаторы ..............................................................................................49
3.2.4 Константы .........................................................................................................49
3.2.5 Литеральные строки .........................................................................................52
3.2.6 Операторы ........................................................................................................52
3.2.7 Знаки пунктуации..............................................................................................55
4 Типы данных языка Си. ..........................................................................................59
4.1 Основные типы данных .......................................................................................59
4.1.1 Простые типы ...................................................................................................59
4.1.2 Приставки к типам данных ...............................................................................60
4.1.3 Преобразование типов .....................................................................................60
4.2 Производные типы данных ..................................................................................62
4.2.1 Указатели ...........................................................................................................62
4.2.2 Ссылки ...............................................................................................................63
4.2.3 Разыменование указателей ................................................................................63
4.3 Сложные типы данных ..........................................................................................64
4.3.1 Массивы .............................................................................................................64
4.3.2 Структуры ...........................................................................................................67
4.3.3 Объединения ......................................................................................................69
4.3.4 Перечисления .....................................................................................................69
4.4 Объявления и инициализация переменных ...........................................................70
5 Подготовка и исполнение программы на языке Си ..................................................73
5.1 Этапы подготовки программы к исполнению ........................................................73
5.2 Директивы препроцессора ....................................................................................73
5.2.1 Директива #include .............................................................................................73
5.2.2 Директива #include_next .....................................................................................74
5.2.3 Директивы #define, #undef, #ifdef, #ifndef ...........................................................74
5.2.4 Директивы условной компиляции........................................................................75
5.2.5 Управляющая директива #line .............................................................................76
5.2.6 Директива #error .................................................................................................76
5.2.7 Директива #pragma .............................................................................................77
5.3 Ввод-вывод информации ........................................................................................77
5.3.1 Функция printf ......................................................................................................77
5.3.2 Функция scanf ......................................................................................................79
5.4 Простая программа на языке Си .............................................................................81
6 Конструкции структурного программирования в Си ..................................................85
6.1 Следование .............................................................................................................85
6.2 Ветвление ...............................................................................................................87
6.2.1 Оператор проверки условия if <else> ..................................................................87
6.2.2 Множественный выбор ........................................................................................89
6.3 Циклы .....................................................................................................................91
6.3.1 Цикл с фиксированным числом операций for ......................................................91
6.3.2 Циклы while и do while ........................................................................................93
6.3.3 Операторы безусловной передачи управления continue и break .........................94
6.4 Примеры использования операторов цикла ...........................................................95
6.4.1 Вычисление суммы бесконечного ряда ................................................................95
6.4.2 Вычисления по итерационной формуле ...............................................................97
6.4.3 Программирование численных методов ..............................................................98
7 Функции ...................................................................................................................103
7.1 Синтаксис ...............................................................................................................103
7.2 Объявление и вызов функций .................................................................................103
7.3 Локальные переменные ..........................................................................................107
7.4 Выход из функций ...................................................................................................108
7.5 Передача параметров по ссылке .............................................................................109
7.6 Рекурсивные функции .............................................................................................110
8 Массивы .....................................................................................................................114
8.1 Одномерные массивы ..............................................................................................114
8.1.1 Инициализация массива .......................................................................................114
8.1.2 Поиск значений в массиве ....................................................................................116
8.1.3 Сортировка массивов ............................................................................................121
8.2 Многомерные массивы ............................................................................................124
8.2.1 Инициализация матриц ........................................................................................124
8.2.2 Печать матриц ......................................................................................................126
8.2.3 Примеры решений задач с использованием матриц ............................................127
8.3 Строки ......................................................................................................................133
8.3.1 Инициализация строк ............................................................................................133
8.3.2 Представление строки в памяти компьютера ........................................................134
8.3.3 Стандартные функции для работы со строками .....................................................135
8.3.4 Примеры решений задач со строками ...................................................................139
9 Файлы в Си ..................................................................................................................144
9.1 Типы файлов в Си ......................................................................................................144
9.2 Механизм чтения-записи ...........................................................................................144
9.3 Функции для поточного доступа к файлам .................................................................145
9.4 Примеры работы с текстовыми файлами ...................................................................149
9.4.1 Запись данных в текстовый файл ............................................................................149
9.4.2 Чтение данных из текстового файла ........................................................................150
9.4.3 Изменение текстового файла ...................................................................................153
9.5 Двоичные файлы ........................................................................................................156
9.5.1 Запись и чтение информации в двоичный файл ......................................................156
9.5.2 Реализация прямого доступа в двоичном файле ......................................................158
10 Управление выводом в консоль ...................................................................................167
10.1 Win32 API ..................................................................................................................167
10.2 Типы данных Windows ...............................................................................................167
10.3 Функции WinAPI .........................................................................................................168
Заключение ........................................................................................................................181
Литература .........................................................................................................................183
Глоссарий ...........................................................................................................................184
Информатика и программирование
09.03.04 Программная инженерия (Проектирование и разработка программных продуктов) Заочная форма обучения, план набора 2014 г. План в архиве
Информатика
11.03.02 Инфокоммуникационные технологии и системы связи (Цифровое телерадиовещание) Очная форма обучения, план набора 2019 г. План в архиве
Информатика
38.03.01 Экономика (Финансы и кредит) Заочная форма обучения, план набора 2015 г. План в архиве
Информатика
11.03.01 Радиотехника (Электромагнитная совместимость) Очная форма обучения, план набора 2019 г.
Информатика
38.03.02 Менеджмент (Управление проектом) Заочная форма обучения, план набора 2014 г. План в архиве
Алгоритмы и структуры данных
09.03.04 Программная инженерия (Проектирование и разработка программных продуктов) Заочная форма обучения, план набора 2014 г. План в архиве
Информационные технологии
11.03.01 Радиотехника (Электромагнитная совместимость) Очная форма обучения, план набора 2020 г.
Информатика и программирование
38.03.05 Бизнес-информатика (ИТ-предпринимательство) Очная форма обучения, план набора 2018 г. План в архиве
Информатика
38.03.02 Менеджмент (Управление проектом) Заочная форма обучения, план набора 2016 г. План в архиве
Информатика
38.03.05 Бизнес-информатика (ИТ-предпринимательство) Очная форма обучения, план набора 2015 г. План в архиве
Информатика и программирование
38.03.05 Бизнес-информатика (ИТ-предпринимательство) Очная форма обучения, план набора 2020 г.
Объектно-ориентированное программирование
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2019 г. План в архиве
Информатика
38.03.02 Менеджмент (Управление проектом) Заочная форма обучения, план набора 2015 г. План в архиве
Информатика и программирование
09.03.04 Программная инженерия (Индустриальная разработка программных продуктов) Заочная форма обучения, план набора 2016 г. План в архиве
Основы алгоритмизации и программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2016 г. План в архиве
Информатика и программирование
38.03.05 Бизнес-информатика (ИТ-предпринимательство) Очная форма обучения, план набора 2016 г. План в архиве
Информатика и программирование
38.03.05 Бизнес-информатика (ИТ-предпринимательство) Очная форма обучения, план набора 2021 г.
Основы алгоритмизации и программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2017 г. План в архиве
Информатика и программирование
09.03.04 Программная инженерия (Индустриальная разработка программных продуктов) Очная форма обучения, план набора 2015 г. План в архиве
Информационные технологии
11.03.04 Электроника и наноэлектроника (Промышленная электроника) Очная форма обучения, план набора 2019 г. План в архиве
Основы алгоритмизации и программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2018 г. План в архиве
Информатика и программирование
09.03.04 Программная инженерия (Индустриальная разработка программных продуктов) Заочная форма обучения, план набора 2018 г. План в архиве
Основы алгоритмизации и программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2015 г. План в архиве
Программирование на языках высокого уровня
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2018 г. План в архиве
Информатика
38.03.01 Экономика (Финансы и кредит) Заочная форма обучения, план набора 2014 г. План в архиве
Информатика
38.03.02 Менеджмент (Экономика и управление на предприятии) Заочная форма обучения, план набора 2017 г. План в архиве
Программирование
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2019 г. План в архиве
Информатика и программирование
09.03.04 Программная инженерия (Индустриальная разработка программных продуктов) Очная форма обучения, план набора 2018 г. План в архиве
Информатика и программирование
38.03.05 Бизнес-информатика (ИТ-предпринимательство) Очная форма обучения, план набора 2023 г.
Информационные технологии
11.03.01 Радиотехника (Электромагнитная совместимость) Очная форма обучения, план набора 2021 г.