Изучение языка программирования С++. Описание основных алгоритмов и синтаксиса языка C++, страница 6

Рисунок 2 - График динамики популярности языков по версии  PYPL

Анализируя эти данные, можно сделать следующие выводы:

•популярность языка C# находится в противофазе к популярности языка C;

•рост C# коррелирует с групповым падением C++ и VBasic и, скорее всего, идет за счет последних;

•рост Python коррелирует с падением Perl и, скорее всего, идет за счет последнего;

•Ruby по-прежнему сохраняет статус эзотерического языка;

• Python и Objective-C являются стабильно растущими;

• Perl и VBasic являются стабильно теряющими свою популярность;

•языки Java и Javascript стабильно популярны в течение долгого времени;

• Java и PHP являются явными лидерами рынка;

• в 2015 году Python станет популярней своего прямого рыночного конкурента PHP (на новых/текущих проектах).

2 Описание основных алгоритмов и синтаксиса языка C++

Си++ (англ. C++) — компилируемый язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную.

В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения.

При создании Си++ стремились сохранить совместимость с языком Си. Большинство программ на Си будут исправно работать и с компилятором Си++. Си++ имеет синтаксис, основанный на синтаксисе Си.

2.1 Операции базового ввода/вывода

Специальных операторов для ввода или вывода данных в языке Си++ нет. Основные операции ввода-вывода реализованы с помощью набора классов, входящих в компилятор.

Библиотека классов обеспечивает реализацию эффективного ввода-вывода всех встроенных типов, а так же  позволяет при необходимости дополнять её и модифицировать.

2.1.1 Потоки

Поток – это механизм для ввода-вывода в Си++, информация вводится и выводится в виде потока байтов – символ за символом.

Класс istream является потоком ввода, класс ostream – потоком вывода. Эти классы находятся в файле заголовков iostream.h. Библиотека потоков ввода-вывода включает три важных объекта: cout, cin и cerr. Сout – это стандартный вывод, cin – стандартный ввод, cerr – стандартным поток сообщений об ошибке. Сout и cerr относятся к классу ostream и обеспечивают вывод на терминал, cin обеспечивает ввод с терминала и относится к типу istream. В Unix  cout и cerr применяют разные дескрипторы для вывода.

Для ввода и вывода служат соответственно операции >> и <<. Выражение

cout << "Вводим число: " << 34;

выведет на терминал строку "Вводим число", а за тем число 34.

Выражение

int x;

cin >> x;

будет означать ввод с терминала целого числа в переменную x.

2.1.2 Операции << и >> для потоков

Операции >> и << определены для всех встроенных типов языка Си++ и для строк (тип char* ) в классах iostream. Если мы хотим использовать такую же запись для ввода и вывода других классов, то эти операции необходимо определить.

Операция << определена как отдельная функция, она возвращает в качестве результата ссылку на поток вывода. Если требуется соединить несколько операций вывода в одно выражение, то следует использовать эту операцию.

Аналогично реализуется и операция ввода, она определена для всех встроенных типов языка Си++ и указателей на строку символов.

2.1.3 Манипуляторы и форматирование ввода-вывода

Для вывода строки или числа в определенном формате предназначены манипуляторы.

Манипуляторы – это объекты особых типов, управляющие обработкой аргументов при помощи ostream или istream. Некоторые манипуляторы могут также выводить или вводить специальные символы.

С помощью манипуляторов можно задавать формат вывода чисел:

endl - переходить на новую строку при выводе;

ends - вывести нулевой байт ( является признаком конца строки символов);

flush - немедленно вывести и опустошить все промежуточные буферы;

dec  -выводит числа в десятичной системе (действует по умолчанию);

oct - выводит числа в восьмеричной системе;

hex - выводит числа в шестнадцатиричной системе счисления;

setw (int n) - установливает ширину поля вывода в n целых символов;