Visual Studio Code #
Visual Studio Code — это текстовый редактор, вроде блокнота в Windows, но созданный специально для программистов: он поставляется вместе с подсветкой синтаксиса, автодополнением, встроенным терминалом, системой контроля версий и ещё огромным количеством инструментов, упрощающих написание кода. Однако VS Code это не IDE, т.е. он изначально не содержит в себе инструментов для компиляции и запуска написанного кода, что означает, что для комфортной разработки, его необходимо настроить соответствующим образом. Именно этому и посвящена данная статья.
Где скачать #
Загрузить VS Code можно здесь . Сайт сам поймёт, какую операционную систему ты используешь, и предложит соответствующую версию. При установке рекомендуем поставить все галочки и не менять язык на русский, так как вся статья написана для англоязычной версии.
Настройка для работы с C++ #
Windows #
- Установить компилятор g++ отсюда, выбрав последнюю доступную версию нужной разрядности. После установки необходимо перезапустить компьютер;
- Открываем командную строку, для этого нажимаем комбинацию клавиш Win + R , вводим cmd и нажимаем Enter, в открывшемся окне прописываем g++ —version и снова нажимаем Enter. Если ты увидишь сообщение, содержащее версию, значит компилятор установлен и можно переходить к следующему шагу. Если же появится ошибка, значит система не понимает, где установлен компилятор, и ей необходимо указать, где он находится. Для этого необходимо добавить g++ в PATH : Параметры > Система > О системе > Сведения о системе > Дополнительные параметры системы > Переменные среды > Системные переменные > Path, тут необходимо нажать кнопку Добавить и вставить следующий путь: c:\mingw\libexec\gcc\x86_64-w64-mingw32 ;
- Теперь ты можешь компилировать С++ код, прописывая в консоли g++ FILE_NAME.cpp , и запускать скомпилированный файл a.exe . Однако можно автоматизировать этот процесс внутри VS Code. Для этого нужно зайти в раздел с расширениями с помощью комбинации клавиш Ctrl + Shift + X или можно нажать на иконку с кубиками в боковой панели, а затем найти и установить расширение Code Runner ;
- Теперь, чтобы скомпилировать .cpp файл, можно просто использовать комбинацию клавиш Ctrl + Alt + N или соответствующую кнопку в правом верхнем углу. При желании, её можно изменить в настройках;
- Далее необходимо открыть настройки, пользуясь сочетанием клавиш Ctrl + , или нажав на шестерёнку в левом нижнем углу. В строке поиска ввести @ext:formulahendry.code-runner terminal и поставить галочку в Code-runner: Run In Terminal . Теперь код будет запускаться во встроенном терминале, и у тебя появится возможность вводить входные данные с клавиатуры.
Linux #
- Установить компилятор g++ используя пакетный менеджер, например, если ты используешь Ubuntu, тебе нужно открыть терминал и написать sudo apt install gcc ;
- Чтобы убедиться, что компилятор установился правильно, введи в терминале g++ —version . Если всё в порядке, ты увидишь сообщение, содержащее версию g++ ;
- Далее, уже в самом VS Code, заходим в раздел с расширениями с помощью Ctrl + Shift + X или можно просто нажать на иконку с кубиками в боковой панели, а затем найти и установить расширение Code Runner ;
- Теперь, чтобы скомпилировать .cpp файл, ты можешь просто использовать комбинацию клавиш Ctrl + Alt + N . При желании, её можно изменить в настройках;
- Далее необходимо открыть настройки, пользуясь сочетанием клавиш Ctrl + , или нажав на шестерёнку в левом нижнем углу. В строке поиска ввести @ext:formulahendry.code-runner terminal и поставить галочку в Code-runner: Run In Terminal . Теперь код будет запускаться во встроенном терминале, и у тебя появится возможность вводить входные данные с клавиатуры.
Mac #
- На Mac установить компилятор g++ легче всего, используя пакетный менеджер Homebrew, который не установлен по умолчанию. Чтобы его установить, тебе нужно открыть терминал и вставить туда следующую команду:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Несколько советов для удобства #
- Если ты раньше пользовался Visual Studio, и, открывая свой старый код, у тебя возникают проблемы с отображением кириллицы, тебе следует изменить кодировку файла. Для этого во встроенной командной строке найди Change File Encoding > Reopen with Encoding и выбери самое первое с подписью Guessed from content.
- Для того, чтобы программа корректно компилировалась, каждый раз после её изменения нужно сначала её сохранить с помощью Ctrl + S . Чтобы этого не делать, можно включить автосохранение: для этого нужно найти параметр Files: Auto Save в настройках и выбрать значение afterDelay .
- Чтобы изменить или добавить сочетания клавиш, открой командную строку ( Ctrl + Shift + P на Windows и Linux или Cmd + Shift + P на Mac) и в поиске найди Preferences: Open Keyboard Shortcuts . Например, одной из полезных горячих клавиш будет увеличение/уменьшение размера шрифта, для этого в меню горячих клавиш введи Editor Font Zoom и поставь горячие клавиши на . In и . Out , мы предпочитаем использовать Ctrl + = для увеличения и Ctrl + — для уменьшения шрифта.
- При компиляции .cpp файла в папке с ним появляется .out файл. Чтобы .out файлы не мешались во встроенном проводнике, можно скрыть их в настройках. Для этого в настройках введи Files: Exclude , и добавь туда значение *.exe (аналогично для любого другого расширения).
Работа с Git #
Visual Studio Code даёт всё необходимое для удобной работы с системой контроля версий. Здесь ты можешь спокойно пуллить, коммитить, пушить, мерджить и т.д. Самый простой, на мой взгляд, способ это делать — использовать командную строку Ctrl + Shift + P . Здесь ты можешь найти любое действие в системе контроля версий. Все они начинаются с Git: , а дальше идёт название действия, например, Git: Pull или Git: View File History .
Другим способом работы с Git является вкладка View: Show Source Control , где можно делать всё то же, но используя графический интерфейс.
VS Code в браузере #
GitHub очень тесно интегрируется с VS Code — ты можешь открыть любой репозиторий и нажать на клавиатуре на точку или поменять github.com на guthub.dev в адресной строке, чтобы открыть web-версию VS Code. Тут ты сможешь посмотреть и изменить файлы, не клонируя репозиторий на свой компьютер. Однако, это неполноценная версия VS Code: здесь у тебя не получится воспользоваться терминалом или скомпилировать .cpp файл.
Кастомизация #
Огромным преимуществом VS Code кода является широкая кастомизация. Ты можешь настроить под себя абсолютно всё, начиная от цветов интерфейса и заканчивая шириной полосы прокрутки.
Например, я предпочитаю минималистичный вид, поэтому мой VS Code на данный момент выглядит вот так:
Темы #
Одним из самых простых и очевидных способов изменения внешнего вида редактора является установка тем. Всё, что нужно для этого сделать это:
- Открыть панель расширений c помощью Ctrl + Shift + X на Windows и Linux или Cmd + Shift + X на Mac;
- Найти понравившуюся тему ( @category:»themes» чтобы видеть только темы);
- Нажать на кнопку Install;
- Если тема не применилась автоматически, или ты хочешь выбрать другую среди установленных, достаточно открыть командную строку ( Ctrl + Shift + P на Windows и Linux или Cmd + Shift + P на Mac), после чего найти параметр Preferences: Color Theme и выбрать желаемую тему.
Иконки файлов #
Точно так же, как и темы, ты можешь изменить иконки во встроенном проводнике — боковой панели, которая отображает все файлы рабочей директории. Для этого достаточно просто написать icons в поиске расширений и установить расширение с понравившимися иконками. Если иконки не применились автоматически, или ты хочешь выбрать другую среди установленных, достаточно открыть командную строку и в параметре Preferences: File Icon Theme выбрать желаемую тему иконок.
Шрифт #
В VS Code ты можешь поменять шрифт кода с помощью параметра Editor: Font Family в настройках, где перечисляются шрифты по приоритету. Например, у меня это ‘Fira code’, Menlo, Monaco, ‘Courier New’, monospace , что означает, что будет использоваться шрифт Fira Code, но если он не найдётся среди установленных, будет использоваться Menlo и так далее. Чтобы использовать свой шрифт, просто добавь его первым в эту строку.
Оба этих шрифта поддерживают лигатуры. Что это? Лигатура — это знак, объединяющий два или более символа. В коде они применяются для отображения операторов и помогают уменьшить шум путем слияния символов и удаления лишних деталей и в определённых случаях уравновесить пространство между символами. Вот несколько примеров:

