По сложившейся традиции, первая программа на С++ выводит на экран сообщение «Hello world!». Мы немного усложним задачу и рассмотрим вывод на экран сразу двух сообщений: «Hello, world!» и «Привет, мир!». Такая постановка задачи обращает внимание учащегося сразу на несколько ключевых моментов языка программирования, главным из которых является базовая структура программы.
Откройте меню File → New → Empty file. Выполните сохранение File → Save file as…, в открывшемся окне выберите папку для сохранения файла и введите имя файла, например, «Hello.cpp». Наберите текст программы (Рисунок 2.1).
Рисунок 2.1. Текст программы «Hello.cpp»:
Эту программу C++ можно разделить на две части: директивы препроцессора, которые начинаются с символа #, и основную часть программы, которая начинается с int main().
Директива #include используется для подключения других файлов в код. Строка #include <iostream> будет заменена содержимым файла «iostream.h», который находится в стандартной библиотеке языка и отвечает за ввод и вывод данных на экран.
Содержимое второй строки – using namespace std; указывает на то, что мы используем по умолчанию пространство имен с названием «std». В том числе эта строка позволяет программе использовать операторы, такие как cout. Точка с запятой является частью синтаксиса C++. Она сообщает компилятору, что это конец команды. Точка с запятой используется для завершения большинства команд в C++.
Главная функция main()
После директивы (директив) препроцессора следует тело программы, расположенное в функции main(). Функции в языке C++ – это элементы, позволяющие разделить содержимое вашего приложения на функциональные блоки, которые могут быть вызваны по вашему выбору. При вызове функция обычно возвращает значение вызывающей функции.
Как компьютер узнаёт, с чего начинать выполнение программы? Он ищет функцию с именем main (главная) и начинает выполнять инструкции, содержащиеся в ней. Исполнение программ C++ всегда начинается здесь. По стандартному соглашению, перед функцией main() указывается тип int (от integer – целое число). Тип int в данном случае – это тип возвращаемого значения функции main (). Если в процессе выполнения программы произойдет какой-либо сбой, то будет сгенерирован код ошибки, отличный от нуля. Если же работа программы завершилась без сбоев, то код ошибки будет равен нулю. Команда return 0; необходима для того, чтобы передать операционной системе сообщение об удачном завершении программы.
Фигурные скобки, { и }, сигнализируют о начале и конце тела функции. Фигурные скобки используются и в других блоках кода, но всегда обозначают начало и конец блока.
Тело функции main
Функция setlocale устанавливает языковый стандарт. При выполнении оператора setlocale(LC_ALL, "Russian"); включается поддержка русского
языка при выводе на экран сообщений.
Рассмотрим строку программы cout << "Hello, World!" << endl;.
cout (“console-out” (вывод на консоль), произносится как си-аут) является оператором, фактически выводящем на экран строку Hello, World!. cout – это поток, определенный в стандартном пространстве имен. Мы помещаем текст строки Hello, World! в данный поток, используя оператор помещения в выходной поток <<. Текст заключается в двойные кавычки. Оператор endl используется для завершения строки. После вывода символов Hello, World! курсор будет установлен на начало новой строки.
По аналогии, следующая строка программы cout << "Привет, мир!" << endl; решает задачу вывода сообщения на русском языке Привет, мир!.
Комментарии в коде C++
Комментарии игнорируются компилятором и обычно используются программистами для объяснений в коде [9]. Символ // означает, что следующая далее строка – комментарий. Например:
// Это комментарий
Часто короткие комментарии пишут справа в строке кода:
cout << “Привет, мир!”; // Вывод “Привет, мир!”
Текст, содержащийся между символами /* и */, также является комментарием, даже если он занимает несколько строк:
/* Это комментарий,
занимающий две строки */
Компиляция и запуск программы на С++
Написание программы C++ является первым этапом создания исполняемого файла, который может быть запущен на вашей операционной системе. Основные этапы создания приложений C++ приведены ниже.
1. Написать код на C++, используя текстовый редактор.
2. Откомпилировать код, используя компилятор C++, который преобразует его в версию машинного языка и запишет в объектный файл (object file).
3. Скомпоновать результат работы компилятора, используя компоновщик, и получить исполняемый файл (.ехе в Windows, например).
Мы используем интегрированную среду разработки Code::Blocks, объединяющую этапы написания программы, компиляции и компоновки в пределах единого пользовательского интерфейса, предоставляющего также средства отладки, облегчающие обнаружение ошибок и устранение проблем.
Для компиляции, компоновки и запуска программы нужно нажать кнопку Build and run (построение и запуск). Если компилятор не обнаружит ошибки (0 error(s)), появится окно с результатами работы программы (Рисунок 2.2). Если же в программе обнаружены ошибки, необходимо их исправить и вновь нажать кнопку Build and run.
Рисунок 2.2. Пример запуска программы
Как вариант, можно вначале создать исполняемый файл, нажав на кнопку Build , а затем выполнить его запуск, нажав на кнопку Run.
Также, для выполнения перечисленных команд, можно воспользоваться меню Build. В этом же меню приведены сочетания клавиш для выполнения команд (Рисунок 2.3).
Рисунок 2.3. Меню Build
Онлайн-компилятор
В окне ниже можно проверить работу программы, используя онлайн-компилятор (вместо Code::Blocks).
Пример. Найдём значение выражения
Если записать выражение в кавычках, то будет выведено само выражение (как текст). При отсутствии кавычек на экран будет выведено значение данного выражения. Оператор cout можно записать в таком виде:
cout << “(5 + 3 * 4) / 2 = “ << (5 + 3 * 4) / 2.0 << endl;
Деление целых чисел в С++ дает в результате целое число. Дробная часть результата, если она есть, отбрасывается. Поэтому, мы делим не на 2, а на 2.0 – указав компилятору, что результат должен быть вещественным числом. Итак, если в данном выражении делить на 2, то мы получим в результате 8, а если делить на 2.0, то получим 8.5 (Рисунок 2.4).
Рисунок 2.4. Текст программы
1. Напишите программу, которая выводит ваше имя.
2. Напишите программу, которая выводит имена ваших друзей (каждое имя – в новой строке).
3. Напишите программу, которая выводит на экран инструкцию (алгоритм) по заварке чая. Каждую команду выводите в новой строке.
4. Напишите программу, которая выводит значения выражений: