Еще один тип данных
Некоторые дополнительные возможности вывода
До сих пор мы использовали лишь простейшие виды предложений cout. Однако coutпозволяет формировать значительно более сложные предложения вывода. Вот два полезных усовершенствования. Во-первых, вы можете с помощью одного предложения cout выводить более одной порции информации. Например, в программе вычисления площади для вывода на экран используются две строки:
cout << "Площадь равна ";
cout « length * width; // вывод площади
Эти два предложения можно написать более компактно:
cout << "Площадь равна " << length * width ;
В такой редакции в одном предложении cout используются два оператора вывода. В данном случае на экран выводится строка "Площадь равна ", а за ней значение площади. Вообще же вы можете в одно предложение вывода включать сколь угодно длинные цепочки операций вывода. Просто используйте отдельный знак << для каждого выводимого элемента.
Вторая возможность, предоставляемая предложениями cout, заключается в выводе нескольких строк данных. До сих пор нам не нужно было переходить на следующую строку экрана (другими словами, выполнять последовательность возврат каретки - перевод строки). Однако необходимость в такой операции возникнет очень скоро. В С++ последовательность возврат каретки — перевод строки генерируется с помощью символа новой строки. Для того, чтобы включить в строку этот символ, используйте комбинацию знаков \n (обратная косая черта, за которой стоит строчная буква n). Чтобы посмотреть, как действует комбинация \n, рассмотрите следующую программу:
/*
Эта программа демонстрирует действие кода \n, который осуществляет переход в начало следующей строки.-
*/
#include <iostream>
using namespace std;
int main()
{
cout << "oдин\n";
cout << " два \n;
соut << "три";
cout << "четыре";
return 0;
}
Эта программы выведет на экран следующее:
один
два
тричетыре
Символ новой строки может быть помещен в любое место выводимой строки, не обязательно в ее конце.
Для тех чисел, которые имеют дробную часть, в С++ определено два типа данных с плавающей точкой: float и double, представляющие значения с одинарной и двойной точностью соответственно. Из этих двух типов double используется, пожалуй, чаще.
Чтобы объявить переменную типа double, используйте предложение вроде следующего:
double result;
Здесь result — это имя переменной, которая имеет тип double. Поскольку переменная resultпринадлежит типу с плавающей точкой, она может содержать такие значения, как 88.56, 0.034 или -107.03.
Чтобы лучше разобраться в том, чем double отличается от int, рассмотрите следующую программу:
/*
Эта программа иллюстрирует различия
типов int и double.
*/
#include <iostream>
using namespace std;
int main ()
{
int ivar; // объявление переменной типа int
double dvar; // объявление переменной с плавающей точкой
ivar =100; // присвоить ivar значение 100
dvar =100.0; // присвоить dvar значение 100.0
cout << "Исходное значение ivar: " << ivar << "\n";
cout « " Исходное значение dvar: " << dvar << "\n";
cout << "\n"; // вывести пустую строку
// теперь разделим обе переменные на 3
ivar = ivar / 3 ;
dvar = dvar / 3.0;
cout << "ivar после деления: " << ivar << "\n";
cout << "dvar после деления: " << dvar << "\n";
return 0;
}
Вывод этой программы показан ниже:
Исходное значение ivar: 10 0
Исходное значение dvar: 100
ivar после деления: 33
dvar после деления: 33.3333
Когда на 3 делится ivar, выполняется целочисленное деление и результат оказывается равным 33 - дробная часть результата теряется Однако, когда на 3 делится dvar, дробная часть сохраняется.
В программе использован еще один новый прием. Обратите внимание на эту строку:
сout << "\n" ; // вывести пустую строку
Это предложение выводит на экран пустую строку. Используйте его, если вы хотите разделить части вывода пустыми строками.