Скрытие панелей #
Ещё одним способом кастомизации VS Code является изменение поведения панелей и других элементов интерфейса, что помогает освободить огромное количество места на экране. У меня обычно скрыты все элементы интерфейса, кроме самого пространства редактора, а когда у меня появляется необходимость воспользоваться, скажем, строкой состояния, я использую соответствующую комбинацию клавиш. Все сочетания клавиш настраиваются в Preferences: Open Keyboard Shortcuts .
Настройки #
На самом деле, в VS Code есть ещё огромное количество настроек, которые ты можешь найти… в настройках. Поэтому, если тебе что-то не нравится, ты всегда можешь поискать этот параметр в настройках приложения или в интернете — скорее всего ты не первый, кто захотел изменить это, и сможешь найти готовое решение.
И ешё, все свои настройки ты можешь синхронизировать через свой аккаунт GitHub, чтобы иметь единые настройки на компьютере дома и в университете. Статья об этом .
MinGW + Visual Studio Code. Руководство для старта

Данный текст будет полезен тем, кто давно хотел слезть с иглы тяжеленных IDE, но настройка компилятора под себя – казалось делом неблагодарным и запутанным.
VS Code – это лишь редактор кода. Это не среда разработки – здесь нет встроенного компилятора или дебаггера. Здесь есть только их поддержка. Чем более инструмент универсален – тем сложнее вначале разобраться в его особенностях. Однако, здесь нет ничего невозможного! Если правильно один раз настроить VS Code, то вы получите замечательную среду с помощью которой можно поддерживать различные проекты на совершенно разных языках.

VS Code является легковесным, кроссплатформенным редактором кода. Одной из его главных особенностей является поддержка кучи плагинов. Плагины позволяют расширять технологию IntelliSense (автодополнение кода) на разные языки программирования, добавлять поддержку специфического оборудования, отладчиков и прочее. Очень приятная и гибкая цветовая схема не раздражает даже после многочасового просиживания в процессе работы.
В общем-то поэтому решил написать как подготовить себе приятную среду разработки. В данном случае – под C и C++
Картинки кликабельны. И их максимально много. Если считаете, что что-то слишком очевидно, то пропустите этот момент
Чаще всего используется компилятор gcc. Данный компилятор обычно идет совместно с Unix-осью. Для того, чтобы работать с этим компилятором на Windows, нужно установить некоторые инструменты разработки. Есть два больших и известных проекта, созданных с данной целью:
Главное их отличие в том, что MinGW сосредоточен в основном на компиляторе с некой поддержкой системных команд, в то время как Cygwin старается эмулировать полноценную UNIX-среду.
Установка MinGW
Первым делом нужно убедится, что на компьютере уже не установлен компилятор gcc. Нажмем Win+R и вызовем командную строку.

C:\Users\User> gcc -version
Если компилятор не установлен – выведется сообщение, что программа не найдена. Иначе, можно опустить установку и настройку MinGW и переходить прямо к разделу с настройкой VS Code.
Закрываем консоль (“cmd“) и переходим на официальный сайт проекта MinGW http://www.mingw.org/.
Ищем ссылку “Download” и переходим. Должно открыться что-то подобное, как на рисунке снизу.

Выбираем необходимые нам пакеты. Нам нужен базовый пакет mingw32-base и mingw32-gcc-g++. Отмечаем их
Внимание – приписка 32 в названии не означает работу приложения только и/или нацеленно на 32-битной платформе

После чего применяем внесенные изменения

Видим, что будет установлено/обновлено 24 пакета

Новое окно сообщает об успешном применении изменений

