C++ Базовый курс
Зачем следует изучать программирование на языках Си?
Спойлер Зачем следует изучать программирование на языках Си?
Курс предназначен как для новичков в программировании, так и для тех, кто уже владеет другими языками программирования или языком С++, но на недостаточном уровне, а также для тех, кому не хватает ясных представлений об организации хранения и обработки данных в компилируемых компьютерных программах.
С++ является языком общего назначения и, сочетая в себе свойства как высокоуровневых, так и низкоуровневых языков, позволяет решать самый обширный круг задач, возникающих в программировании.
Целью курса является заложить основы алгоритмического мышления, научить пользоваться основными концепциями структурного и объектно-ориентированного программирования для решения типичных задач, встающих перед программистом. Курс в достаточно полном объёме знакомит слушателя с возможностями языка С++, заложенными в нём для реализации указанных целей.
Чему Вы научитесь
- Проектировать алгоритм для решаемой задачи, в том числе определять необходимый набор классов, функций и переменных.
- Писать многомодульные программы.
- Обрабатывать потоковый ввод, преобразовывать и проверять на корректность текстовые данные, осуществлять вывод данных в требуемом формате.
- Обрабатывать данные на уровне бит, в том числе осуществлять упаковку и простое кодирование данных.
- Разрабатывать структуру классов для решаемой задачи, реализуя принципы модульности, минимальной связанности, разделения интерфейса и реализации.
- Урок 1. Переменные, типы данных, управляющие конструкции
встроенные типы данных, объявление переменных, объявления typedef , инициализация переменных, константные переменные, операция sizeof, явное и неявное преобразование типов, массивы, арифметические операции, арифметические выражения, операция присваивания, приоритет операций - Урок 2. Побитовые операции, перечисления, структуры, функции
объекты cin и cout, операции ввода из потока и вывода в поток, полезные функции для потокового ввода и вывода, форматирование вывода, Управление потоком выполнения программы, конструкции ветвления (if-else, switch), конструкции повторения (for, while, do-while), понятие о функциях - Урок 3. Массивы, указатели
структуры, объявление структур, инициализация структур, обращение к полям структур, перечисления, объединения, двоичное представление целых чисел, побитовые операции сложения, умножения, инверсии, исключающего "или", битовые маски, упакованные данные - Урок 4. Динамическое распределение памяти
статические массивы: объявление, указание размера, инициализация, обращение к несуществующим элементам массива, указатель, операции взятия адреса и разыменования, адресная арифметика, связь массивов и указателей, динамическое выделение памяти: операции new/new[] и delete/delete[], утечки памяти, Си-строки как особый вид массивов, многомерные статические и динамические массивы, динамические структуры данных - Урок 5. Функции
передача параметров в функцию: по значению и через указатель, передача в функцию массивов, константные параметры, ссылки, передача параметров по ссылке, возвращаемое значение: void, указатель, ссылка, рекурсия, указатель на функцию, массивы функций, функция в качестве аргумента другой функции, перегрузка функций - Урок 6. Основы ООП (часть 1)
чтение/запись в текстовом режиме, ввод: посимвольный, по словам, построчный, чтение/запись в бинарном режиме, перенаправление стандартного ввода и вывода - Урок 7. Потоки и файлы
поля и методы, конструкторы и деструкторы, модификаторы доступа, инкапсуляция, статические члены и методы класса, константные методы, инициализация объектов класса, списки инициализации, класс std::string стандартной библиотеки C++, наследование, типы наследования, последовательность вызова конструкторов и деструкторов , абстрактные классы , переопределение методов базового класса , обращение к методам базового класса , виртуальные методы , виртуальный деструктор , полиморфизм , специфичное для С++ приведение типов, - Урок 8. Основы ООП (часть 2)
перегрузка операций +, +=, [], >>, **, ==, * и др. для своих типов данных, шаблонные функции, шаблонные классы
http://geekbrains.ru/courses/20