Все программы на C++, созданные вами в уроках 1 и 2, использовали выходной поток cout для вывода сообщений на экран. В этом уроке вы будете использовать cout для вывода символов, целых чисел, например 1001, и чисел с плавающей точкой, например 0.12345. К концу данного урока вы освоите следующие основные концепции:
- Для вывода символов и чисел на экран вы можете использовать выходной поток cout.
- В C++ можно использовать с cout специальные символы для вывода табуляции или новой строки и даже для воспроизведения звука на вашем компьютере.
- В C++ можно легко отображать числа в десятичном, восьмеричном (по основанию 8) или шестнадцатеричном (по основанию 16) формате.
- Используя в командной строке операционной системы операторы переназначения, вы можете перенаправить выходные сообщения своей программы, посылаемые в cout, с экрана в файл или на принтер.
- Используя выходной поток cerr, ваши программы могут посылать сообщения на стандартное устройство ошибок, избавляя пользователей от необходимости переназначения сообщений.
- Вы можете форматировать вывод вашей программы, используя модификатор setw внутри выходного потока.
Почти все создаваемые вами программы на C++ используют cout для вывода сообщений на экран. Из этого урока вы узнаете, как лучше использовать сом/.
ИСПОЛЬЗОВАНИЕ cout ДЛЯ ВЫВОДА ЧИСЕЛ
До сих пор созданные вами программы использовали сом/ для вывода символьных строк (букв и чисел, взятых в кавычки). Теперь вы узнаете, что сом/ можно также использовать для вывода чисел. Следующая программа 1001.СРР выводит число 1001 на ваш экран:
#include <iostream.h>
void main(void)
{
cout << 1001;
}
Откомпилируйте и запустите эту программу. На вашем экране будет отображено число 1001, как показано ниже:
С:> 1001 <ENTER>
1001
Далее отредактируйте программу и измените оператор cout, чтобы вывести число 2002, как показано ниже:
cout << 2002;
Кроме отображения целых чисел (чисел без десятичной точки), сом/также позволяет вашим программам отображать числа с плавающей точкой, например 1.2345. Следующая программа FLOATING.CPP использует сом/для вывода числа 0.12345 на экран:
#include <iostream.h>
void main(void)
{
cout << 0.12345;
}
Как и ранее, откомпилируйте и запустите эту программу. На вашем экране появится следующий вывод:
С:> FLOATING <ENTER>
0.12345
ВЫВОД НЕСКОЛЬКИХ ЗНАЧЕНИЙ ОДНОВРЕМЕННО
Как вы уже знаете, двойной знак "меньше" является операцией вставки (эта операция вставляет символы в выходной поток для отображения). С помощью cout вы можете использовать несколько операций вставки в пределах одного оператора. Например, следующая программа 1001ТОО.СРР использует эту операцию четыре раза для отображения числа 1001 на вашем экране:
#include <iostream.h>
void main(void)
(
cout << 1 << 0 << 0 << 1;
}
Когда вы откомпилируете и запустите эту программу, на вашем экране появится следующее:
С:> 1001TOO <ENTER>
1001
Каждый раз, когда в C++ встречается операция вставки, число или символы просто добавляются к тем, что находятся в настоящее время в выходном потоке. Следующая программа SHOW1001.CPP с помощью cout выводит символьную строку и число:
#include <iostream.h>
void main(void)
{
cout << "Мое любимое число равно " << 1001;
}
Обратите внимание, что пробел, следующий за словом равно (внутри кавычек), служит для отделения числа 1001 от этого слова. Без пробела число сливается со следующим словом (равно 1001). Подобным образом следующая программа 1001MID.CPP отображает число 1001 в середине символьной строки:
#include <iostream.h>
void main(void)
{
cout << "Число " << 1001 << " мне очень нравится";
}
Как и ранее, обратите внимание на расстановку пробелов до и после числа 1001.
Наконец, следующая программа MIXMATCH.CPP комбинирует строки, символы, целые числа и числа с плавающей точкой внутри одного и того же выходного потока:
#include <iostream.h>
void main(void)
{
cout << "B " << 20 << " лет мой оклад был " << 493.34 << endl;
}
Когда вы откомпилируете и запустите эту программу, на вашем экране появится следующий вывод:
С:> MIXMATCH <ENTER>
В 20 лет мой оклад был 493.34
ИСПОЛЬЗОВАНИЕ СПЕЦИАЛЬНЫХ СИМВОЛОВ ВЫВОДА
Все программы, созданные вами до сих пор, отображали свой вывод в виде одной строки. Однако большинство программ, которые вы создадите в дальнейшем, будут отображать несколько строк вывода. Например, предположим, что вы пишете программу, которая будет выводить адреса на экран. Вероятно, вы захотите, чтобы адреса появлялись в виде нескольких строк.
Если необходимо переместить курсор в начало следующей строки, можно поместить символ новой строки ( ) в выходной поток. В C++ вам предоставляется два разных способа генерации новой строки. Во-первых, вы можете поместить символы внутри символьной строки. Например, следующая программа TWOLINES.CPP отображает свой вывод в виде двух строк, используя символ новой строки:
#include <iostream.h>
void main(void)
{
cout << "Это строка один Это строка два";
}
Когда вы откомпилируете и запустите эту программу, символ новой строки обеспечит вывод двух строк, как показано ниже:
С:> TWOLINES <ENTER>
Это строка один
Это строка два
Если вы не выводите символьную строку, можете поместить символ новой строки внутри одинарных кавычек. Например, следующая программа NEWLINES.CPP выводит числа 1, 0, 0 и 1, каждое на своей собственной строке:
#include <iostream.h>
void main(void)
{
cout << 1 << ' ' << 0 << ' ' << 0 << ' ' << 1;
}
В дополнение к использованию символа новой строки для продвижения курсора в начало следующей строки ваши программы могут использовать символ endl (конец строки). Следующая программа ENDL.CPP иллюстрирует использование endl для продвижения курсора в начало новой строки:
#include <iostream.h>
void main(void)
{
cout << "А теперь..." << endl
<< "Учимся программировать на языке C++";
}
Как и ранее, когда вы откомпилируете и запустите эту программу, на экране будет отображен вывод программы в виде двух строк:
C:> ENDL <ENTER>
А теперь
Учимся программировать на языке C++
Наконец, следующая программа ADDRESS.CPP выводит адрес издательства "Jamsa Press" в несколько строк:
#include <iostream.h>
void main(void)
{
cout << "Jamsa Press" << endl;
cout << "2975 South Rainbow, Suite I" << endl;
cout << "Las Vegas, NV 89102" << endl;
}
Другие специальные символы
В дополнение к символу новой строки, позволяющему вашим программам продвигать курсор в начало новой строки, вы можете использовать специальные символы, перечисленные в табл. 3.1.
Таблица 3.1. Специальные символы для использования с cout. |
|
Символ |
Назначение |
а |
Сигнальный (или звонок) символ |
Ь |
Символ возврата |
V |
Символ перевода страницы |
|
Символ новой строки |
г |
Возврат каретки (не перевод строки) |
|
Символ горизонтальной табуляции |
v |
Символ вертикальной табуляции |
\ |
Символ обратный слеш |
? |
Знак вопроса |
' |
Одинарные кавычки |
" |
Двойные кавычки |
|