0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#Руководства</a></p>
1
<p><a>#Руководства</a></p>
2
<ul><li>24 апр 2025</li>
2
<ul><li>24 апр 2025</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Разбираемся, как устроен язык программирования C++, что такое программы и как научиться их писать.</p>
4
</ul><p>Разбираемся, как устроен язык программирования C++, что такое программы и как научиться их писать.</p>
5
<p> vlada_maestro / shutterstock</p>
5
<p> vlada_maestro / shutterstock</p>
6
<p>Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.</p>
6
<p>Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.</p>
7
<p>Чтобы научиться программировать с нуля, нужно только уметь пользоваться компьютером, устанавливать программы, создавать папки и файлы. Это первая статья из серии "Глубокое погружение в C++", с помощью которой вы сделаете первые шаги в профессии разработчика серверных приложений и игр.</p>
7
<p>Чтобы научиться программировать с нуля, нужно только уметь пользоваться компьютером, устанавливать программы, создавать папки и файлы. Это первая статья из серии "Глубокое погружение в C++", с помощью которой вы сделаете первые шаги в профессии разработчика серверных приложений и игр.</p>
8
<p>Не пугайтесь большого объёма информации: чем больше вы будете знать, тем лучше сможете программировать. Это особенно важно, если вы выбрали C++, потому что на этом языке невозможно без хорошей теоретической базы написать высокопроизводительный код.</p>
8
<p>Не пугайтесь большого объёма информации: чем больше вы будете знать, тем лучше сможете программировать. Это особенно важно, если вы выбрали C++, потому что на этом языке невозможно без хорошей теоретической базы написать высокопроизводительный код.</p>
9
<p>Внимание! В следующих разделах информация сильно упрощена.</p>
9
<p>Внимание! В следующих разделах информация сильно упрощена.</p>
10
<p>Компьютер - это бесполезный кусок железа, который ни с чем не может справиться самостоятельно. И чтобы получить какой-то результат, нужно написать для него<strong>программу</strong><strong>-</strong>подробный набор инструкций.</p>
10
<p>Компьютер - это бесполезный кусок железа, который ни с чем не может справиться самостоятельно. И чтобы получить какой-то результат, нужно написать для него<strong>программу</strong><strong>-</strong>подробный набор инструкций.</p>
11
<p>Компьютер понимает только машинный код - специальный язык, который очень сложно изучить. Вот как выглядит вывод на экран надписи "Hello, World!" на машинном коде<em>(в шестнадцатеричном представлении):</em></p>
11
<p>Компьютер понимает только машинный код - специальный язык, который очень сложно изучить. Вот как выглядит вывод на экран надписи "Hello, World!" на машинном коде<em>(в шестнадцатеричном представлении):</em></p>
12
BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21<p>Чтобы упростить разработку, были созданы<strong>языки программирования</strong><strong>-</strong>с их помощью пишут инструкции для компьютера, которые понятны и человеку. Одним из первых был язык ассемблера. Вот как на нём выглядит вывод надписи "Hello, World!":</p>
12
BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21<p>Чтобы упростить разработку, были созданы<strong>языки программирования</strong><strong>-</strong>с их помощью пишут инструкции для компьютера, которые понятны и человеку. Одним из первых был язык ассемблера. Вот как на нём выглядит вывод надписи "Hello, World!":</p>
13
<p>Всё равно достаточно сложно, да? В результате человечество создало более понятные языки программирования, на которых гораздо быстрее писать программы. А чтобы они потом запускались, код переводится в машинный или какой-нибудь промежуточный язык - этот процесс называется<strong>компиляцией.</strong></p>
13
<p>Всё равно достаточно сложно, да? В результате человечество создало более понятные языки программирования, на которых гораздо быстрее писать программы. А чтобы они потом запускались, код переводится в машинный или какой-нибудь промежуточный язык - этот процесс называется<strong>компиляцией.</strong></p>
14
<p>Если язык похож на машинный код, то его называют низкоуровневым. Если же он больше понятен человеку, то - высокоуровневым. C++ сочетает в себе свойства и того, и другого.</p>
14
<p>Если язык похож на машинный код, то его называют низкоуровневым. Если же он больше понятен человеку, то - высокоуровневым. C++ сочетает в себе свойства и того, и другого.</p>
15
<p>Любая программа работает с данными: она их получает, обрабатывает, а потом возвращает результат обработки. Данные могут быть переданы пользователем, считаны из файла или записаны в самом коде.</p>
15
<p>Любая программа работает с данными: она их получает, обрабатывает, а потом возвращает результат обработки. Данные могут быть переданы пользователем, считаны из файла или записаны в самом коде.</p>
16
<p>Например, браузер получает текст из адресной строки, который ввёл пользователь, отправляет адрес на сервер, а потом выводит ответ в виде страницы.</p>
16
<p>Например, браузер получает текст из адресной строки, который ввёл пользователь, отправляет адрес на сервер, а потом выводит ответ в виде страницы.</p>
17
<p>Также программа может состоять из других подпрограмм - наборов инструкций. Обработка запроса пользователя, отправка данных на сервер, получение ответа, вывод страницы - всё это подпрограммы.</p>
17
<p>Также программа может состоять из других подпрограмм - наборов инструкций. Обработка запроса пользователя, отправка данных на сервер, получение ответа, вывод страницы - всё это подпрограммы.</p>
18
<p>Вот пример логики такой подпрограммы:</p>
18
<p>Вот пример логики такой подпрограммы:</p>
19
<p>Можно вернуть данные пользователю, записать их в файл или передать другой подпрограмме. Вот ещё один пример использования программы:</p>
19
<p>Можно вернуть данные пользователю, записать их в файл или передать другой подпрограмме. Вот ещё один пример использования программы:</p>
20
<p>Эта команда запускает программу в ОС Linux, которая конвертирует изображение<em>img.jpg</em>в другой формат, а потом сохраняет в файл<em>img.png.</em></p>
20
<p>Эта команда запускает программу в ОС Linux, которая конвертирует изображение<em>img.jpg</em>в другой формат, а потом сохраняет в файл<em>img.png.</em></p>
21
<p>Сейчас слово "подпрограмма" встречается редко - вместо него используют слова "функция", "процедура" или "метод".</p>
21
<p>Сейчас слово "подпрограмма" встречается редко - вместо него используют слова "функция", "процедура" или "метод".</p>
22
<p>По традиции программистов первая программа, написанная на изучаемом языке, должна выводить на экран надпись "Hello, World!".</p>
22
<p>По традиции программистов первая программа, написанная на изучаемом языке, должна выводить на экран надпись "Hello, World!".</p>
23
<strong>Перевод:</strong><em>Ваши первые подкаст/видео/статья/рисунок/фото/игра будут ужасными. Но первый код будет идеален</em>-<em>он будет очень чистым, и в нём не будет багов. Это будет "Hello, World!".</em><p>В C++ такой код будет выглядеть так:</p>
23
<strong>Перевод:</strong><em>Ваши первые подкаст/видео/статья/рисунок/фото/игра будут ужасными. Но первый код будет идеален</em>-<em>он будет очень чистым, и в нём не будет багов. Это будет "Hello, World!".</em><p>В C++ такой код будет выглядеть так:</p>
24
#include <iostream> int main() { std::cout << "Hello, World! \n"; }<p>Попробуем его запустить, а потом разберём, как он работает.</p>
24
#include <iostream> int main() { std::cout << "Hello, World! \n"; }<p>Попробуем его запустить, а потом разберём, как он работает.</p>
25
<p>Самый простой вариант - зайти на сайт<a>repl.it</a>. На главной странице нажмите<strong>Start Coding,</strong>выберите C++ и нажмите<strong>Create Repl.</strong></p>
25
<p>Самый простой вариант - зайти на сайт<a>repl.it</a>. На главной странице нажмите<strong>Start Coding,</strong>выберите C++ и нажмите<strong>Create Repl.</strong></p>
26
<p>У вас откроется следующая страница:</p>
26
<p>У вас откроется следующая страница:</p>
27
<p>Слева - менеджер файлов, в центре - текстовый редактор, где уже введён нужный нам код, а справа - консоль, в которой выводится результат. Чтобы запустить программу, нажмите<strong>Run</strong>.</p>
27
<p>Слева - менеджер файлов, в центре - текстовый редактор, где уже введён нужный нам код, а справа - консоль, в которой выводится результат. Чтобы запустить программу, нажмите<strong>Run</strong>.</p>
28
<p>Если же вы хотите компилировать код на своём компьютере, то установите компилятор. Я пользуюсь G++, его и вам рекомендую.</p>
28
<p>Если же вы хотите компилировать код на своём компьютере, то установите компилятор. Я пользуюсь G++, его и вам рекомендую.</p>
29
<ul><li><a>Установщик для Windows</a>.</li>
29
<ul><li><a>Установщик для Windows</a>.</li>
30
<li>Название пакета для Linux: gcc.</li>
30
<li>Название пакета для Linux: gcc.</li>
31
</ul><p>После установки компилятора создайте отдельную папку для кода, а в ней - файл<strong>hello.cpp</strong><em>(это расширение для файлов с командами на C++).</em>Желательно, чтобы путь к папке состоял из латинских символов и был написан без пробелов.</p>
31
</ul><p>После установки компилятора создайте отдельную папку для кода, а в ней - файл<strong>hello.cpp</strong><em>(это расширение для файлов с командами на C++).</em>Желательно, чтобы путь к папке состоял из латинских символов и был написан без пробелов.</p>
32
<p>Откройте hello.cpp с помощью любого блокнота или редактора кода<em>(например, Sublime text или VS Code)</em>и вставьте в него код, указанный выше. Теперь откройте терминал с помощью инструкции ниже.</p>
32
<p>Откройте hello.cpp с помощью любого блокнота или редактора кода<em>(например, Sublime text или VS Code)</em>и вставьте в него код, указанный выше. Теперь откройте терминал с помощью инструкции ниже.</p>
33
<strong>Windows</strong><strong>Linux</strong>1. Нажмите Win + R, введите cmd и нажмите Enter. 1. Нажмите Ctrl + Alt + t. Если не помогло, то подходящий способ можно найти в <a>этой статье</a>. 2. Введите команду<em>cd [путь]</em>. Например,<em>cd projects\cpp1</em>, если ваша папка находится по адресу<em>c:\projects\cpp1.</em>2. Введите команду<em>cd [путь].</em>Например:<em>cd ~/projects/cpp1</em>3. Если папка находится не на системном диске, то команду нужно изменить:<em>cd /D [диск:][путь].</em>Например:<em>cd /D d:\projects\cpp1</em><p>Затем введите следующую команду:</p>
33
<strong>Windows</strong><strong>Linux</strong>1. Нажмите Win + R, введите cmd и нажмите Enter. 1. Нажмите Ctrl + Alt + t. Если не помогло, то подходящий способ можно найти в <a>этой статье</a>. 2. Введите команду<em>cd [путь]</em>. Например,<em>cd projects\cpp1</em>, если ваша папка находится по адресу<em>c:\projects\cpp1.</em>2. Введите команду<em>cd [путь].</em>Например:<em>cd ~/projects/cpp1</em>3. Если папка находится не на системном диске, то команду нужно изменить:<em>cd /D [диск:][путь].</em>Например:<em>cd /D d:\projects\cpp1</em><p>Затем введите следующую команду:</p>
34
<p>Эта команда скажет компьютеру, что нужно скомпилировать код из файла<em>hello.cpp</em>и сохранить результат в файл<em>hello</em><em>(или hello.exe в Windows)</em>.</p>
34
<p>Эта команда скажет компьютеру, что нужно скомпилировать код из файла<em>hello.cpp</em>и сохранить результат в файл<em>hello</em><em>(или hello.exe в Windows)</em>.</p>
35
<p>После этого запустите скомпилированную программу, и вы увидите, что всё работает:</p>
35
<p>После этого запустите скомпилированную программу, и вы увидите, что всё работает:</p>
36
<p>Теперь, когда мы смогли запустить программу, разберёмся в ней.</p>
36
<p>Теперь, когда мы смогли запустить программу, разберёмся в ней.</p>
37
<p>Начнём с самой первой строчки:</p>
37
<p>Начнём с самой первой строчки:</p>
38
<p>С помощью языка программирования можно:</p>
38
<p>С помощью языка программирования можно:</p>
39
<ul><li>писать условия;</li>
39
<ul><li>писать условия;</li>
40
<li>работать с памятью;</li>
40
<li>работать с памятью;</li>
41
<li>создавать подпрограммы;</li>
41
<li>создавать подпрограммы;</li>
42
<li>работать с классами, структурами и объектами;</li>
42
<li>работать с классами, структурами и объектами;</li>
43
<li>выполнять базовые математические операции и так далее.</li>
43
<li>выполнять базовые математические операции и так далее.</li>
44
</ul><p>Но чтобы получить больше возможностей, программе нужно как-то взаимодействовать с операционной системой. Писать код, который будет отправлять команды ОС, достаточно сложно, но нам и не придётся - всё уже написано другими разработчиками и помещено в специальную библиотеку.</p>
44
</ul><p>Но чтобы получить больше возможностей, программе нужно как-то взаимодействовать с операционной системой. Писать код, который будет отправлять команды ОС, достаточно сложно, но нам и не придётся - всё уже написано другими разработчиками и помещено в специальную библиотеку.</p>
45
<p>Одна из таких библиотек,<strong>iostream,</strong>позволяет запрашивать пользовательский ввод или выводить что-то в консоли.</p>
45
<p>Одна из таких библиотек,<strong>iostream,</strong>позволяет запрашивать пользовательский ввод или выводить что-то в консоли.</p>
46
<p>Есть и другие библиотеки, которые помогают работать с графикой, отправлять запросы через интернет, воспроизводить звук и так далее. В будущем вы научитесь самостоятельно писать свои собственные библиотеки.</p>
46
<p>Есть и другие библиотеки, которые помогают работать с графикой, отправлять запросы через интернет, воспроизводить звук и так далее. В будущем вы научитесь самостоятельно писать свои собственные библиотеки.</p>
47
<p>Вернёмся к коду:</p>
47
<p>Вернёмся к коду:</p>
48
<p><strong>main ()</strong> - это подпрограмма<em>(функция)</em>, с которой начинается выполнение любой программы на C++. Её также называют точкой входа.</p>
48
<p><strong>main ()</strong> - это подпрограмма<em>(функция)</em>, с которой начинается выполнение любой программы на C++. Её также называют точкой входа.</p>
49
<p>Подробнее подпрограммы мы разберём в следующих статьях. Сейчас нужно знать только то, что все команды записывают в тело функции.</p>
49
<p>Подробнее подпрограммы мы разберём в следующих статьях. Сейчас нужно знать только то, что все команды записывают в тело функции.</p>
50
<p>Настало время понять, как работают команды:</p>
50
<p>Настало время понять, как работают команды:</p>
51
<p>Команда<strong>cout</strong>говорит компьютеру о том, что нужно вывести определённый текст в консоли. В нашем случае -<em>Hello, World!</em>. Любой текст должен быть в кавычках, иначе компилятор воспримет его как идентификатор, то есть имя команды, функции, переменной и так далее. Поэкспериментируйте с текстом, запустите программу и посмотрите, что изменится.</p>
51
<p>Команда<strong>cout</strong>говорит компьютеру о том, что нужно вывести определённый текст в консоли. В нашем случае -<em>Hello, World!</em>. Любой текст должен быть в кавычках, иначе компилятор воспримет его как идентификатор, то есть имя команды, функции, переменной и так далее. Поэкспериментируйте с текстом, запустите программу и посмотрите, что изменится.</p>
52
<p>После каждой команды должна стоять точка с запятой - она говорит компилятору, что это конец инструкции и нужно переходить к следующей.</p>
52
<p>После каждой команды должна стоять точка с запятой - она говорит компилятору, что это конец инструкции и нужно переходить к следующей.</p>
53
<p>Пространства имён<em>(например,<strong>std</strong>)</em>относятся к библиотекам, и их мы рассмотрим в следующих статьях.</p>
53
<p>Пространства имён<em>(например,<strong>std</strong>)</em>относятся к библиотекам, и их мы рассмотрим в следующих статьях.</p>
54
<p>Изучая C++, подготовьтесь к большому объёму информации. В <a>следующий раз</a>мы также подробно разберём ввод и хранение информации.</p>
54
<p>Изучая C++, подготовьтесь к большому объёму информации. В <a>следующий раз</a>мы также подробно разберём ввод и хранение информации.</p>
55
<a>Курс с трудоустройством: "Профессия Разработчик С++
с нуля + ИИ" Узнать о курсе</a>
55
<a>Курс с трудоустройством: "Профессия Разработчик С++
с нуля + ИИ" Узнать о курсе</a>