Глиф Учебники

C++

Программирование · 10 уроков · 17 справок · итоговый тест

C++ с нуля для школьников и студентов: компилятор, переменные, условия, циклы, векторы, строки, функции, указатели, классы и STL на стандарте C++17.

C++ (читается «си плюс плюс») — язык программирования, который вырос из языка C. Его создал Бьёрн Страуструп: работу он начал в 1979 году, а имя C++ язык получил в 1983-м. Программа на C++ переводится компилятором (программой-переводчиком) прямо в машинный код — команды процессора, — поэтому работает очень быстро. На C++ пишут игры и игровые движки, браузеры, части операционных систем, программы для обработки видео и звука, системы торговли на биржах, прошивки для микроконтроллеров.

Для школьников и студентов у C++ есть ещё одно важное применение — олимпиады по программированию. Это самый распространённый язык на олимпиадах: он быстрый, а его стандартная библиотека (STL) даёт готовые сортировку, множества, словари и другие нужные структуры данных.

Стандарты языка

Язык развивается: с 2011 года новый стандарт выходит раз в три года — C++11, C++14, C++17, C++20, C++23. Каждый добавляет возможности, а старые программы почти всегда продолжают работать. Курс написан на C++17: его поддерживают свежие версии всех распространённых компиляторов и почти любая проверяющая система олимпиад.

Что нужно для начала

Как всё поставить, рассказывает первый урок, а подробно про Windows — справка Как установить компилятор C++ в Windows.

Как пройти курс

Уроки идут по порядку: от первой программы до классов и стандартной библиотеки. Каждый урок опирается на предыдущие, поэтому лучше не перескакивать. Набирайте примеры сами, а не копируйте: ошибки при наборе и их исправление учат не меньше, чем сам текст. После каждого урока — несколько вопросов для проверки, в конце — итоговый тест.

В справочнике — короткие ответы на частые вопросы: что значит ошибка undefined reference, почему программа падает с segmentation fault, как вывести число с нужной точностью, как ускорить ввод и вывод.

Если язык C уже знаком, многое в первых уроках покажется знакомым; чем языки отличаются, рассказывает справка Чем C++ отличается от C. Сам язык C — в отдельной теме C.

Курс с нуля

  1. 1.Установка компилятора и первая программаЧто такое компилятор, как поставить g++, clang или Visual Studio, написать первую программу на C++, собрать её и запустить, и что делать с первыми ошибками.
  2. 2.Переменные, типы, ввод и выводКак объявить переменную в C++, какие бывают типы (int, long long, double, char, bool, string), как читать числа через cin и выводить через cout, как делятся целые числа.
  3. 3.Условия: if, else и switchКак программа на C++ выбирает, что делать: if и else, сравнения, логические && и ||, switch и тернарный оператор, частые ошибки вроде = вместо ==.
  4. 4.Циклы: for, while и do whileКак повторять действия в C++: циклы for, while и do while, break и continue, вложенные циклы, сумма чисел и цифр, чтение N чисел и частые ошибки с бесконечным циклом.
  5. 5.Массивы и std::vectorКак хранить много значений в C++: обычные массивы и std::vector, индексы с нуля, push_back и size, цикл по элементам, двумерные массивы и выход за границы.
  6. 6.Строки std::stringКак работать с текстом в C++: std::string, длина и символы, сложение и сравнение строк, substr и find, символы char и их коды, переворот строки и русские буквы в UTF-8.
  7. 7.Функции и ссылкиКак писать свои функции в C++: параметры и return, void, объявление до вызова, передача по значению и по ссылке, const-ссылки, перегрузка и рекурсия.
  8. 8.Указатели и памятьЧто такое адрес и указатель в C++, взятие адреса и разыменование, nullptr, указатели и массивы, new и delete, утечки памяти и почему vector и ссылки обычно лучше указателей.
  9. 9.Структуры и классыКак объединять данные в C++: struct с полями, вектор структур, методы, классы с public и private, конструкторы и const-методы — с примерами для задач и программ.
  10. 10.STL: sort, map и setСтандартная библиотека C++ для задач: сортировка sort со своим порядком, max_element, count, unique, множества set и словари map, pair и их скорость.

Начать с первого урока

Итоговый тест — 20 вопросов по всему курсу, ответы проверяются сразу.

Справочник

Официальная документация