Занятие 2

Первая программа. Структура программы на C++

По сложившейся традиции, первая программа на С++ выводит на экран сообщение «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).

Видеоурок "Первая программа. Структура программы на C++. Компиляция и запуск программы на C++":

2. Первая программа_v4.mp4

Использование оператора cout для вывода значений выражений

Пример. Найдём значение выражения

Если записать выражение в кавычках, то будет выведено само выражение (как текст). При отсутствии кавычек на экран будет выведено значение данного выражения. Оператор 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. Текст программы

Тест

Первая программа. Структура программы на C++

Практические задания

1. Напишите программу, которая выводит ваше имя.

2. Напишите программу, которая выводит имена ваших друзей (каждое имя – в новой строке).

3. Напишите программу, которая выводит на экран инструкцию (алгоритм) по заварке чая. Каждую команду выводите в новой строке.

4. Напишите программу, которая выводит значения выражений: