HTML Diff
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 &lt;iostream&gt; int main() { std::cout &lt;&lt; "Hello, World! \n"; }<p>Попробуем его запустить, а потом разберём, как он работает.</p>
24 #include &lt;iostream&gt; int main() { std::cout &lt;&lt; "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>