Во-вторых, при выполнении следующей инструкции переменной присваивается конкретное значение:


х = 1023; // Здесь переменной х присваивается число 1023.

В C++ оператор присваивания представляется одиночным знаком равенства (=). Его действие заключается в копировании значения, расположенного справа от оператора, в переменную, указанную слева от него. После выполнения этой инструкции присваивания переменная x будет содержать число 1023.

Результаты, сгенерированные этой программой, отображаются на экране с помощью двух инструкций cout. Обратите внимание на использование следующей инструкции для вывода значения переменной x:


cout << х; // Отображение числа 1023.

В общем случае для отображения значения переменной достаточно в инструкции cout поместить ее имя справа от оператора "<<". Поскольку в данном конкретном случае переменная x содержит число 1023, то оно и будет отображено на экране. Прежде чем переходить к следующему разделу, попробуйте присвоить переменной х другие значения (в исходном коде) и посмотрите на результаты выполнения этой программы после внесения изменений.

Более реальный пример

Первые две программы, кроме демонстрации ряда важных средств языка C++, не делали ничего полезного. В следующей программе решается практическая задача преобразования галлонов в литры. Здесь также показан один из способов ввода данных в программу.


// Эта программа преобразует галлоны в литры.


#include <iostream>


using namespace std;




int main()


{


 int gallons, liters;


 cout << "Введите количество галлонов:";


  cin >> gallons; // Ввод данных от пользователя.


 liters = gallons * 4; // Преобразование в литры.


 cout << "Литров: " << liters;




 return 0;


}

Эта программа сначала отображает на экране сообщение, предлагающее пользователю ввести число для преобразования галлонов в литры, а затем ожидает до тех пор, пока оно не будет введено. (Помните, вы должны ввести целое число галлонов, т.е. число, не содержащее дробной части.) Затем программа отобразит значение, приблизительно равное эквивалентному объему, выраженному в литрах. В действительности для получения точного результата необходимо использовать коэффициент 3,7854 (т.е. в одном галлоне помещается 3,7854 литра), но поскольку в этом примере мы работаем с целочисленными переменными, то коэффициент преобразования округлен до 4.

Обратите внимание на то, что две переменные gallons и liters объявляются после ключевого слова int в форме списка, элементы которого разделяются запятыми. В общем случае можно объявить любое количество переменных одного типа, разделив их запятыми. (В качестве альтернативного варианта можно использовать несколько декларативных int-инструкций — результат будет тот же.)

Для приема значения, вводимого пользователем, используется следующая инструкция:


cin >> gallons; // Ввод данных от пользователя.

Здесь применяется еще один встроенный идентификатор — cin — предоставляемый С++-компилятором. Он составлен из частей слов console input и в большинстве случаев означает ввод данных с клавиатуры. В качестве оператора ввода используется символ ">>". При выполнении этой инструкции значение, введенное пользователем (которое в данном случае должно быть целочисленным), помещается в переменную, указанную с правой стороны от оператора ">>" (в данном случае это переменная gallons).

В этой программе заслуживает внимания и эта инструкция:


cout << "Литров: " << liters;

Здесь интересно то, что в одной инструкции использовано сразу два оператора вывода "<<". При ее выполнении сначала будет выведена строка "Литров: ", а за ней — значение переменной liters. В общем случае в одной инструкции Можно соединять любое количество операторов вывода, предварив каждый элемент вывода "своим" оператором

Новый тип данных

Несмотря на то что для приблизительных подсчетов вполне сгодится рассмотренная выше программа преобразования галлонов в литры, для получения более точных результатов ее необходимо переделать. Как отмечено выше, с помощью целочисленных типов данных невозможно представить значения с дробной частью. Для них нужно использовать один из типов данных с плавающей точкой, например double (двойной точности). Данные этого типа обычно находятся в диапазоне 1,7Е-308--1,7Е+308. Операции, вы-полняемые над числами с плавающей точкой, сохраняют любую дробную часть результата и, следовательно, обеспечивают более точное преобразование.

В следующей версии программы преобразования используются значения с плавающей точкой.


/* Эта программа преобразует галлоны в литры с помощью чисел с плавающей точкой.


*/


#include <iostream>


using namespace std;




int main()


{


 double gallons, liters;


 cout << "Введите количество галлонов: ";


  cin >> gallons; // Ввод данных от пользователя.


 liters = gallons * 3.7854; // Преобразование в литры.


 cout << "Литров: " << liters;




 return 0;


}

Для получения этого варианта в предыдущую программу было внесено два изменения. Во-первых, переменные gallons и liters объявлены на этот раз с использованием типа double. Во-вторых, коэффициент преобразования задан в виде числа 3.7854, что позволяет получить более точные результаты. Если С++-компилятор встречает число, содержащее десятичную точку, он автоматически воспринимает его как константу с плавающей точкой. Обратите также внимание на то, что инструкции cout и cin остались такими же, как в предыдущем варианте программы, в которой использовались переменные типа int. Это очень важный момент: С++-система ввода-вывода автоматически настраивается на тип данных, указанный в программе.