Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основная книга по С++й.doc
Скачиваний:
16
Добавлен:
28.10.2018
Размер:
2.07 Mб
Скачать

Министерство образования и науки Российской Федерации

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

Московский государственный университет печатиразованиюийской Федерации

Попов Д.И Демидов Д.Г.

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ СИ

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

для студентов высших учебных заведений,

обучающихся по специальности 230102.65 «Автоматизированные системы обработки информации и управления»

Москва

2009

УДК

ББК

П

Рецензенты:

Попов Д.И. Демидов Д.Г.

Программирование на языке высокого уровня Си: конспект лекций / Д.И.Попов, Демидов Д.Г. – М.: МГУП, 2009. – 202 с.

ISBN

Конспект лекций рассчитан на студентов, владеющих минимальными знаниями и навыками в области информатики и математики. В конспекте лекций представлены основные темы из Государственного образовательного стандарта по дисциплине «Программирование на языке высокого уровня» для студентов высших учебных заведений, обучающихся по специальности 230102.65 «Автоматизированные системы обработки информации и управления». Особое внимание уделяется изучению следующих разделов: основные этапы решения задач на ЭВМ, жизненный цикл и критерии качества программы, проект и спецификация программы, схемы алгоритмов и способы записи алгоритмов, структура программы на языке высокого уровня Си, стандартные типы данных, представление основных управляющих структур программирования, функции, массивы, структуры, работа с файлами, динамические структуры данных, способы реализации линейных списков, стека, деревьев, рекурсивные определения и алгоритмы, программирование рекурсивных алгоритмов.

ISBN © Попов Д.И., 2009

© Демидов Д.Г., 2009

© Московский государственный

университет печати, 2009

Тема 1. Основные этапы решения задач на эвм 5

Постановка задачи разработки программного обеспечения 5

Анализ формальной постановки задачи 6

Выбор или разработка математической модели и метода решения 7

Разработка алгоритма 8

Базовые структуры алгоритма 11

Тема 2. Жизненный цикл программы. Критерии качества программы. 15

Техническое задание и спецификация программы 16

Разработка проекта программной системы 20

Программирование (кодирование) или программная реализация алгоритмов 20

Тестирование и отладка 23

Эксплуатация и сопровождение 25

Критерии качества программного обеспечения 25

Тема 3. Схемы алгоритмов, данных, программ 29

Символы данных 30

31

Отображает данные, вводимые в ручную, во время обработки с устройств любого типа (клавиатура, переключатели, кнопки, световое перо, полоски со штрих кодом и т.д.). 31

Символ отображает хранимые данные в виде, пригодном для обработки. Носитель данных не определен. В схемах алгоритмов он предназначен для обозначения ввода-вывода данных в случае использования запоминающего устройства, управляемого процесса. 31

Символы процесса 32

Символы линий 33

Специальные символы 33

Правила применения символов в схемах 34

Правила выполнения соединений 36

Специальные условные обозначения 37

Тема 4. Язык программирования высокого уровня Си 38

Общие сведения о языке Си 38

Алфавит языка Си 39

Грамматика для описания языка, синтаксические диаграммы 40

Структура программы на языке Си 42

Имена объектов в программе 44

Выражения, операции и приоритеты 47

Тема 5. Стандартные типы данных 49

Тема 6. Составные типы данных 52

Данные регулярного типа (массивы) 52

Строки 53

Данные комбинированного типа (структуры) 58

Перечисления 61

Объединения 61

Указатели 62

Тема 7. Представление основных управляющих структур программирования 66

Оператор присваивания 66

Составной оператор 67

Оператор перехода Goto 67

Условный оператор If 67

Оператор выбора switch 69

Операторы цикла while, do – while, for 71

Операторы прерывания циклов 73

Форматированный ввод данных 74

Форматированный вывод данных 76

Преобразование типов 78

Инициализация данных 81

Тема 8. Функции 82

Определение функций в языке Си 82

Вызов функций в языке Си 87

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

Тема 9. Файлы 100

Тема 10. Приемы программирования. Примеры алгоритмов 106

Алгоритмы сортировки 106

Алгоритмы поиска 109

Динамические структуры данных 114

Линейные списки 115

Стек, очередь, дек 121

Деревья 126

Приложение 1. Стандартные библиотеки языка Си 130

Приложение 2. Примеры реализации алгоритмов 138

Не рекурсивный алгоритм решения задачи Ханойская башня. 160

Рекурсивный алгоритм решения задачи Ханойская башня. 162

Приложение 3. Лабораторные работы 176

Лабораторная работа №1 176

Лабораторная работа №2 176

Лабораторная работа №3 176

Лабораторная работа №4 177

Лабораторная работа №5 177

Лабораторная работа №6 177

Лабораторная работа №7 178

Лабораторная работа №8 178

Лабораторная работа №9 178

Лабораторная работа №10 179

Лабораторная работа №11 179

Лабораторная работа №12 179

Список литературы 179