- C++ с нуля
- Первая программа на C++ — урок 1
- Переменные и типы данных в C++ — урок 2
- Конструкция ветвления в C++ — урок 3
- Циклы в C++ — урок 4
- Массивы в C++ — урок 5
- Функции в C++ — урок 6
- Указатели в C++ — урок 7
- Динамические массивы в C++ — урок 8
- Параметры командной строки в C++ — урок 9
- Классы в C++ — урок 10
- Уроки для языка программирования
- Курсы:
- Официальная документация:
- Другие мануалы и учебные пособия:
- Обучающие видеоролики на Youtube:
- Статьи, подкасты, телеграм-каналы, комьюнити:
- Полезные ссылки на Github:
- Настольные книги по C/C++:
- 1. Программирование на C++ в примерах и задачах (2017)
- 2. Язык программирования C++. Специальное издание (2017)
- 3. Объектно-ориентированное программирование в С++ (2004)
- 4. Язык программирования C++. Базовый курс (2018)
- 5. C++ Pocket Reference 1st Edition (2003)
- 6. C++: A Detailed Approach to Practical Coding (2017)
- Хочу освоить алгоритмы и структуры данных, но сложно разобраться самостоятельно. Что делать?
C++ с нуля
Этот самоучитель создан для тех, кто хочет освоить основы программирования на C++. Уроки рассчитаны, в первую очередь на новичков, но будут полезны и тем, кто уже имеет небольшой опыт в программировании. Мы начнем с основных принципов и закончим данный курс уже на более сложных примерах.
Первая программа на C++ — урок 1
В качестве среды разработки под Windows автор советует использовать Visual Studio 2008 (800 Мб), если у вас Windows XP, Visual Studio 2013 (6.5 Гб) для Windows 7 и выше, или Dev C++ 5 (41 Мб) для тех, у кого слишком медленный интернет для загрузки Visual Studio. Пользователям Unix-подобных систем, потребуется компилятор GCC и любой текстовый редактор, например Vim.
После того, как вы установили все необходимое, приступим к написанию первой программы.
Переменные и типы данных в C++ — урок 2
Из школьного курса математики мы все знаем, что такое переменные. В программировании принципы довольно схожи. Переменная — это «ячейка» оперативной памяти компьютера, в которой может храниться какая-либо информация.
Конструкция ветвления в C++ — урок 3
Встречаются ситуации, когда программе нужно выбрать, какую операцию ей выполнить, в зависимости от определенного условия.
К примеру, мы вводим с клавиатуры целое число. Если это число больше десяти, то программа должна выполнить одно действие, иначе — другое. Реализуем этот алгоритм на C++ с помощью конструкции ветвления.
Циклы в C++ — урок 4
Иногда необходимо повторять одно и то же действие несколько раз подряд. Для этого используют циклы. В этом уроке мы научимся программировать циклы на C++, после чего посчитаем сумму всех чисел от 1 до 1000.
Массивы в C++ — урок 5
Сегодня мы с поговорим о массивах. Вы уже знаете, что переменная — это ячейка в памяти компьютера, где может храниться одно единственное значение. Массив — это область памяти, где могут последовательно храниться несколько значений.
Возьмем группу студентов из десяти человек. У каждого из них есть фамилия. Создавать отдельную переменную для каждого студента — не рационально. Создадим массив, в котором будут храниться фамилии всех студентов.
Функции в C++ — урок 6
Сегодня мы поговорим о функциях в C++. Очень часто в программировании необходимо выполнять одни и те же действия. Например, мы хотим выводить пользователю сообщения об ошибке в разных местах программы, если он ввел неверное значение. без функций это выглядело бы так:
Указатели в C++ — урок 7
При выполнении любой программы, все необходимые для ее работы данные должныбыть загружены в оперативную память компьютера. Для обращения к переменным, находящимся в памяти, используются специальные адреса, которые записываются в шестнадцатеричном виде, например 0x100 или 0x200 .
Если переменных в памяти потребуется слишком большое количество, которое не сможет вместить в себя сама аппаратная часть, произойдет перегрузка системы или её зависание.
Динамические массивы в C++ — урок 8
В пятом уроке мы разобрали понятие массива. При объявлении, мы задавали массиву определенный постоянный размер.
Параметры командной строки в C++ — урок 9
При запуске программы из командной строки, ей можно передавать дополнительные параметры в текстовом виде.
Классы в C++ — урок 10
Весь реальный мир состоит из объектов. Города состоят из районов, в каждом районе есть свои названия улиц, на каждой улице находятся жилые дома, которые также состоят из объектов.
Практически любой материальный предмет можно представить в виде совокупности объектов, из которых он состоит. Допустим, что нам нужно написать программу для учета успеваемости студентов. Можно представить группу студентов, как класс языка C++. Назовем его Students .
Уроки для языка программирования
Курсы:
- Искусство разработки на современном C++ на Coursera. В эту специализацию входит пять курсов на русском языке от Московского физико-технического института, Яндекса и E-Learning Development Fund. Стоимость по запросу.
- Coding for Everyone: C and C++ на Coursera. Специализация состоит из четырех курсов на английском языке от Калифорнийского университета. Стоимость по запросу.
- C Programming For Beginners the C Language на Udemy. Подробный курс по С на английском языке для новичков. Стоимость – $11.69.
- Основы программирования на C/C++. Курс Оксаны Еськовой посвящён основам программирования C/C++ и задачам. Стоимость – $10.
Официальная документация:
- Документация по языку C++ . Набор учебных материалов Microsoft, от введения в программирование до создания первых программ.
- C++ Programming Language. Знакомство с переменными, функциями, массивами, циклами и другими базовыми элементами программирования в C++.
- The C++ Programming Language. Руководства и описание языка C++ от его создателя – Бьярна Страуструпа.
Другие мануалы и учебные пособия:
- Уроки программирования на языке С++ . Уроки по основам языка на ravesli.com.
- Основы программирования на С++ для начинающих. Сайт PureCodeCpp предлагает описание основных концепций языка C++ и решение задач.
- Основы программирования на языках C и C++ для начинающих на русском языке от CppStudo.com.
- Руководство по языку программирования C на сайте Metanit.com.
- Руководство по языку программирования C++ на сайте Metanit.com.
Обучающие видеоролики на Youtube:
- Основы C++. Программирование для начинающих от SimpleCode – 143 ролика, описывающих основные аспекты работы с этим языком программирования.
- C++ Programming Language Tutorials – в идеоуроки на английском языке от GeeksforGeeks .
- Изучение языка Си для начинающих – н есколько уроков по основам C на канале Гоши Дударя.
- С++ программирование / Уроки C++ – 26 видеороликов по C++ на канале Гоши Дударя.
- C++ for Beginners (SavvyNik) – 34 урока на английском языке.
Статьи, подкасты, телеграм-каналы, комьюнити:
- Всё о С++ – р аздел на Хабре, освещающий принципы разработки на C/C++.
- Pro.Cxx – чат в Telegram для разработчиков C++.
- C++/17 – с татья на Хабре.
- Онлайн справочник программиста на C и C++ на русском языке.
- Вопросы с меткой [c++] на русском языке в Stackoverflow.
- Reddit C++ label – вопросы по C++ на Reddit.com.
Полезные ссылки на Github:
- Modern C++ Tutorial: C++11/14/17/20 – хороший набор руководств на GitHub.
- C++ projects for beginners – список проектов для начинающих.
- begin(c++): Resources for C++ Beginners – список ресурсов и проектов, позволяющих расширенно освоить язык.
- C/C++ projects – примеры проектов на C++.
- 83 topics projects – ссылки на репозитории.
Настольные книги по C/C++:
Литературы для изучения C/C++ предостаточно, но качественных и практических изданий не так уж и много – иногда они доступны только на английском языке. В нашей подборке такие тоже встречаются.
1. Программирование на C++ в примерах и задачах (2017)
Автор: Алексей Васильев.
Книга содержит полный набор сведений о языке С++, необходимых для успешного написания кода. Материал излагается последовательно и дополняется большим количеством примеров, практических задач и детальным разбором их решений. К каждому разделу прилагается обширный список задач для самостоятельного решения.
2. Язык программирования C++. Специальное издание (2017)
Автор: Бьерн Страуструп.
Книга написана создателем C++ и является каноническим изложением возможностей языка. Помимо подробного описания синтаксиса, на страницах издания вы найдете доказавшие эффективность подходы к решению разнообразных задач проектирования и программирования.
3. Объектно-ориентированное программирование в С++ (2004)
Книга грамотно и полно излагает принципы объектно-ориентированного программирования в C++. Кроме теории она предлагает читателю сделать около 100 различных упражнений, которые позволят отточить навыки владения языком. Отлично подходит для начинающих программистов.
4. Язык программирования C++. Базовый курс (2018)
Авторы: Липпман Стенли Б., Лажойе Жози, Му Барбара Э.
Подробное введение в C++, которое детально покрывает буквально все аспекты языка в доступном формате. С самого начала книги читателя знакомят со стандартной библиотекой C++, её популярными функциями и средствами, что позволяет в скором времени приступить к написанию программ, даже если не были изучены некоторые нюансы языка. В книге используется стандарт С++11.
5. C++ Pocket Reference 1st Edition (2003)
В книге описаны реальные проблемы и решения, а не только особенности языка. Издание охватывает язык и стандартную библиотеку.
6. C++: A Detailed Approach to Practical Coding (2017)
Эта книга охватывает базовые разделы C++: типы данных, область действия переменных, константы и литералы, операторы типов модификаторов, числа, строки, классы и объекты, указатели на массивы, структура данных, дата и время и т. д.
Изучая C/C++, можно стать востребованным программистом и всегда держать курс на совершенствование своих компетенций.
Если вы знаете не вошедшие в статью интересные ресурсы, порекомендуйте их в комментариях. Надеюсь, наша статья показалась вам полезной. Успехов в обучении!
Хочу освоить алгоритмы и структуры данных, но сложно разобраться самостоятельно. Что делать?
Алгоритмы и структуры данных действительно непростая тема для самостоятельного изучения: не у кого спросить и что-то уточнить. Поэтому мы запустили курс «Алгоритмы и структуры данных», на котором в формате еженедельных вебинаров вы:
- изучите сленг, на котором говорят все разработчики независимо от языка программирования: язык алгоритмов и структур данных;
- научитесь применять алгоритмы и структуры данных при разработке программ;
- подготовитесь к техническому собеседованию и продвинутой разработке.
Курс подходит как junior, так и middle-разработчикам.