Теперь можем перейти в папку установки и убедиться в том, что все необходимое установлено (g++.exe и gcc.exe)

Выполним проверку установки переменной PATH. Проведем такую же проверку, как и в начале. Нажмем Win+R и вызовем командную строку.

Попросим компилятор вывести его версию следующей командой:
C:\Users\User> gcc -version

Если все сработало как нужно, то переходим к разделу с настройкой VS Code.
Если в консоли появилась ошибка, то нужно настроить переменную PATH. Это глобальная системная переменная и содержит в себе каталог исполняемых программ. То есть её настройка позволяет запустить программу по имени, не указывая полный путь до исполняемого файла. Их есть два вида – отдельная для каждого пользователя и одна общесистемная, которая доступна каждому пользователю.
Как настроить переменную PATH
Переходим в “Этот компьютер” и нажимаем правую кнопку -> свойства.

Далее в левой колонке жмем “Дополнительные параметры среды“

Далее в “Переменные среды“

Выбираем в списке переменных сред для пользователя выбираем переменную PATH и жмем “Изменить“.

Жмем “Создать” и вписываем полный путь до папки MinGW\bin

Нажимаем “Ок” и снова вызываем командную строку – Win+R – cmd.
Внимание – чтобы изменения переменной PATH вступили в силу, командную строку нужно перезапустить, если она осталась открытой.
Выводим для проверки версию компилятора:
C:\Users\User> gcc -version

Заодно проверим дебаггер:
C:\Users\User> gdb -version

VS Code – Hellow World
Скачиваем с официального сайта абсолютно бесплатный VS Code.
https://code.visualstudio.com/
Процесс установки опустим – подсказок установщика достаточно
Для корректного автодополнения, дебага и подсказок по документации стоит установить расширение C/C++.
Расширения устанавливаются прямо из VS Code во вкладке “Extensions” или Ctrl+Shift+X. На нижней картинке эта вкладка подчеркнута в левом столбце.

Найдем через строку поиска C/C++ и установим.
Далее создаем папку будущего проекта в произвольном месте на компьютере. Свою назвал “helloworld“. Она будет папкой всего проекта, который вы будете разрабатывать. В VS Code открываем папку используя File > Open Folder…

Откроется проект. Пока он пустой. Создадим первый файл в проекте через File > New File

Чтобы VS Code начал предлагать подсказки по вводу и подсвечивать синтаксис, следует сразу после создания файла сохранить его в необходимом расширении. По сути сейчас вы определяете язык будущего проекта. Нажимаете File > Save… и в открывшемся окне выбираете тип файла. Т.к. наш тестовый проект пишется на Си, выбираем его в выпадающем списке Тип файла.

Теперь при вводе текста будут появляться подсказки с автодополнением. Для подстановки предложенного автодополнения можно нажать Tab. В VS Code достаточно много удобных хоткеев. Посмотреть все быстрые клавиши можно тут File > Preferences > Keyboard Shortcuts

Запишем наш код HelloWorld в файл. В принципе, можно писать любой код – главное, чтобы был вывод в консоль для отладки.
#include int main(void)
Настройка компилятора
Время перейти к настройке компилятора и дебаггера.
Компилятор позволит из написанного кода собрать рабочее приложение.
Переходим Terminal > Configure Default Build Task…

Мы изначально определили язык программирования (во время сохранения) и VS Code самостоятельно нашел компилятор – нам предложено задать сценарий работы с ним.
Если самостоятельно VS Code не нашла компилятор, то нужно редактировать файл c_cpp_properties.json, который идет вместе с расширением. Именно в данном файле настраивается путь к includePath
Подробнее по ссылке на официальном сайте. Ссылка актуальна на 2020 год.
https://code.visualstudio.com/docs/cpp/configure-intellisense-crosscompilation

Кликаем по предложенной подсказке.

