Программирование (С)
Кафедра информатики и автоматизации научных исследований
Специальность: Прикладная информатика
Преподаватель: Фомина И.А.
Целью курса является обучение студентов основам программирования на языке СИ в среде Microsoft Visual Studio. В курсе рассматриваются вопросы, связанные с разработкой программ и отладкой программ. Изучаются основные операторы языка С, возможности, связанные с использованием указателей, файловый ввод-вывод, определяемые пользователем типы данных (структуры, объединения, битовые поля). В результате освоения дисциплины обучающийся должен: знать основные приемы программирования задач на языке С; уметь самостоятельно выбирать метод решения задачи; владеть базовыми алгоритмами и реализовывать их в виде программы на языке СИ.
Содержание
1. ВВЕДЕНИЕ В ЯЗЫК С. История создания языка С. Сравнение с другими языками программирования. Структура программы на языке С. Основные понятия: алфавит, константы, идентификаторы, ключевые слова, комментарии, директивы препроцессора.
2. ПРЕПРОЦЕССОР ЯЗЫКА С. Директива #define, создание и использование макросов. Предопределенные макроимена. Директива #include. Директивы условной компиляции.
3. ТИПЫ ДАННЫХ, ВЫРАЖЕНИЯ И ОПЕРАЦИИ. Базовые типы данных. Модификаторы типов. Арифметические, логические, битовые операции, операции сравнения. Дополнительные операции (инкрементация, декрементация, условное присваивание, скобки, операция запятая, операция sizeof). Конструирование выражений. Явное и неявное преобразование типов в арифметических выражениях.
4. ОПЕРАТОРЫ УПРАВЛЕНИЯ ПРОГРАММОЙ. Пустой оператор. Операторы — выражения. Блок операторов. Операторы break и continue. Оператор return. Операторы условия if, switch. Операторы цикла while, do-while, for. Оператор безусловного перехода goto.
5. УКАЗАТЕЛИ, МАССИВЫ И АДРЕСНАЯ АРИФМЕТИКА. Работа с адресами и массивами в языке С. Описание адресных переменных и массивов. Операции нахождения адреса и косвенной адресации. Адресная арифметика и работа с указателями. Многомерные массивы, указатели, указатель на указатель, индексированный указатель, массивы указателей.
6. ВВЕДЕНИЕ В ОБРАБОТКУ СИМВОЛЬНЫХ СТРОК. Определение строк и строковых констант. Инициализация строк. Указатели и строки. Библиотечные функции работы со строками. Реализация библиотечных функций. Массивы строк.
7. ФУНКЦИИ И СТРУКТУРА ПРОГРАММЫ. Создание и использование простой функции. Формальные и фактические параметры функции. Передача аргументов в функции. Массивы как аргументы функций. Возвращаемое значение. Прототип функции. Рекурсивные функции. Аргументы функции main. Многофайловая программа. Область видимости переменных. Классы памяти и работа с переменными. Автоматические, статические и внешние переменные.
8. ТИПЫ, ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ. Структуры. Массивы структур. Указатели на структуры. Структуры в качестве аргументов функций. Объединения. Битовые поля. Перечислимый тип. Переименование типов -typedef.
9. ВВОД, ВЫВОД И СТАНДАРТНАЯ БИБЛИОТЕКА ВВОДА-ВЫВОДА. Основные понятия: потоки и файлы; текстовые и бинарные потоки; идентификация файлов и потоков. Последовательный ввод-вывод: открытие и закрытие файлов; ввод-вывод символов, строк, целых чисел; форматированный символьный ввод-вывод; ввод-вывод блоков данных. Прямой файловый ввод-вывод: основные понятия; позиционирование локатора файловой позиции, функции получения адреса. Обновление информации в файле. Функции консольного ввода-вывода.
10. Методы организации и хранения линейных списков. Операции со списками при последовательном и связанном хранении.Организация двусвязных списков. Сортировка и слияние списков. Поиск и выбор в линейных списках. Стеки, очереди, бинарные деревья
Литература
а) основная литература
- Трой. Д. Программирование на языке Си для персонального компьютера IBM PC: Пер. с англ. М.: Радио и связь, 1991.
- Уэйт М., Прата С., Мартин Д. - Язык СИ: руководство для начинающих. - М.: Мир, 1988.
- Давыдов В. Г. Программирование и основы алгоритмизации: учеб. пособие для студентов вузов, обучающихся по специальности "Управление и
- нформатика в технических системах". - М.: Высшая школа, 2003.
- Керниган Б., Ритчи Д. Язык программирования С, http://lib.ru/CTOTOR/kernigan.txt http://www.proklondike.com/books/cpp/kernigan_richi_rus.html
- В. В. Подбельский, С. С. Фомин. Программирование на языке Си. Финансы и статистика. http://progbook.ru/c/737-podbelskii-programmiovanie-na-yazyke-si.html
- Хенкок Л., Кригер М. Введение в программирование на языке Си: Пер. с англ. М.: Радио и связь, 1986.
- Березин Б.И., Березин С.Б. Начальный курс С и С++. М: Диалог-Мифи, 1998.
- Тарасов В.Л. Упражнения по языку программирования Си. Учебное пособие. Н.Н.: Нижегородский университет, 1996.
а) дополнительная литература
- Фомина И.А. Учебно-методическое пособие по курсу "Программирование (язык Си)". 958.15.08. METOD_C.doc http://www.unn.ru/books/resources.html
- Фомина И.А. "Учебно-методическая разработка по курсу "Язык программирования СИ" (разделы: "Указатели", "Массивы", "Функции")" 101.05.08 met_ci.doc http://www.unn.ru/books/resources.html
Отчетность
- Семестр 1: Зач