Программа курса «Программирование на C++» и список рекомендуемой литературы

Для студентов 1 курса (2 семестр). Преподаватель — Костин А. Н., старший преподаватель кафедры ТИДМ.

Классификация языков программирования: компилируемые, исполняемые на виртуальных машинах и интерпретируемые ЯП. Типизация данных в языках программирования.

Язык программирования C++. Стандарт языка. Стандартная библиотека. Структура простейшей программы на C++.

Встроенные типы данных C++. Способы представления чисел различных типов на уровне ЭВМ.

Константы и переменные. Область видимости. Пространство имён.

Оператор присваивания. Арифметические операторы. Операторы сравнения и логические операторы. Порядок действий (приоритет операторов).

Условный оператор и оператор множественного выбора. Операторы для организации циклов.

Стандартные потоки ввода/вывода. Средства работы с потоками ввода/вывода. Специальные символы (символ перевода строки, символ табуляции, символ конца строки).

Псевдослучайные числа. Генерация псевдослучайных чисел на C++.

Массивы в C++. Алгоритмы сортировки. C-строки (символьные массивы). Многомерные массивы.

Указатели в C++. Операция разыменования. Константные указатели и указатели на константы.

Указатели и массивы. Операции над указателями. Ссылки в C++.

Статическая, автоматическая и динамическая память. Создание и удаление динамических объектов. Типичные ошибки, возникающие при использовании динамической памяти («утечка памяти»).

Функции в C++. Прототип и описание функции. Формальные и фактические параметры.

Передача параметров в функции по значению, по ссылке, по указателю. Параметры функций со значениями по умолчанию. Перегрузка функций. Рекурсия. Шаблоны функций.

Объектно-ориентированный подход. Абстракция данных. Наследование. Инкапсуляция.

Контроль доступа к свойствам и методам (public, private, protected). Полиморфизм и шаблоны классов. Конструкторы и деструкторы. Перегрузка операторов.

Рекомендуемая литература

  1. Брюс Эккель. Философия C++ (ориг. название: Thinking in C++. Introduction to Standard C++)
  2. Стенли Липпман. Язык программирования C++. Вводный курс (ориг. название: C++ Primer)
  3. Электронный курс http://www.intuit.ru/department/pl/cpp/ А. Л. Фридман «Язык программирования C++»