Если вы новичок в C++, предлагаю Вам прочитать этот бесплатный учебник. Здесь собрано большое количество статей для начинающих программистов по С++. Условно все статьи разделены на группы, кратко характеризующие их содержание. После прочтения статьи, можно закрепить материал, написав несколько программ. Для проверки своих теоретических знаний можно пройти тестирование по С++. В таблице после теоретических статей идет подраздел практики, в котором вы можете пройти тестирование и написать программы.
Язык программирования С++
|
Основы языка программирования C++ |
|
|---|---|
| Введение в C++ | Установка IDE, введение в язык C++, объявление и использование переменных и многое другое. |
| Структура программы в C++ | Структура программ это разметка рабочей области (области кода) с целью чёткого определения основных блоков программ и синтаксиса. |
| Первая программа на С++ | Самая простая программа на С++, это программа, выводящая на экран в консоли текстовое сообщение. |
| Управляющие символы С++ | Символы которые выталкиваются в поток вывода, с целью форматирования вывода или печати некоторых управляющих знаков С++ |
| Арифметические операции С++ | Операции, которые присутствуют во всех программах, сложнее "Hello world". Любые манипуляции с переменными выполняются именно благодаря арифметическим операциям. |
| Типы данных С++ | Огромную роль в программировании играет процесс отладки программ. Если при отладки программы возникла ошибка, вы должны знать, как её исправить. |
| Таблица ASCII | Американский стандартный код для обмена информацией в ОС Windows. Если вы программируете в этой ОС, обязательно прочитайте эту статью. |
| Операции присваивания в С++ | Для сокращённой записи выражений в языке программирования С++ есть специальные операции, которые называются операциями присваивания. |
| Операции инкремента и декремента в С++ | Инкремент ++ – это увеличение на единицу. Декремент -- – это уменьшение на единицу. |
| Оператор выбора if | Операторы выбора позволяют принять программе решение, основываясь на истинности или ложности условия. |
| Оператор выбора if else | Оператор if else позволяет определить программисту действие, когда условие истинно и альтернативное действие, когда условие ложно. |
| Логические операции в C++ | Логические операции образуют сложное (составное) условие из нескольких простых (два или более) условий. Эти операции упрощают структуру программного кода в несколько раз. |
| Поразрядные логические операции C++ | Данные операции работают с битами ячеек памяти и применяются в бинарной арифметике. |
| Приоритет операций в С++ | Очерёдность выполнения операций в выражении. |
| Условная операция (операция выбора) в С++ | Единственная в С++ трехместная (тернарная) операция, используется вместо оператора выбора if else. |
| Оператор множественного выбора switch | Если в программе требуется рассмотреть более чем два варианта ветвления, используйте оператор switch. |
| Явное и неявное преобразование типов данных C++ | Неявное преобразование типов данных выполняет компилятор С++, а явное преобразование данных выполняет сам программист. |
| Форматированный ввод/вывод в С++ | Возможность управлять вводом-выводом в С++, обеспечивают форматирующие функции-члены, флаги и манипуляторы. |
| Генератор случайных чисел rand() в С++ | Программа для генерации псевдослучайных чисел. |
| Цикл for в C++ | Многократное прохождение по одному и тому же коду программы. |
| Цикл while в C++ | Цикл, повторяющий одно и то же действие, пока условие продолжения цикла while остаётся истинным. |
| Цикл do while в C++ | В do while сначала выполняется тело цикла, а затем проверяется условие продолжения цикла. |
| Оператор break | Операторы break применяются для изменения управления в программе. |
| Оператор continue | Оператор continue выполняет пропуск оставшейся части кода тела цикла и переходит к следующей итерации цикла |
| Исключения в С++ (exception) | Исключения в языке С++ - это хороший инструмент для обработки нестандартных ситуаций, возникающих в результате работы программы. |
Указатели, массивы и строки |
| Массивы в С++ | Массивы используются для обработки большого количества однотипных данных. |
| Как найти время работы программы на С++ | В этой статье показаны примеры программ, в которых мы нашли время работы. |
| Квалификатор const в С++ | Константы или константные переменные, то есть - переменные, значения которых, после объявления, модифицировать нельзя. |
| Указатели в С++ | Специальные переменные, которые ссылаются на блок данных из области памяти, причём на самое его начало. |
| Указатель на указатель + динамическое выделение памяти (часть 1) | Указатели на указатели - эффективный способ организации хранения данных в памяти. |
| Указатель на указатель + динамическое выделение памяти (часть 2) | Вставка и удаление элементов динамического массива в С++ с помощью указателей. |
| Ссылки в С++ | Особый тип данных, являющийся скрытой формой указателя, который при использовании автоматически разименовывается. |
| Динамический массив в С++ | Одномерные и двумерные динамические массивы, выделение и высвобождение памяти. |
| Литералы в программировании | Литералы используются в тексте программы для обозначения числовых значений, строк, символов или логических констант. |
| Символы и строки в С++ | Введение в работу со строками в С++, основные функции для работы со строками и символами. |
| Кириллица в консоли | Корректное отображение русских букв (кириллицы) в консольном приложении. |
Структуры и файлы |
| Структуры в С++ | Для чего используются структуры в программировании, способы их объявления и инициализации, примеры программ с использованием структур. |
| Перечисления в С++ (enum) | Вы узнаете, для чего нужны перечисления, научитесь их использовать в своих программах. Вот увидите, с использованием enum, ваш код станет намного понятнее. |
| Работа с файлами в С++ | Большинство компьютерных программ работают с файлами, и поэтому возникает необходимость создавать, удалять, записывать читать, открывать файлы. |
Функции, локальные и глобальные переменные, рекурсия |
| Функции в С++ | Для написания больших программ, опыт показывает, что лучше пользоваться функциями. |
| Прототипы функций в С++ | Прототип и описание функции используются компилятором для того, чтобы вызов функции происходил правильным образом. |
| Перегрузка функций в С++ | Под перегрузкой функции понимается, определение нескольких функций (две или больше) с одинаковым именем, но различными параметрами. |
| Аргументы функций по умолчанию | Значения параметров в функции по умолчанию называют аргументами функций по умолчанию. |
| Встроенные функции в C++ | Основная идея в том, чтобы ускорить программу ценой занимаемого места. |
| Математические функции в С++ | В заголовочном файле <cmath> определены функции выполняющие некоторые часто используемые математические задачи. |
| Локальные и глобальные переменные в С++ | Каждая переменная имеет свою область видимости, то есть такую область, в которой можно работать с переменной. |
| Рекурсия в С++ | Функция, которая вызывает саму себя, непосредственно (в своём теле) или косвенно (через другую функцию). |
| Параметры функции main (argc, argv) | Если программу запускать через командную строку, то ей можно передать информацию, для этого и существуют параметры argc и argv[]. |
| Передача строки в функцию | Как передавать строки в функцию? Способы передачи строк как параметров функции. Примеры программ, исходный код. |
Введение в объектно ориентированное программирование |
| Классы в С++ | Классы и объекты в С++ являются основными концепциями объектно-ориентированного программирования — ООП. |
| Конструктор и деструктор классов в C++ | Специальные методы класса - конструктор и деструктор. |
| Директивы #ifndef и #endif | Данная препроцессорная обёртка предотвращает попытку многократного включения заголовочных файлов. |
| Static: Многоцелевое ключевое слово | Ключевое слово static, хотя и означает «неизменный», имеет несколько способов использования. |
| Перегрузка операторов в С++ | Перегрузите оператор + и вы сможете складывать массивы строки и, даже, целые объекты, простой записью вида a + b. |
| Перегрузка операторов в С++ (часть 2) | Перегрузка операций = (присваивание), == (равенство) и [ ] (индексация). |
| Разработка интерфейсов классов в C++ | Что такое интерфейсы классов и для чего они нужны? |
| Дружественные функции С++ | Хотя дружественные функции и нарушают целостность классов, бывают такие случаи, когда необходимо дать доступ к закрытым свойствам классов и без дружественных функций никак не обойтись. |
| Указатель this C++ | В этой статье вы узнаете что такое указатель this, как его использовать и зачем он нужен. |
| Дружественные классы С++ | Зачем нужны дружественные классы? Пример с использованием дружественных классов. |
| Конструктор копирования в С++ | Конструктор копирования нужен нам для того, чтобы создавать «реальные» копии объектов класса, а не побитовую копию объекта. |
| Наследование классов | Введение в одну из главных концепций ООП - наследование. |
Шаблоны в С++ (template) |
| Шаблоны функций в С++ | Объявление и использование шаблонов для создания шаблонов функций. |
| Шаблоны классов в С++ | Объявление и использование шаблонов классов, пример создания шаблона класса Стек. |
Стандартная библиотека шаблонов (STL) |
| string: шаблонный строковый класс STL | Введение в основы шаблона класса string стандартной библиотеки шаблонов С++. |