Hello, world!

Историческая справка

С — это язык программирования, созданный в 70-х годах XX века для разработки системы UNIX и программного обеспечения для нее. В 80-х годах XX века на основе языка C был создан язык C++, являющийся объектно-ориентированным расширением языка C++. В настоящее время языки C и C++ являются наиболее распространенными языками для профессиональной разработки программного обеспечения для всех операционных систем. Синтаксис языка C и C++ не зависит от используемой системы и компилятора, однако набор доступных библиотек (например, для разработки графических приложений) является системно-зависимым и не стандартизирован.

В данных листках речь будет идти о языке C++. Многое из того, о чем пойдет ниже речь, верно и для языка C, но мы на этом останавливаться не будем.

Программа, которая используется для перевода программы с языка программирования в машинный код, пригодный для исполнения компьютером, называется компилятором. Мы будем использовать компилятор gcc, вариант компилятора gcc для языка C++ называется g++, а реализация компилятора gcc для системы Windows называется MinGW.

При этом все рассматриваемые примеры должны правильно компилироваться любым компилятором, соответствующим стандарту языка C++. Например, таким компилятором является MS Visual C++ последних версий

Для облегчения процесса написания, запуска и отладки программы используются среды разработки. Среда разработки, которой будем пользоваться мы, называется Code::Blocks.

1.2 Hello, world

Язык C++ является компилируемым языком. Для того, чтобы написать программу, вам необходимо в любом текстовом редакторе набрать следующий текст и сохранить его в файле, например, hello.cpp.

#include <iostream>

using namespace std;

int main()
{
    cout  << "Hello, world!" << endl;
    return 0;
}

Будьте внимательны: язык C++ является чувствительным к регистру букв, то есть заменить main на Main или MAIN нельзя. Весь текст (за исключением текстовой строки "Hello, world!") нужно набирать в нижнем регистре, то есть строчными буквами.

После этого вам нужно откомпилировать этот файл (создать из этого файла исполняемый машинный код) при помощи следующей команды (в системе Linux):

$ g++ hello.cpp

В среде разработки (например, Code::Blocks) для компиляции программы существует пункт меню, вызывающий компилятор. Если ваша программа написана правильно, то компилятор не выдаст никаких сообщений об ошибках и создаст исполняемый файл (a.out в системе Linux или exe-файл в системе Windows). Этот файл содержит исполняемый двоичный машинный код.

Рассмотрим подробней текст этой программы. В первой строчке мы подключаем к нашей программе файл с именем iostream, в котором содержится описание стандартной библиотеки ввода-вывода языка C++. Этот файл хранится в каталоге, имеющим имя вроде /usr/include/c++/4.4.1/. В этом файле находится, в частности, определение объектов cout и endl, который мы будем использовать позднее. Вторая строка указывает компилятору на то, что мы будем использовать все функции, входящие в пространство имен std, то есть все функции, относящиеся к стандартной библиотеке C++. Третья строка содержит объявление функции main, не принимающей никаких аргументов и возвращающей значение int. Эта функция должна быть в каждой программе, именно эта функция получает управление при запуске программы. Четвертая строка содержит открывающуюся фигурную скобку, что означает начало функции main. В пятой строке мы при помощи оператора << помещаем в объект cout строку "Hello, world!", а потом специальный объект endl, означающий символ перевода строки. Это приводит к печати на экране этой строки и последующему переводу каретки. В шестой строке мы даем инструкцию return, завершающую выполнение функции main и возвращающую нулевое значение. Седьмая строка содержит фигурную скобку, синтаксически закрывающую функцию main.

Для начала можно считать, что все строки, кроме пятой, являются некоторым набором “заклинаний”, без которых программа не будет работать и которые обязательно нужно указать, а вот пятую строку можно заменить на другие строки с различными инструкциями.

Упражнения

A: Hello, world!

Напишите программу, которая выводит одну строку "Hello, world!" и сдайте ее в тестирующую систему.