Текст файла примерно такой:
< "version": "2.0.0", "tasks": [ < "type": "shell", "label": "shell: gcc.exe build active file", "command": "C:\\MinGW\\bin\\gcc.exe", "args": [ "-g", "$", "-o", "$\\$.exe" ], "options": < "cwd": "C:\\MinGW\\bin" >, "problemMatcher": [ "$gcc" ], "group": < "kind": "build", "isDefault": true >> > ] >
Выглядит страшно, как и любой развернутый JSON
Гайд на официальном сайте vscode говорит о том, что этого достаточно, а если что-то идет не так, то отсылают почитать про функционал task.json. К сожалению, если оставить в таком виде, то собирать многофайловые проекты будет невозможно.
Если в вашем проекте будет НЕ больше одного файла, можете пропустить дальнейший текст и перейти к настройке дебаггера. Если планируется работать с несколькими файлами – рекомендую проделать дальнейшие манипуляции.
JSON – это текстовое представление данных/объектов (в основном в JS).
Обычно используется для передачи данных в парах Клиент-Сервер.
Массивы обозначаются квадратными скобками []
Ячейки обозначаются фигурными скобками <>
Обычная запись представляет собой пару ключ-значение через двоеточие:
< “Ключ” : “Значение” >
Значение может быть массивом, ячейкой, массивом ячеек и т.д. – ограничений нет.Коротко про JSON
Поле tasks содержит массив ( [массив] ), который состоит из ячеек отделенных фигурными скобками и запятыми ( [ , , ] ). В нашем случае этот массив содержит одну ячейку.
Создадим еще один элемент в массиве задач (task). Нужно скопировать все что есть в квадратных скобках (task[ вот это ]) и вставить через запятую в конце первой ячейки массива.
< "version": "2.0.0", "tasks": [ < "type": "shell", "label": "shell: gcc.exe build active file", "command": "C:\\MinGW\\bin\\gcc.exe", "args": [ "-g", "$", "-o", "$\\$.exe" ], "options": < "cwd": "C:\\MinGW\\bin" >, "problemMatcher": [ "$gcc" ], "group": < "kind": "build", "isDefault": true >>, < "type": "shell", "label": "shell: gcc.exe build active file", "command": "C:\\MinGW\\bin\\gcc.exe", "args": [ "-g", "$", "-o", "$\\$.exe" ], "options": < "cwd": "C:\\MinGW\\bin" >, "problemMatcher": [ "$gcc" ], "group": < "kind": "build", "isDefault": true >> ] >
Файл должен выглядеть примерно как указано выше. Следите за скобками и запятыми – если где-то будет ошибка VS Code сообщит. Удаляем ячейку “group” на строках 20-23. Этот параметр отвечает за выбор компилятора, который будет запущен по-умолчанию.
Нас сейчас больше всего интересуют строки с 27 по 31.
Изменим значение ячейки “label” на 27 строке на любое название. Пусть будет build c project. Именно по этому имени мы сможем понять какой именно компилятор сейчас выбран.
Ячейка “command” – это команда, которая будет передана в терминал/консоль для старта компиляции. Как мы видим, все правильно, это путь к gcc.exe.
Ячейка “args” – это список аргументов, который будет передан после команды. Не пугайтесь, мы уже это делали. Чуть ранее мы узнавали версию gcc путем передачи аргумента -version.
- “-g” указывает компилятору на необходимость вставлять в готовое приложение отладочную информацию – номера строк, имена переменных и т.д. Необходимо для корректной работы дебаггера (отладчика) GDB;
- Следующим аргументом идёт файл или список файлов. “$ ” означает текущий файл. То есть компилятору будет передан только один файл. Мы хотим, чтобы сюда входили все файлы из определенной директории. Да, одним из решений будет вписывать сюда каждый созданный .c файл, но разве это удобно? Значит записываем сюда конструкцию: Из этой директории, взять все .c-файлы. Получится следующее: “$/**.c“
- Аргумент вывода файла
- Путь вывода скомпилированного приложения.
В итоге, добавленная нами часть будет выглядеть следующим образом:
< "type": "shell", "label": "build c project", "command": "C:\\MinGW\\bin\\gcc.exe", "args": [ "-g", "$/**.c", "-o", "$\\$.exe" ], "options": < "cwd": "C:\\MinGW\\bin" >, "problemMatcher": [ "$gcc" ], "group": < "kind": "build", "isDefault": true >> ] >
Настройка отладчика
Теперь настроим дебаггер или отладчик. Переходим в наш файл с кодом, далее Run > Add Configuration…

Выбираем окружение GDB

Выбираем Сборка и отладка активного файла

Если возникла ошибка и открылось окно, нажмите на нем Abort. Это лишь значит, что не удалось собрать приложение – может быть синтаксическая ошибка.

Далее откроется файл launch.json
Для тех, кто добавлял свой task: Изменим значение preLaunchTask на то название, которое придумали для своего компилятора. В моем случае – это “build c project“. Чтобы не было путаница стоить изменить и поле “name“. Можете как и прошлом примере добавить еще одну конфигурацию запуска в массив конфигураций, оставив первоначальную без изменений.
Запускаем приложение
Снова переходим в созданный файл с кодом и выбираем Terminal > Run Build Task…

Эта команда проведет все шаги компиляции приложения и создаст в целевой папке исполняемый файл с расширением .exe

На картинке выше красным подчеркнут выпадающий список открытых терминалов (без паники – это как несколько cmd-консолей или терминалов в линуксе). Синим (правее красной линии, видно плохо) подчеркнуты элементы управления списком терминалов – их можно добавить, удалить или поставить парочку рядом.
Как мы видим, процесс компиляции завершился без ошибок и в списке файлов проекта появился .exe.
Создадим новый терминал.

Как мы видим, изменился порядковый номер нового терминала. Также видно, что мы находимся в папке с проектом. Отсюда можно вызвать наше скомпилированное приложение. Можно начать набирать его имя и нажать Tab и сработает автодополнение. На каждое следующее нажатие терминал предложит различные подходящие варианты под то, что имелось ввиду. Если предложить нечего – ничего не произойдет.

Вызовем наше приложение. В моем случае:
> .\hellowd_main.exe

Замечательно, вывод сработал как надо.
Теперь инициируем отладку/дебаггинг этого приложения, чтобы посмотреть как это работает.
Установим “Breakpoint” или точку останова. Все как в классических IDE.

Запускаем отладку Run > Start Debugging или f5

Выполнение программы было приостановлено в том месте, которое мы пометили точкой останова.

Открылось другое окно редактора, которое специально подготовлено для работы в режиме отладки. В левой части окна появилось четыре секции:
- VARIABLES все переменные
- WATCH сюда, через знак плюса можно добавлять переменные, функции и т.д. по имени
- CALL STACK стек вызовов функции. В общих чертах – функции часто вызываются в теле других функций.
- BREAKPOINTS все точки останова
Текущая выполняемая строка подсвечивается и имеет желтый указатель строки

Управление ходом отладки программы тоже удобное и классическое.

- Продолжить
- Сделать шаг
- Пройти “внутрь” текущей строки
- Выйти на уровень выше
- Перезапуск отладки
- Остановка отладки
Удачного освоения инструмента
Как скомпилировать программу в visual studio code c
Регистрация: 20.06.2016
Сообщений: 4
компиляция программы в Visual Studio на mac
Собственно вопрос в теме. Подскажите как скомпилировать Hallo world в VS. Почему нет банальной кнопки Run как в Xcode и все работает? Почему нужно выбирать какую то среду, создавать launch.json, редактировать это файл что то куда то сохранять и может тогда что то заработает? Как вы догадались я уж совсем новичок. Очень прошу совета. Заранее спасибо!
Как скомпилировать программу в visual studio code c
В статье мы напишем пару простейших программ на C++ и посмотрим, как происходит их компиляция.
Следуйте инструкциям. Также выполните задания, указанные в тексте.
Создаём каталог проекта
Перейдите в каталог пользователя, и создайте каталог, в котором вы будете размещать свои проекты. Его можно назвать, например, “lw1” (laboratory work 1)

В Visual Studio Code откройте этот каталог. Для этого используйте меню “File”>”Open Folder…”.

Теперь вы можете добавить новый файл в каталог прямо из Visual Studio Code. Попробуйте, это так просто!

Простейшая программа
Откройте редактор, создайте файл hello.cpp и перепишите следующий текст:

Это — минимальная программа на языке C++. Она выводит в терминал строку “Hello, world!” и завершается. Она состоит из:
- директива #include подключит библиотеку потоков ввода-вывода, в том числе станут доступны поток вывода std::cout и манипулятор std::endl.
- функция main служит точкой входа в программу в тот момент, когда операционная система запускает программу
- в функции сейчас находится ровно одна инструкция, которая передаёт строку в поток вывода cout и затем передаёт туда же манипулятор endl (сокращение от endline), чтобы добавить перенос строки и завершить операцию вывода cout
Сохраните файл — это можно сделать в меню “File” либо горячей клавишей Ctrl+S :

Затем откройте терминал. В Visual Studio Code терминал можно открыть в меню “Вид”>”Интегрированный терминал” либо сочетанием клавиш “CTRL + `”

Введите в терминале команду dir . Команда выведет список файлов, и среди этих файлов должен быть файл hello.cpp .
Введите команду g++ —version . Программа g++ — это компилятор C++ из состава GCC (GNU Compiler Collections). Передав ей флаг —version , вы заставите программу вывести свою версию и завершиться. Ожидается, что у вас будет g++ 7.0 или выше:
C:\Code\CppProjects>g++ --version g++ (GCC) 7.2.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Введите команду g++ hello.cpp -o hello . Эта команда компилирует файл hello.cpp в исполняемую программу называет исполняемый файл hello.exe на платформе Windows либо hello на Linux и MacOSX. Команда не должна выводить чего-либо, она должна просто успешно завершиться.
Теперь вы можете запустить исполняемую программу hello.exe , набрав в терминале команду hello .
C:\Code\CppProjects>hello Hello, world!
Задание cpp1.1
Убедитесь, что у вас есть файл hello.cpp , в котором записана работоспособная программа “Hello, World”. Доработайте программу, чтобы вместо “Hello, World” она выводила “Hello, Name”, где Name — ваше имя в английской транскрипции.
Ошибки компиляции
Теперь попробуем составить неправильную программу. Например, уберём символ ; в конце единственной инструкции:

Запустите компиляцию снова. Вы увидите ошибку компиляции, примерно такую:
C:\Code\CppProjects\other>hello Hello, world! C:\Code\CppProjects\other>g++ hello.cpp -o hello hello.cpp: In function 'int main()': hello.cpp:6:1: error: expected ';' before '>' token > ^
Компилятор достаточно умён, чтобы показать вам точное место ошибки и способ её исправления! Именно поэтому сообщения от компиляторов C/C++ следует внимательно читать.
Теперь попробуем внедрить другую ошибку: точку с запятой вернём на место, а в названии cout перепутаем две буквы: “cuot”

Запустите компилятор и прочитайте сообщение. Оно должно быть таким:
C:\Code\CppProjects\other>g++ hello.cpp -o hello hello.cpp: In function 'int main()': hello.cpp:5:10: error: 'cuot' is not a member of 'std' std::cuot
Компилятор снова показал себя с лучшей стороны: он догадался, что программист опечатался, и предложил свой вариант замены. К сожалению, вариант не самый удачный: компилятор предложил clog вместо cout . Тем не менее, во многих случаях компилятор угадывает правильно.
Задание cpp1.2
- Попробуйте самостоятельно найти такую опечатку в слове cout, чтобы компилятор правильно предложил способ исправления опечатки.
- Этот вариант программы сохраните в файле hello_err.cpp , чтобы затем показать преподавателю.
Вывод в стиле языка C
Вывод в cout, которым мы воспользовались, относится к языку C++. Есть и другой способ: C++ позволяет использовать возможности языка C, в том числе функции ввода-вывода в стиле языка C.
Мы воспользуемся функцией std::puts. Для доступа к ней надо подключить . Теперь программа будет выглядеть так:

Выполните в терминале команду del hello.exe для удаления старого исполняемого файла, затем g++ hello.cpp -o hello для компиляции и запустите программу hello.exe . Вы должны получить тот же результат, что и раньше:
C:\Code\CppProjects\other>hello Hello, world!
Ввод-вывод
Теперь напишем программу, которая читает два числа из стандартного ввода и пишет их обратно в стандартный вывод. Эта программа будет использовать функции языка C: std::scanf и std::printf .
Создайте файл ab.cpp и напечатайте в нём следующий код:

Скомпилируйте код командой g++ ab.cpp -o ab . Запустите, и введите
- два целых числа: 12 88
- одно целое число и одно число с плавающей точкой: 12 88.7
- одно целое число и одну букву f: 12 f
- только букву f: f
- ничего не вводить, сразу нажать “Ctrl+Z” на Windows или “Ctrl+D” на остальных платформах, что означает “конец ввода”
Если что-то пошло неправильно, вы можете нажать в терминале Ctrl+C для завершения программы.
Мы прокомментировали код, чтобы вы поняли, что происходит. В языке C++ однострочные комментарии начинаются с символов // . Комментарии помогают понять текст программы, и поэтому хороший комментарий поясняет намерение там, где оно не очевидно из кода. Плохие комментарии поясняют очевидные вещи: писать такое — бесполезный труд. В то же время хороший комментарий может уберечь программиста от неосторожных и неправильных действий.
// Подключаем заголовок cstdio из стандартной библиотеки #include // Определяем функцию main, возвращающую целочисленный код завершения. int main() // Объявляем переменные a и b, инициализируем их нулями. int a = 0; int b = 0; // Считываем из стандартного ввода данные в определённом формате: "%d %d" // "%d" означает "считать целое число и положить результат по переданному адресу", // " " означает "считать любое количество пробелов" // адреса для записи считанных значений передаются в дополнительных аргументах, начиная со 2-го // Документация: https://www.opennet.ru/man.shtml?topic=scanf&category=3&russian=0 std::scanf("%d %d", &a, &b); // Записываем данные в определённом формате: "%d %d\n" // "\n" кодирует символ переноса строки // Документация: https://www.opennet.ru/man.shtml?topic=printf&category=3&russian=0 std::printf("%d %d\n", a, b); >
Теперь доработаем программу
Задание cpp1.3
Создайте файл abc.cpp и напишите программу, которая читает три числа и складывает их, а результат выводит в терминал.
Решение линейного уравнения
Рассмотрим линейное уравнение ax + b = 0 — оно также называется уравнением прямой. Мы напишем программу, способную решать такие уравнения. Но прежде чем приступить к кодированию, мы составим план действий с помощью комментариев:
#include int main() // 1. prompt user to enter coefficients // 2. read coefficients for equation `ax + b = 0` // 3. solve equation `ax + b = 0` // solution: `x = -b / a` >
Первый шаг мы реализуем с помощью puts. Второй — с помощью scanf и объявления переменных a, b. Третий шаг - с помощью printf. Создайте файл linear_equation.cpp .
Перепечатайте в него следующий код:

Скомпилируйте программу и запустите её. Попробуйте ввести две пары коэффициентов:
Везде ли программа решила задачу правильно?
Числа с плавающей точкой
Конечно же, решить уравнение в целых числах получится не всегда. Но в C++ есть поддержка чисел с плавающей точкой:
- тип данных называется float
- ему соответствует формат %f для scanf и printf
Перепишите программу следующим образом:

Попробуйте снова ввести две пары коэффициентов:
Как вы думаете, что получилось в последних двух случаях? Почему такое происходит?
Задание cpp1.4
Создайте файл square_equation.cpp и напишите программу, которая читает три коэффициента уравнения ax^2+bx+c=0 и вычисляет корни уравнения.
- Программа должна использовать числа с плавающей точкой.
- Вам пригодится функция std::sqrt, помогающая извлечь квадратный корень; в документации к ней сказано, какой заголовочный файл требуется подключить через #include .
PS-Group
- PS-Group
- sshambir@gmail.com
- ps-group
- image/svg+xml sshambir
Материалы для курсов в Институте Программных Систем и в Волгатехе
