itmo.ru aco.ifmo.ru c-visionlab.ru
вернуться в оглавление предыдущая глава предыдущий параграф следующий параграф следующая глава


1. Основы языка С++

1.1. Самая простая программа на С++

1.1.1 Пример программы, выводящей текст на экран (пример 1)

Самая простая программа на С++, которая просто выводит текст на экран выглядит следующим образом:

////////////////////////////////////////////////////////////////////////////
// Программирование на языке высокого уровня. Основы языка С++
// Пример 1. Программа выводит текст на экран
// 
// http://aco.ifmo.ru/el_books/programming
// Университет ИТМО
/////////////////////////////////////////////////////////////////////////////
// подключение библиотеки ввода-вывода
#include <iostream>
// подключение стандартного пространства имен для использования библиотек
using namespace std;

/////////////////////////////////////////////////////////////////////////////
// исполнение программы всегда начинается с функции main
void main()
{
   // вывод текста на экран
   cout<<"Welcome to C++!"<<endl;
   cout<<"Welcome"<<endl<<"to"<<endl<<"C++!"<<endl;
}
/////////////////////////////////////////////////////////////////////////////

Разберем все строки программы.

1.1.2 Директивы препроцессору (подключение заголовочных файлов)

#include <iostream>

является директивой препроцессору. Строки, начинающиеся с #, обрабатываются препроцессором до компиляции программы. #include дает указание препроцессору включить в программу содержимое заголовочного файла, в данном случае содержащего описание библиотеки ввода/вывода <iostream>. Этот файл должен быть включен во все программы, которые выводят данные на экран или читают с клавиатуры. Для использования других библиотек необходимо подключать другие заголовочные файлы.

Подробное описание других функций стандартной библиотеки приводится в главе 2.

using namespace std;

Все стандартные библиотеки заключены в пространство имен, для использования этих библиотек необходимо получить доступ в это пространство при помощи записи using namespace std. Если не подключать пространство имен, каждой функции стандартной библиотеки придется добавлять запись std::, тогда строка, выводящая текст на экран может выглядеть так:

std::cout<<"Welcome to C++!"<<std::endl;

1.1.3 Комментарии

Комментарии в С++ начинается с символов //, показывающих, что остальная часть строки это комментарий. Комментарии пишут, чтобы документировать программу, чтобы было легче читать и понимать ее. Комментарии не вызывают при выполнении программы никаких действий компьютера, они игнорируются компилятором C++.

Комментарий, который начинается с //, называется однострочным комментарием, потому что комментарий заканчивается в конце текущей строки.

Если необходимо закомментировать несколько строк, можно использовать многострочный комментарий, который начинается с символов /* и заканчивается символами */.

/* многострочный
комментарий */

1.1.4 Функции

Функция main() имеется в любой программе на C++. Фигурные скобки после main показывают, что это блок программы, называемый функцией. Программы на C++ состоят обычно из одной или большего числа функций и классов, но одна из функций обязательно должна быть функцией main, именно с нее начинается выполнение программы, даже если она не первая в программе.

Тело каждой функции должно начинаться с левой фигурной скобки

{

Заканчивать тело функции должна соответствующая правая фигурная скобка

}

Хороший стиль программирования – делать отступ на один символ табуляции после каждой открывающей фигурной скобки. Это выделяет функциональную структуру программы и облегчает ее чтение.

Подробно работа с функциями рассматривается в разделе 1.9.

Ключевое слово void слева от main сообщает, что main не возвращает никакого значения. Ключевое слово является словом в коде программы, имеющим в C++ специальное назначение.

Полный список ключевых слов языка C++ приведен в приложении 3.

1.1.5 Ввод и вывод на экран

cout<<"Welcome to C++!"<<endl;

Эта строка называет оператором. Всякий оператор C++ должен заканчиваться точкой с запятой. Директивы препроцессора (подобные #include) не оканчиваются точкой с запятой.

Вывод и ввод в C++ осуществляется посредством символьных потоков. Когда выполняется оператор cout, он посылает поток строку Welcome to C++! в стандартный выходной поток, который выводит данные на экран.

Операция << называется операцией передачи в поток. Когда программа выполняется, значение справа от операции (правый операнд), помещается в выходной поток. Заметьте, что знаки операции направлены в соответствии с направлением движения данных. Символы правого операнда обычно выводятся точно так, как они записаны в строке внутри кавычек. Манипулятор потока endl означает переход курсора на новую строку.

Если бы мы захотели выводить каждое слово на новой строке, это можно было бы сделать следующим образом:

cout<<"Welcome"<<endl<<"to"<<endl<<"C++!"<<endl;

Подробное описание стандартной библиотеки ввода-вывода приводится в разделе 2.2.