Учебное пособие
Кафедра автоматизации обработки информации
Библиографическая запись:
Оглавление (содержание)
Введение ................................................................................................................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 г. План в архиве
Информатика
38.03.01 Экономика (Финансы и кредит) Заочная форма обучения, план набора 2015 г. План в архиве
Информатика и программирование
38.03.05 Бизнес-информатика (ИТ-предпринимательство) Очная форма обучения, план набора 2018 г.
Информатика
11.03.01 Радиотехника (Электромагнитная совместимость) Очная форма обучения, план набора 2019 г.
Информатика
38.03.02 Менеджмент (Управление проектом) Заочная форма обучения, план набора 2014 г. План в архиве
Алгоритмы и структуры данных
09.03.04 Программная инженерия (Проектирование и разработка программных продуктов) Заочная форма обучения, план набора 2014 г. План в архиве
Информационные технологии
11.03.01 Радиотехника (Электромагнитная совместимость) Очная форма обучения, план набора 2020 г.
Информационные технологии
11.03.01 Радиотехника (Электромагнитная совместимость) Очная форма обучения, план набора 2021 г.
Информатика
38.03.02 Менеджмент (Управление проектом) Заочная форма обучения, план набора 2016 г. План в архиве
Информатика и программирование
38.03.05 Бизнес-информатика (ИТ-предпринимательство) Очная форма обучения, план набора 2021 г.
Информатика и программирование
09.03.04 Программная инженерия (Индустриальная разработка программных продуктов) Очная форма обучения, план набора 2016 г. План в архиве
Информатика
38.03.05 Бизнес-информатика (ИТ-предпринимательство) Очная форма обучения, план набора 2015 г. План в архиве
Информатика и программирование
38.03.05 Бизнес-информатика (ИТ-предпринимательство) Очная форма обучения, план набора 2020 г.
Информатика
38.03.02 Менеджмент (Управление проектом) Заочная форма обучения, план набора 2015 г. План в архиве
Основы алгоритмизации и программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2016 г. План в архиве
Информатика и программирование
38.03.05 Бизнес-информатика (ИТ-предпринимательство) Очная форма обучения, план набора 2016 г. План в архиве
Основы алгоритмизации и программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2017 г. План в архиве
Информатика и программирование
09.03.04 Программная инженерия (Индустриальная разработка программных продуктов) Очная форма обучения, план набора 2015 г. План в архиве
Программирование микроконтроллеров
12.03.01 Приборостроение (Электронное приборостроение) Очная форма обучения, план набора 2023 г.
Основы алгоритмизации и программирования
09.03.02 Информационные системы и технологии (Аналитические информационные системы) Очная форма обучения, план набора 2015 г. План в архиве
Информатика
38.03.01 Экономика (Финансы и кредит) Заочная форма обучения, план набора 2014 г. План в архиве