Курс: Программирование на языке C (Си)
Продолжительность курса: 40 ак. ч.
Описание курса:
В свое время язык С (Си) стал первым языком, который применяется в разработке системного программного обеспечения. В наше время он остаётся языком, реализованным на максимальном количестве аппаратных платформ, и одним из самых популярных языков программирования, особенно в мире свободного программного обеспечения. Кроме этого, язык С (Си) является основой для таких языков программирования, как C++, C#, Java и Objective-C. Курс охватывает новейший стандарт языка С, а именно С23, появившийся в 2024 году.
Аудитория:
• ИТ-специалисты
• Программисты
Необходимая подготовка:
Успешное окончание курса «Основы программирования и баз данных», или эквивалентная подготовка.
Программа курса:
Модуль 1. Введение в Си технологии
• Особенности языка программирования Си.
• Новости стандарта языка С23 (стандарт от 2024 г.).
• Использование интегрированной среды разработки (IDE).
Практика:
• Установка Компиляторов и IDE, настройка среды.
• Написание, компиляция и выполнение программы.
Модуль 2. Основы языка Си
• Языковые лексемы.
• Система типов языка Си.
• Диапазоны представляемых значений.
• Запись литералов на Си.
• Декларация переменных/объектов и их инициализация.
• Форматированный ввод-вывод данных.
Практика:
• Разбор основных форматов и управляющих символов при вводе-выводе данных.
Модуль 3. Операции языка Си
• Арифметические операции.
• Логические операции.
• Операции присваивания.
• Операции сравнения.
• Битовые, адресные и прочие операции.
• Приоритеты и ассоциативность операций.
Практика:
• Элементарные вычисления. Понятие переполнения.
• Манипуляции с битами. Битовые маски.
Модуль 4. Операторы (statements)
• Оператор-выражение и составной оператор.
• Метки.
• Управляющие операторы – goto, if-else, switch.
• Операторы цикла – while, do-while и for.
• Использование операторов break, continue, и return.
Практика:
• Создание простейшего калькулятора.
• Печать таблицы символов ASCII.
• Печать гистограммы.
Модуль 5. Препроцессор языка Си
• Правила оформления директив.
• Препроцессорные директивы #include, #define, #undef.
• Условная компиляция #if - #else - #endif.
• Операторы препроцессора.
• Макроопределения с параметрами.
Модуль 6. Массивы
• Декларация массивов и их размещение в памяти.
• Индексация и обращение к элементам массива.
• Массивы переменной длины (VLA).
• Инициализация массивов.
• Многомерные массивы.
• Алгоритмы суммирования, поиска и сортировки в одномерных массивах.
Практика:
• Вычисление минимального, максимального и среднего значения для заданного одномерного массива.
Модуль 7. Создание и вызов функций
• Определение функции.
• Best Practice при написании функций.
• Синтаксис определения и вызова функции.
• Аргументы, параметры и механизм передачи аргументов при вызове функций в Си.
• Прототип функции.
• Возвращение значения функцией.
• Рекурсия и функции с переменным числом аргументов.
Практика:
• Массив и передача его в функцию.
• Сортировка одномерного массива.
Модуль 8. Классы памяти
• Время жизни и область видимости объекта.
• Декларации на внутреннем и внешнем уровнях.
• Модификаторы – auto, register, static, extern.
• Динамическое распределение памяти.
• Определяемые типы typedef.
Модуль 9. Адресная арифметика
• Декларация указателей.
• Операции с указателями.
• Использование указателей как аргументов функции.
• Указатели на функции.
• Указатели и массивы.
Практика:
• Массив и передача его в функцию.
• Использование библиотечной функции sort().
Модуль 10. Строки в Си
• Особенности реализации строк в Си.
• Создание и инициализация строк.
• Изменяемые и неизменяемые строки.
• Библиотека string.h.
Практика:
• Вычисление длины строки.
• Реализация сложения двух строк.
Модуль 11. Работа с файловой системой
• Понятие потока – stream.
• Структура типа FILE.
• Открытие и закрытие файлов.
• Операции ввода-вывода.
• Указатель чтения-записи в файле.
• Последовательный и произвольный доступ.
Практика:
• Чтение/запись двоичных данных.
• Чтение текстового файла.
Модуль 12. Пользовательские типы данных
• Декларация структур.
• Инициализация и доступ к элементам структуры.
• Вложенные структуры и массивы структур.
• Битовые поля в структурах.
• Объединения и перечисления.
Практика:
• Чтение/запись битов с использованием структур и объединений.
Окончательная цена указывается в договоре на обучение.
Записаться на курс