В ходе обучения на курсе «Программирование на C (Си)» Вы изучите основы программирования на этом популярном языке. На сегодняшний день огромное количество программного обеспечения разработано именно на нем. Вы освоите построение алгоритмов, получите знания процедурного программирования. Знание языка С — это основа для последующего изучения других объектно-ориентированных языков.
Программа обучения
Введение в язык программирования 'C'
-
Вступление
- История и этапы развития языка «С».
- Сравнительный анализ языка «C» с другими языками программирования.
-
Алгоритм
- Понятие алгоритма.
- Примеры использования алгоритмов в реальной жизни.
- Типы алгоритмов. Линейный, разветвлённый, циклический.
- Понятие блок-схемы.
- Базовые обозначения в блок-схемах.
- Блок начала алгоритма.
- Блок завершения алгоритма.
- Блок ввода данных.
- Блок вывода данных.
- Блок вычислений.
- Простейшие примеры использования блок-схем.
-
Программная среда Microsoft Visual C++
- Инсталляция.
- Основы работы с IDE VC++.
- Создание проекта.
- Добавление файла к проекту.
- Обзор альтернативных средств разработки.
-
Первая программа
- Построение первой программы на языке блок-схем.
- Анализ первой программы.
- Классификация символов языка.
- Лексемы.
- Понятие библиотеки.
- Анализ понятий: компилятор, линковщик, интерпретатор
- Организация вывода данных в консоль.
-
Понятие ESCAPE-последовательности.
- ESCAPE последовательность \n.
- ESCAPE последовательность \t.
- ESCAPE последовательность \b.
- ESCAPE последовательность \».
- ESCAPE последовательность \\.
- ESCAPE последовательность \a.
-
Комментарии
- Однострочные
- Многострочные
Переменные и типы данных
-
Типы данных.
- Понятие типа данных. Размер, диапазон значений.
- Целые типы данных.
- Типы данных для работы с дробными числами.
- Символьный тип данных.
- Логический тип данных.
- Перечислимый тип данных (enum).
-
Переменная
- Необходимость использования переменных.
- Идентификаторы.
- Ключевые слова.
- Синтаксис объявления переменных.
- Организация ввода данных с консоли.
-
Константы и литералы
- Необходимость применения.
- Синтаксис объявления.
-
Операторы
- Понятие оператора.
- Типы операторов.
- Арифметические операторы.
- Логические операторы.
- Операторы ветвлений.
- Унарные операторы.
- Бинарные операторы.
- Тернарный оператор.
Оператор присваивания.
Арифметические операторы
- Оператор сложения.
- Оператор вычитания.
- Оператор умножения.
- Инкремент. Постфиксная и префиксная форма.
- Декремент. Постфиксная и префиксная форма.
- Сокращенные формы.
Примеры построения программ с использованием блок-схем.
Логические операторы и операторы ветвлений
-
Преобразование типов данных
- Необходимость использования.
- Неявное преобразование типов.
- Явное преобразование типов.
-
Логические операторы
- Знакомство с логическими операциями.
- Таблица результатов применения логических операций.
- «Логическое отрицание». Оператор ! .
- «Логическое И». Оператор && .
- «Логическое ИЛИ». Оператор || .
- Таблица приоритетов операторов.
-
Конструкции логического выбора. Операторы ветвлений.
- Оператор ветвления if.
- Оператор ветвления if – else.
- Лестница if — else if.
- Обозначение условий в блок-схемах. Блок условия.
- Обозначение объединения ветвей в блок-схемах.
- Примеры построения программ с использованием операторов ветвлений на языке блок-схем.
- Понятие составного оператора.
- Тернарный оператор.
- Оператор множественного выбора – switch.
-
Понятие enum.
- Понятие enum, как перечислимого типа.
- Синтаксис объявления enum.
- Использование enum для switch-конструкций.
Циклы
-
Циклы
- Необходимость использования циклов. Примеры использования.
- Цикл while.
- Цикл for.
- Цикл do-while.
- Обозначение циклов в блок-схемах. Блок цикла.
- break и continue.
- Примеры построения программ с использованием циклов на языке блок-схем.
- Вложенные циклы. Примеры использования.
-
Работа с интегрированным отладчиком в Microsoft Visual C++.
- Что такое отладчик. Цели и задачи отладчика.
- Запуск программы по шагам.
- Окна для работы с отладчиком. Окна переменных, локальных переменных, памяти.
- Исполнение одного шага.
- Установка точки останова (breakpoint).
- Установка умной точки останова (smart breakpoint).
Массивы одномерные и многомерные
-
Массивы
- Что такое массивы. Необходимость их использования.
- Синтаксис объявления одномерного массива.
- Схема размещения массивов в памяти.
- Индексация элементов массива.
- использования массивов на языке блок-схем.
- Алгоритмы суммирования.
- Алгоритмы поиска (линейный,бинарный).
-
Алгоритмы сортировки
- Пузырьковая сортировка.
- Сортировка выбором.
- Сортировка вставками.
-
Многомерные массивы
- Многомерные массивы. Цели и задачи их использования.
- Двумерные массивы, как частный случай многомерных.
- Синтаксис объявления многомерного массива.
- Примеры использования многомерных массивов.
- Понятие статического выделения памяти.
Функции
- Необходимость использования функций.
- Синтаксис объявления функции.
- Использование ключевого слова void при работе с функциями.
- Вызов функции.
- Аргументы функции.
- Возврат значения из функции (оператор return).
- Понятие области видимости. Локальные и глобальные переменные. Классы памяти.
- Передача массива в функцию.
- Прототип функции.
- Аргументы по умолчанию.
- Перегрузка функций.
Указатели
- Необходимость использования указателей.
- Адрес переменной. Оператор &.
- объявления указателя.
- Косвенная адресация или оператор разыменования.
- Принцип работы оператора присвоения для указателей.
- Связь массивов и указателей.
-
Операции над указателями
- Арифметические операции.
- Логические операции.
- Примеры работы с указателями.
- указатель и указатель на константу.
- Понятие стека и динамической памяти.
-
Средства языка для работы с динамической памятью.
- Оператор new.
- Оператор delete.
-
Понятие ссылки
- Что такое ссылка.
- объявления ссылки.
- Синтаксис объявления const ссылки.
- Примеры
-
Передача аргументов внутрь функции
- Передача по значению.
- Передача по ссылке.
- Передача по указателю.
-
Указатель на функцию.
- Понятие адреса функции.
- Необходимость использования указателя на функцию.
- Синтаксис объявления указателя на функцию.
- Примеры использования указателя на функцию, массива указателей на функции.
Строки
-
Строки
- Понятие строки как массива символов.
- Знакомство с нультерминированными строками.
- Варианты инициализации строки при объявлении.
- Тонкости ввода, вывода строк.
- Алгоритмы, используемые при работе со строками.
-
функций из библиотеки string.h.
- Длина строки.
- Копирование строк.
- Конкатенация строк.
- Поиск символов в строке.
- Поиск подстроки в строке.
- Работа с различным регистром символов в строке.
- Замена символов и подстрок в строке.
Многомерные динамические массивы
-
Указатель на указатель.
- Необходимость использования указателя на указатель.
- Синтаксис объявления указателя на указатель.
- Примеры использования.
- Использование указателя на указатель для передачи указателя внутрь функции.
-
Многомерные динамические массивы.
- Необходимость использования многомерного динамического массива.
- Двумерный, как частный случай многомерного массива.
- Схема расположения двумерного динамического массива в оперативной памяти.
- Примеры использования двумерного динамического массива.
Структуры
-
Структуры
- Необходимость использования структур.
- Синтаксис объявления структур.
- Инициализация и доступ к элементам структуры.
- Массивы структур.
- структуры.
- Структуры, как аргументы функций.
-
Объединения.
- Необходимость использования объединений.
- Синтаксис объявления объединений.
- Примеры использования объединений.
-
Битовые поля
- Необходимость использования битовых полей.
- Синтаксис объявления битовых полей.
- Примеры использования битовых полей.
Препроцессор в приложениях
-
Директивы препроцессора.
- Понятие препроцессора.
- Директивы препроцессора.
- Препроцессорная директива #include.
- Препроцессорная директива #define для создания констант.
- Макроопределения с параметрами.
-
Условная компиляция.
- Понятие условной компиляции.
- Директива #if.
- Директива #if #else.
- Директива #ifdef.
- Директива #ifndef.
- Директива #undef.
Использование файловой системы
- Стандартная библиотека ввода-вывода в языке «C». Функции scanf, printf.
- Перенаправление ввода-вывода.
- Использование аргументов командной строки.
-
Работа с файлами.
- Понятие файла.
- Понятие дескриптора файла.
- Текстовые и двоичные файлы.
- Текстовый и двоичный режим открытия файлов.
- Открытие файлов.
- Сохранение данных в файл.
- Чтение данных из файла.
- Закрытие файла.
- Понятие буфера при работе с файлами.
- Текущая позиция в файле. Позиционирование по файлу.
-
Битовые операции.
- Системы исчисления двоичная, восьмеричная, шестнадцатеричная.
- Цели и задачи битовых операций.
- Битовое «И».
- Битовое «ИЛИ».
- Битовое «ИСКЛЮЧАЮЩЕЕ ИЛИ».
- Битовое отрицание.
- Битовые сдвиги.
По окончании курса вы сможете
По окончании курса C слушатели смогут создавать программное обеспечение с использованием процедурного программирования. Это консольные приложения для Desktop устройств и программное обеспечение используемое для контроллеров устройств.
Какие инструменты (программы, языки программирования, технологии и т.д.) я освою?
Инструменты: Среда разработки Microsoft Visual Studio 2010 или 2012.
Технологии и навыки: язык С, основы алгоритмизации, принципы процедурного программирования, изучение основных типовых алгоритмов используемых при решение задач.
Согласие на обработку персональных данных
Согласие на обработку персональных данных
Заполняя анкету на этом сайте, я даю своё согласие ООО «IT-ШАГ» на обработку моих персональных данных для информационных рассылок, подготовки списков посетителей мероприятий, проводимых юридическим лицом, ведения статистики, подготовки встреч, открытых уроков и пр.
Это согласие предоставлено на срок пока есть необходимость. Мои персональные данные, на обработку которых предоставлено это согласие, не могут быть переданы третьим лицам, кроме случаев, предусмотренных законодательством Украины.
Нажимая кнопку «Отправить» вы даёте своё согласие на обработку данных