В этом лабораторном занятии вы научитесь писать свою первую программу на C++. Вы начнете с установки компилятора GCC (GNU Compiler Collection) и настройки необходимых переменных окружения в Ubuntu 22.04. Затем вы создадите новый исходный файл на C++, напишите базовую структуру программы и используете оператор cout для вывода сообщения "Hello World". Вы также научитесь компилировать и запускать программу, а также добавлять однострочные и многострочные комментарии, использовать endl и \n для разрыва строки и исправлять распространенные синтаксические ошибки, такие как отсутствие точек с запятой.
Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня продвинутый с процентом завершения 31.64%. Он получил 100% положительных отзывов от учащихся.
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"])
cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"])
cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"])
cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"])
cpp/BasicsGroup -.-> cpp/variables("Variables")
cpp/BasicsGroup -.-> cpp/strings("Strings")
cpp/ControlFlowGroup -.-> cpp/if_else("If...Else")
cpp/IOandFileHandlingGroup -.-> cpp/output("Output")
cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input")
cpp/IOandFileHandlingGroup -.-> cpp/files("Files")
cpp/SyntaxandStyleGroup -.-> cpp/comments("Comments")
cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting")
subgraph Lab Skills
cpp/variables -.-> lab-446069{{"Напишите свою первую программу на C++"}}
cpp/strings -.-> lab-446069{{"Напишите свою первую программу на C++"}}
cpp/if_else -.-> lab-446069{{"Напишите свою первую программу на C++"}}
cpp/output -.-> lab-446069{{"Напишите свою первую программу на C++"}}
cpp/user_input -.-> lab-446069{{"Напишите свою первую программу на C++"}}
cpp/files -.-> lab-446069{{"Напишите свою первую программу на C++"}}
cpp/comments -.-> lab-446069{{"Напишите свою первую программу на C++"}}
cpp/code_formatting -.-> lab-446069{{"Напишите свою первую программу на C++"}}
end
Установка компилятора 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 автоматически сохранит ваши изменения по мере ввода. Или вы можете вручную сохранить файл, используя опцию сохранения редактора.
Несколько важных моментов, которые стоит запомнить:
Каждая программа на C++ должна иметь функцию main()
Функция main() - это точка, с которой начинается выполнение программы
Оператор return 0; обычно используется для указания успешного выполнения программы
Вы можете представить функцию main() как начальную точку путешествия. Так же, как автомобильный маршрут начинается в определенном месте, программа на C++ начинает свое выполнение с функции main().
Использование cout для вывода сообщения "Hello, World!"
На этом этапе вы научитесь использовать cout для вывода сообщения "Hello, World!" на экран. cout является частью стандартной библиотеки ввода-вывода C++ и используется для отображения вывода.
Откройте файл hello.cpp в WebIDE и измените функцию main(), добавив следующий код:
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 - это имя исполняемого файла, который вы создадите
Пример вывода:
## No output means successful compilation
Если компиляция прошла успешно, не будет отображено никаких сообщений об ошибках. Компилятор создаст исполняемый файл с именем 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
}
Разберем типы комментариев:
Однострочные комментарии:
Начинаются с //
Продолжаются до конца строки
Отлично подходят для кратких объяснений
Многострочные комментарии:
Начинаются с /*
Заканчиваются на */
Можно использовать на нескольких строках
Полезны для более длинных объяснений
Встроенные комментарии:
Добавляются в конце строки кода
Объясняют конкретную строку кода
Скомпилируйте и запустите программу, чтобы убедиться, что она по-прежнему работает:
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 и уточнить код.
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++ должен заканчиваться точкой с запятой ;
Точки с запятой сообщают компилятору, где заканчивается один инструкция и начинается другая
Отсутствие точек с запятой вызывает ошибки компиляции
Частое место, где забывают ставить точки с запятой:
Если компиляция прошла успешно, не будет отображено никаких сообщений об ошибках.
Вы можете представить точки с запятой как точку в предложении. Они обозначают конец полной мысли в вашем коде.
Резюме
В этом практическом занятии вы научитесь устанавливать компилятор GCC (GNU Compiler Collection) для C++ и настраивать необходимые переменные окружения на Ubuntu 22.04. Вы создадите новый исходный файл на C++, напишите базовую структуру программы с функцией int main() и используете cout для вывода сообщения "Hello World". Затем вы скомпилируете программу с помощью команды g++ и запустите ее. Кроме того, вы научитесь добавлять однострочные и многострочные комментарии, использовать endl и \n для разрыва строк, а также исправлять распространенные синтаксические ошибки, такие как отсутствие точек с запятой.
После выполнения этих шагов у вас будет прочный фундамент для написания и запуска своей первой программы на C++, а также понимание базовых инструментов и концепций, необходимых для разработки на C++ на Ubuntu 22.04.