Введение
В этой лабораторной работе вы научитесь писать свою первую программу на C++. Вы начнете с установки компилятора GCC (GNU Compiler Collection) и настройки необходимых переменных окружения в Ubuntu 22.04. Затем вы создадите новый исходный файл C++, напишете базовую структуру программы и используете оператор cout для вывода сообщения "Hello World". Вы также узнаете, как компилировать и запускать программу, как добавлять однострочные и многострочные комментарии, использовать endl и \n для переноса строк, а также как исправлять распространенные синтаксические ошибки, такие как пропущенные точки с запятой.
Установка компилятора GCC и настройка переменных окружения в Ubuntu 22.04
На этом этапе вы узнаете, как установить компилятор GCC (GNU Compiler Collection) для C++ и настроить необходимые переменные окружения в Ubuntu 22.04. GCC необходим для компиляции и запуска программ на C++.
Сначала откроем терминал в WebIDE. Это можно сделать, нажав на значок терминала в нижней части экрана или используя сочетание клавиш (обычно Ctrl+`).
Начнем с обновления списка пакетов, чтобы убедиться, что у нас есть актуальная информация о доступных пакетах:
sudo apt update
Пример вывода:
Hit:1 http://mirrors.cloud.aliyuncs.com/ubuntu jammy InRelease
Hit:2 http://mirrors.cloud.aliyuncs.com/ubuntu jammy-updates InRelease
Hit:3 http://mirrors.cloud.aliyuncs.com/ubuntu jammy-backports InRelease
Hit:4 http://mirrors.cloud.aliyuncs.com/ubuntu jammy-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
157 packages can be upgraded. Run 'apt list --upgradable' to see them.

Затем установим компилятор GCC и связанные с ним инструменты разработки:
sudo apt install -y build-essential
Пример вывода:
Reading package lists...
Building dependency tree...
Reading state information...
build-essential is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.
Чтобы проверить установку и узнать версию GCC, выполните:
g++ --version
Пример вывода:
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 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.
Компилятор GCC обычно уже добавлен в системный PATH, поэтому дополнительная настройка не требуется.
Создание нового исходного файла C++ с расширением .cpp
На этом этапе вы узнаете, как создать новый исходный файл C++ с расширением .cpp. В C++ исходные файлы используют расширение .cpp, чтобы указать, что они содержат код на C++. Мы будем использовать файловый менеджер и текстовый редактор WebIDE для создания нашего первого исходного файла C++.
Сначала перейдите в каталог ~/project в терминале:
cd ~/project
Теперь откройте файловый менеджер WebIDE. Вы увидите боковую панель со списком файлов и папок. Найдите значок, позволяющий создать новый файл — он может выглядеть как знак "+" или опция "New File".
Нажмите правой кнопкой мыши в файловом менеджере и выберите "New File". При появлении запроса назовите файл hello.cpp. Расширение .cpp имеет решающее значение, так как оно сообщает компилятору и инструментам разработки, что это исходный файл C++.
Пример создания файла в терминале (для справки):
touch hello.cpp
Нажмите на созданный файл hello.cpp, чтобы открыть его в текстовом редакторе WebIDE. Вы увидите пустой файл, готовый для вашего первого кода на C++.
Расширение .cpp важно, потому что:
- Оно идентифицирует файл как файл исходного кода C++
- Помогает инструментам разработки и компиляторам распознать тип файла
- Отличает файлы C++ от файлов других языков программирования, таких как
.c(C),.java(Java) или.py(Python)
Теперь ваш файл hello.cpp готов к написанию кода на C++. На следующих этапах вы узнаете, как написать базовую программу на C++ в этом файле.
Написание базовой структуры программы с функцией int main()
На этом этапе вы узнаете об основной структуре программы на C++, сосредоточившись на функции main(). Каждая программа на C++ должна иметь функцию main(), которая является точкой входа, с которой начинается выполнение программы.
Откройте файл hello.cpp в WebIDE, который вы создали на предыдущем этапе. Теперь мы добавим базовую структуру программы:
#include <iostream>
int main() {
// Your code will go here
return 0;
}
Примечание: Рекомендуется набирать код вручную для лучшего усвоения материала. Будьте внимательны с фигурными скобками
{ }и точками с запятой;, так как они важны для синтаксиса C++. Не забывайте про пробелы и отступы, иначе проверка этапа может не пройти.
Давайте разберем эту базовую структуру:
#include <iostream>: Это директива препроцессора, которая включает библиотеку потоков ввода/вывода. Она позволяет нам использовать операции ввода и вывода, такие как печать на экран.int main(): Это объявление главной функцииintуказывает, что функция будет возвращать целое числоmain()— стандартная точка входа для программ на C++- Пустые круглые скобки
()указывают на то, что функция не принимает аргументов
- Фигурные скобки
{ }: Определяют тело функции, где будет написан ваш код return 0;: Указывает на успешное завершение программы- Возврат 0 сообщает операционной системе, что программа выполнилась без ошибок
- Это стандартная практика в программах на C++
WebIDE будет автоматически сохранять ваши изменения по мере ввода. Или вы можете сохранить файл вручную, используя опцию сохранения в редакторе.
Если вы хотите узнать больше о WebIDE, ознакомьтесь с руководством по WebIDE.
Несколько важных моментов, которые следует запомнить:
- Каждая программа на C++ должна иметь функцию
main() - Функция
main()— это место, где начинается выполнение программы - Оператор
return 0;обычно используется для обозначения успешного выполнения программы
Вы можете представить функцию main() как отправную точку путешествия. Точно так же, как поездка начинается в определенном месте, программа на C++ начинает свое выполнение с функции main().
Использование cout для вывода сообщения Hello World
На этом этапе вы узнаете, как использовать cout для вывода сообщения "Hello, World!" на экран. cout является частью стандартной библиотеки ввода/вывода C++ и используется для отображения вывода.
Откройте файл hello.cpp в WebIDE и измените функцию main(), добавив следующий код:
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
Давайте разберем новую строку кода:
std::cout: Это объект стандартного потока выводаstd::указывает, что мы используем стандартное пространство именcoutрасшифровывается как "console output" (консольный вывод)
<<: Оператор вставки в поток, используемый для отправки данных в поток вывода"Hello, World!": Текстовое сообщение, которое мы хотим вывестиstd::endl: Добавляет новую строку и очищает буфер вывода- Гарантирует, что сообщение будет немедленно отображено
- Перемещает курсор на следующую строку
При сохранении файла убедитесь, что включили всю структуру, показанную выше.
Несколько ключевых моментов о cout:
- Он используется для вывода текста, чисел и других типов данных на экран
- Оператор
<<можно объединять в цепочки для вывода нескольких элементов std::endlиспользуется для создания новой строки после вывода
Вы можете представить cout как мегафон, который объявляет ваше сообщение миру. Оператор << помогает вам загрузить сообщение, а std::endl гарантирует, что все услышат его четко.
Компиляция программы с помощью команды g++ hello.cpp -o hello
На этом этапе вы узнаете, как скомпилировать вашу программу на C++ с помощью компилятора g++. Компиляция — это процесс преобразования вашего читаемого человеком исходного кода C++ в исполняемую программу, которую может запустить компьютер.
Откройте терминал в WebIDE. Убедитесь, что вы находитесь в каталоге ~/project:
cd ~/project
Теперь давайте скомпилируем файл hello.cpp, который вы создали ранее, используя команду g++:
g++ hello.cpp -o hello
Давайте разберем эту команду:
g++: Компилятор GNU C++hello.cpp: Исходный файл, который вы хотите скомпилировать-o hello: Указывает имя выходного исполняемого файла-o— это опция, позволяющая назвать выходной файлhello— это имя исполняемого файла, который вы создадите
Пример вывода:
## Отсутствие вывода означает успешную компиляцию
Если компиляция прошла успешно, сообщения об ошибках не будут отображаться. Компилятор создает исполняемый файл с именем hello в том же каталоге.

Чтобы проверить компиляцию, вы можете просмотреть файлы в каталоге:
ls
Пример вывода:
hello hello.cpp
Теперь вы должны увидеть два файла:
hello.cpp: Ваш файл с исходным кодомhello: Скомпилированная исполняемая программа
Несколько важных примечаний по компиляции:
- Если в вашем коде есть ошибки,
g++отобразит сообщения об ошибках - Всегда проверяйте и исправляйте любые ошибки компиляции перед попыткой запуска программы
- Опция
-oнеобязательна, но хорошей практикой является присвоение исполняемому файлу осмысленного имени
Вы можете представить компиляцию как перевод книги с одного языка на другой. Компилятор g++ переводит ваш читаемый человеком код C++ на язык, который компьютер может понять и выполнить.
Запуск программы с помощью команды ./hello
На этом этапе вы узнаете, как запустить исполняемую программу, которую вы только что скомпилировали. После компиляции программы на C++ вы можете выполнить ее, используя команду ./ с последующим именем исполняемого файла.
Убедитесь, что вы находитесь в каталоге ~/project:
cd ~/project
Чтобы запустить программу, которую вы скомпилировали на предыдущем этапе, используйте следующую команду:
./hello
Символы ./ говорят системе искать исполняемый файл в текущем каталоге, а hello — это имя созданного вами исполняемого файла.
Пример вывода:
Hello, World!
Давайте разберем, что происходит:
./означает "в текущем каталоге"- Программа считывает инструкции в вашем скомпилированном исполняемом файле
- Она выводит сообщение, которое вы определили в исходном коде C++
- После вывода программа завершается
Несколько важных примечаний по выполнению:
- Всегда используйте
./перед именем исполняемого файла при запуске программы в текущем каталоге - Программа должна иметь права на выполнение (которые
g++предоставляет автоматически) - Если вы не видите вывода, дважды проверьте, правильно ли вы скомпилировали программу
Вы можете представить выполнение программы как запуск автомобиля. Компиляция — это подготовка автомобиля, а запуск программы — это поворот ключа и начало движения.
Если вы хотите запустить программу несколько раз, вы можете просто повторить команду ./hello.
Добавление однострочных и многострочных комментариев
На этом этапе вы узнаете, как добавлять комментарии в ваш код на C++. Комментарии — это заметки в вашем коде, которые объясняют, что делает код. Они игнорируются компилятором и помогают сделать ваш код более читабельным.
Откройте файл hello.cpp в WebIDE и измените его, включив различные типы комментариев:
#include <iostream>
// This is a single-line comment
// It explains what the program does
/*
This is a multi-line comment
You can write multiple lines of explanation
Without worrying about adding // to each line
*/
int main() {
// Print a greeting message
std::cout << "Hello, World!" << std::endl; // Inline comment explaining the output
/*
You can also use multi-line comments
in the middle of your code if needed
*/
return 0; // Return success status to the operating system
}
Давайте разберем типы комментариев:
Однострочные комментарии:
- Начинаются с
// - Распространяются до конца строки
- Отлично подходят для кратких пояснений
- Начинаются с
Многострочные комментарии:
- Начинаются с
/* - Заканчиваются на
*/ - Могут занимать несколько строк
- Полезны для более длинных пояснений
- Начинаются с
Встроенные (inline) комментарии:
- Добавляются в конце строки кода
- Объясняют конкретную строку кода
Скомпилируйте и запустите программу, чтобы убедиться, что она все еще работает:
g++ hello.cpp -o hello
./hello
Пример вывода:
Hello, World!
Несколько ключевых моментов о комментариях:
- Комментарии делают ваш код более понятным
- Они помогают другим программистам (и вам самим) понять назначение кода
- Компилятор полностью игнорирует комментарии
- Используйте комментарии, чтобы объяснить "почему" что-то делается, а не "что" делается
Вы можете представить комментарии как стикеры в книге. Они предоставляют дополнительный контекст и пояснения, не меняя сам текст.
Использование endl и \n для переноса строк
На этом этапе вы узнаете два способа создания переносов строк в выводе C++: std::endl и символ новой строки \n. Оба метода помогают форматировать вывод в несколько строк.
Откройте файл hello.cpp в WebIDE и измените его, чтобы продемонстрировать переносы строк:
#include <iostream>
int main() {
// Using std::endl for line breaks
std::cout << "Hello, World!" << std::endl;
std::cout << "Welcome to C++ Programming!" << std::endl;
// Using \n for line breaks
std::cout << "Using newline character:\n";
std::cout << "Line 1\n";
std::cout << "Line 2\n";
// Mixing both methods
std::cout << "Mixing methods: " << std::endl;
std::cout << "Line with endl\n";
std::cout << "Line with newline character" << std::endl;
return 0;
}
👆 Советы LabEx: Нажмите "Explain Code" в правом нижнем углу блока кода, чтобы пообщаться с Labby AI для разъяснения кода.
Давайте разберем методы переноса строк:
std::endl:- Добавляет новую строку
- Очищает буфер вывода (обеспечивает немедленную печать)
- Часть библиотеки
<iostream> - Используется с
std::cout
\n(Символ новой строки):- Простой способ создания новой строки
- Более легкий, чем
std::endl - Работает во многих контекстах программирования
- Не очищает буфер вывода
Скомпилируйте и запустите программу:
g++ hello.cpp -o hello
./hello
Пример вывода:
Hello, World!
Welcome to C++ Programming!
Using newline character:
Line 1
Line 2
Mixing methods:
Line with endl
Line with newline character
Ключевые моменты:
- И
std::endl, и\nсоздают новые строки std::endlболее комплексный, но немного медленнее\nбыстрее и легче- Вы можете комбинировать эти методы
Вы можете представить переносы строк как абзацы в книге. Они помогают организовать и структурировать ваш вывод.
Исправление распространенных синтаксических ошибок, таких как пропущенные точки с запятой
На этом этапе вы узнаете о распространенных синтаксических ошибках в C++, сосредоточившись на пропущенных точках с запятой. Точки с запятой имеют решающее значение в C++, так как они отмечают конец операторов.
Создайте новый файл с именем syntax_errors.cpp в WebIDE:
cd ~/project
touch syntax_errors.cpp
#include <iostream>
int main() {
// Common syntax error: Missing semicolon
std::cout << "This line has an error" // Missing semicolon here!
std::cout << "This line will not compile" << std::endl;
// Correct version with semicolons
std::cout << "This line is correct" << std::endl;
std::cout << "All statements end with a semicolon" << std::endl;
return 0; // Don't forget the semicolon here too!
}
Попробуйте скомпилировать программу:
g++ syntax_errors.cpp -o syntax_errors
Пример ошибки компиляции:
syntax_errors.cpp: In function ‘int main()’:
syntax_errors.cpp:5:42: error: expected ‘;’ before ‘std’
5 | std::cout << "This line has an error" // Missing semicolon here!
| ^
| ;
6 | std::cout << "This line will not compile" << std::endl;
| ~~~
Ключевые моменты о точках с запятой:
- Каждый оператор в C++ должен заканчиваться точкой с запятой
; - Точки с запятой сообщают компилятору, где заканчивается одна инструкция и начинается другая
- Пропущенные точки с запятой вызывают ошибки компиляции
- Распространенные места, где забывают точки с запятой:
- После операторов
cout - После операторов
return - В конце объявлений переменных
- После операторов
Давайте исправим ошибки:
- Добавьте пропущенные точки с запятой
- Убедитесь, что каждый оператор заканчивается на
;
Скомпилируйте исправленную версию:
g++ syntax_errors.cpp -o syntax_errors
./syntax_errors
Если все успешно, сообщения об ошибках не появятся.
Вы можете представить точки с запятой как точки в предложении. Они отмечают конец законченной мысли в вашем коде.
Резюме
В этой лабораторной работе вы научились устанавливать компилятор GCC (GNU Compiler Collection) для C++ и настраивать необходимые переменные окружения в Ubuntu 22.04. Вы создали новый исходный файл C++, написали базовую структуру программы с функцией int main() и использовали cout для вывода сообщения "Hello World". Затем вы скомпилировали программу с помощью команды g++ и выполнили ее. Кроме того, вы узнали, как добавлять однострочные и многострочные комментарии, использовать endl и \n для переноса строк, а также как исправлять распространенные синтаксические ошибки, такие как пропущенные точки с запятой.
После выполнения этих шагов у вас будет прочный фундамент для написания и запуска вашей первой программы на C++, а также понимание базовых инструментов и концепций, необходимых для разработки на C++ в Ubuntu 22.04.



