Включите JavaScript

Язык программирования C

Организационная информация

Длительность курса: 60 астрономических часов.

Необходимый уровень подготовки

Базовые знания по основам работы с ПК.

Для кого предназначен этот курс?

Этот курс является повышением квалификации и рекомендуется специалистам, которые хотят повысить уровень знаний в данной области.

Если же вам необходимы фундаментальные знания в IT-сфере, то вы можете пройти подготовку по специальности "Разработка программного обеспечения" или по направлениям "Разработка мобильных приложений под Android", "Современные WEB-технологии и маркетинг" и "Тестирование ПО".

Описание

Курс позволяет освоить основы построения алгоритмов с использованием языка С и получить твердые знания в области процедурного программирования. Данные знания необходимы для последующего понимания принципов объектно-ориентированного программирования.

Какие инструменты (программы, языки программирования, технологии и т.д.) я освою?

Инструменты: Среда разработки Microsoft Visual Studio 2010 или 2012.
Технологии и навыки: язык С, основы алгоритмизации, принципы процедурного программирования, изучение основных типовых алгоритмов используемых при решение задач.

По окончании курса вы сможете:

По окончании курса слушатели смогут создавать программное обеспечение с использованием процедурного программирования. Это консольные приложения для Desktop устройств и программное обеспечение используемое для контроллеров устройств.

Программа обучения

Введение в язык программирования "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.
  • Перенаправление ввода-вывода.
  • Использование аргументов командной строки.
  • Работа с файлами.
    • Понятие файла.
    • Понятие дескриптора файла.
    • Текстовые и двоичные файлы.
    • Текстовый и двоичный режим открытия файлов.
    • Открытие файлов.
    • Сохранение данных в файл.
    • Чтение данных из файла.
    • Закрытие файла.
    • Понятие буфера при работе с файлами.
    • Текущая позиция в файле. Позиционирование по файлу.
  • Битовые операции.
    • Системы исчисления двоичная, восьмеричная, шестнадцатеричная.
    • Цели и задачи битовых операций.
    • Битовое "И".
    • Битовое "ИЛИ".
    • Битовое "ИСКЛЮЧАЮЩЕЕ ИЛИ".
    • Битовое отрицание.
    • Битовые сдвиги.

 Узнать больше вы сможете через регистрационную анкету,
наш менеджер свяжется с вами удобным для вас способом.

Наверх