Сайты ТУСУРа

Информатика и программирование

Учебное пособие

Учебное пособие предназначено для студентов направлений 09.03.04 «Программная инженерия», 38.03.05 «Бизнес-информатика», а также всех, начинающих изучать основы структурного программирования на языке Си. В пособии рассмотрены основные аспекты алгоритмизации, описаны синтаксис и алфавит языка Си, изложены основы структурного программирования в примерах на языке Си. Для закрепления полученных знаний каждый раздел пособия содержит вопросы для самоконтроля и задания для выполнения.

Кафедра автоматизации обработки информации

Библиографическая запись:

Пермякова, Н. В. Информатика и программирование: Учебное пособие [Электронный ресурс] / Н. В. Пермякова — Томск: ТУСУР, 2016. — 188 с. — Режим доступа: https://edu.tusur.ru/publications/7678
Год издания: 2016
Количество страниц: 188
Скачиваний: 5051

Оглавление (содержание)

Введение ................................................................................................................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