Курс обучения программированию на языке С (читается «си») предназначен как для начинающих программистов так и для тех, у кого уже есть опыт программирования на других языках.
Этот курс знакомит Вас не только с конкретным языком программирования, но и с самой технологией построения программ, учит алгоритмическому подходу к постановке задач.
Одно из преимуществ изучения языка программирования «С» состоит в том, что при написании программ на нём программист получает представление о том, как именно программы выполняются в памяти компьютера, как работает операционная система. В процессе обучения затрагиваются, объясняются и многие другие концептуальные понятия программирования, которые недоступны при работе на других языках.
Кроме изучения собственно языка программирования Си курс включает и такие важные для будущего программиста вопросы как:
- различные способы организации данных
- стандартные алгоритмы поиска и сортировки.
Предварительные требования для желающих обучаться на курсе
Для успешного обучения на этом курсе Вы должны обладать некоторыми предварительными знаниями и опытом. При желании Вы можете пройти у нас также и вводный курс «Основы компьютерной грамотности».
Для обучения на этом курсе необходимо:
- владение персональным компьютером на уровне опытного пользователя
- знакомство с операционной системой Windows или Linux на уровне пользователя.
Также (в качестве необязательного дополнения к этому курсу) рекомендуется курс: «Основы английского языка».
Введение. Что такое программирование. Подготовка рабочего места программиста.
- Назначение языка программирования С. Сферы применения языка. Преимущества языка С по сравнению с другими языками программирования.
- Установка и настройка CodeBlocks, MS VisualStudio.
- Программирование на языке С под операционной системой Windows, Linux.
- Компиляторы С. Простая программа. Отладка программы.
- Использование командной строки.
Программирование на языке Си
- Современные стандарты языка C. Структура программы.
- Основные этапы создания, выполнения программы. (edit, compile, link, execute).
- Базовый синтаксис. Выражения языка.
- Синтаксический анализ. Этапы компиляции.
- Ключевые слова. Идентификаторы. Переменные. Константы. Типы данных. Преобразование типов.
- Декларация и инициализация. Области видимости.
- Операторы языка. Арифметические. Логические.
- Базовые функции ввода-вывода.
- Изменение порядка выполнения программы. Условные операторы. Операторы циклов.
- Функции. Прототипы. Аргументы функции.
- Массивы. Адреса и указатели. Строки. Кодировка. ESC — последовательности.
- Базовые функции работы со строками.
- Работа с датами, временем.
- Размещение программы в памяти компьютера. Стек. Хеш. Выделение, перераспределение, освобождение памяти.
- Структуры данных C (Enum, Structures, Unions, Bit Fields, Typedef). Выравнивание.
- Потоки ввода-вывода. Файловый ввод-вывод. Форматирование ввода-вывода.
- Сложные декларации в С. (declaration, redeclarations)
- Препроцессор. Директивы препроцессора. Макрокоманды.
- Битовые операции. Логические операции. Сдвиги.
- Классы памяти. Регистры. Глобальные переменные.
- Стандартные библиотеки.
Способы организации данных. Основные алгоритмы работы с данными.
- Массив
- Связанный список
- Стек
- Очередь
- Дерево. Двоичное дерево поиска.
- Хеширование.
- Граф.
- Матрица.
- Основные алгоритмы сортировки, поиска.