Другие специальные символы

ВЫВОД СООБЩЕНИЙ НА ЭКРАН

 

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

Сейчас нам необходимо освоить следующие основные концепции:

· Для вывода символов и чисел на экран вы можете использовать выходной поток cout.

· В C++ можно использовать с cout специальные символы для вывода табуляции или новой строки и даже для воспроизведения звука на вашем компьютере.

· В C++ можно легко отображать числа в десятичном, восьмеричном (по основанию 8) или шестнадцатеричном (по основанию 16) формате.

· Используя в командной строке операционной системы операторы переназначения, вы можете перенаправить выходные сообщения своей программы, посылаемые в cout, с экрана в файл или на принтер.

· Используя выходной поток cerr, ваши программы могут посылать сообщения на стандартное устройство ошибок, избавляя пользователей от необходимости переназначения сообщений.

· Вы можете форматировать вывод вашей программы, используя модификатор setw внутри выходного потока.

Почти все создаваемые нами программы на C++ будут использовать cout для вывода сообщений на экран.

 

ИСПОЛЬЗОВАНИЕ cout ДЛЯ ВЫВОДА ЧИСЕЛ

До сих пор созданные нами программы использовали cout для вывода символьных строк (букв и чисел, взятых в кавычки). Теперь мы попробуем использовать cout для вывода чисел. Следующая программа 1001.СРР выводит число 1001 на ваш экран:

#include <iostream>

Void main(void)

{

cout << 1001;

}

Когда мы откомпилируеи и запустим эту программу, на нашем экране будет отображено число 1001, как показано ниже:

С:\> 1001 <ENTER>

1001

Далее мы отредактируем программу и изменим оператор cout, чтобы вывести число 2002, как показано ниже:

cout << 2002;

Кроме отображения целых чисел (чисел без десятичной точки), cout также позволяет нашим программам отображать числа с плавающей точкой, например 1.2345. Следующая программа FLOATING.CPP использует cout для вывода числа 0.12345 на экран:

#include <iostream>

Void main(void)

{

cout << 0.12345;

}

Откомпилируем и запустим эту программу. На экране появится следующий вывод:

С:\> FLOATING <ENTER>

0.12345



ВЫВОД НЕСКОЛЬКИХ ЗНАЧЕНИЙ ОДНОВРЕМЕННО

Как мы знаем, двойной знак "меньше" является операцией вставки (эта операция вставляет символы в выходной поток для отображения). С помощью cout мы можем использовать несколько операций вставки в пределах одного оператора. Например, следующая программа 1001ТОО.СРР использует эту операцию четыре раза для отображения числа 1001 на вашем экране:

#include <iostream>

Void main(void)

(

cout << 1 << 0 << 0 << 1;

}

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

 

С:\> 1001TOO <ENTER>

1001

Каждый раз, когда в C++ встречается операция вставки, число или символы просто добавляются к тем, что находятся в настоящее время в выходном потоке. Следующая программа SHOW1001.CPP с помощью cout выводит символьную строку и число:

#include <iostream>

Void main(void)

{

cout << "Мое любимое число равно " << 1001;

}

Обратите внимание, что пробел, следующий за словом равно (внутри кавычек), служит для отделения числа 1001 от этого слова. Без пробела число сливается со следующим словом (равно 1001). Подобным образом следующая программа 1001MID.CPP отображает число 1001 в середине символьной строки:

#include <iostream>

Void main(void)

{

cout << "Число " << 1001 << " мне очень нравится";

}

Также следует обратить внимание на расстановку пробелов до и после числа 1001.

Наконец, следующая программа MIXMATCH.CPP комбинирует строки, символы, целые числа и числа с плавающей точкой внутри одного и того же выходного потока:

#include <iostream>

Void main(void)

{

cout << "B " << 20 << " лет мой оклад был " << 493.34 << endl;

}

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

С:\> MIXMATCH <ENTER>

В 20 лет мой оклад был 493.34

 

ИСПОЛЬЗОВАНИЕ СПЕЦИАЛЬНЫХ СИМВОЛОВ ВЫВОДА

Все программы, созданные нами до сих пор, отображали свой вывод в виде одной строки. Некоторые программы, которые мы рассмотрим далее, будут отображать несколько строк вывода. Например, если нам нужно написать программу, которая будет выводить адреса на экран, нам необходимо будет отображать адреса в виде нескольких строк.

Если необходимо переместить курсор в начало следующей строки, можно поместить символ новой строки (\n) в выходной поток. В C++ нам предоставляется два разных способа генерации новой строки. Во-первых, мы можем поместить символы \n внутри символьной строки. Например, следующая программа TWOLINES.CPP отображает свой вывод в виде двух строк, используя символ новой строки:

#include <iostream>

Void main(void)

{

cout << "Это строка один\nЭто строка два";

}

Когда мы откомпилируем и запустим эту программу, символ новой строки обеспечит вывод двух строк, как показано ниже:

С:\> TWOLINES <ENTER>

Это строка один

Это строка два

Если мы не выводим символьную строку, можно поместить символ новой строки внутри одинарных кавычек. Например, следующая программа NEWLINES.CPP выводит числа 1, 0, 0 и 1, каждое на своей собственной строке:

#include <iostream>

Void main(void)

{

cout << 1 << '\n' << 0 << '\n' << 0 << '\n' << 1;

}

В дополнение к использованию символа новой строки для продвижения курсора в начало следующей строки в программах на С++ можно использовать символ endl (конец строки). Следующая программа ENDL.CPP иллюстрирует использование endl для продвижения курсора в начало новой строки:

#include <iostream>

Void main(void)

{

cout << "А теперь..." << endl

<< "Учимся программировать на языке C++";

}

Как и ранее, когда мы откомпилируем и запустим эту программу, на экране будет отображен вывод программы в виде двух строк:

C:\> ENDL <ENTER>

А теперь

Учимся программировать на языке C++

Наконец, следующая программа ADDRESS.CPP выводит адрес издательства "Компьютер Price" в несколько строк:

#include <iostream>

Void main(void)

{

cout << "Компьютер Price" << endl;

cout << "Санкт-Петербург" << endl;

cout << "ул.Маршала Говорова, 52" << endl;

cout << "офис 227А, 2-й этаж" << endl;

}

ДРУГИЕ СПЕЦИАЛЬНЫЕ СИМВОЛЫ

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

 


Таблица 4.1. Специальные символы для использования с cout.

Символ Назначение
Сигнальный (или звонок) символ
\b Символ возврата
\f Символ перевода страницы
\n Символ новой строки
\r Возврат каретки (не перевод строки)
\t Символ горизонтальной табуляции
\v Символ вертикальной табуляции
\\ Символ обратный слеш
\? Знак вопроса
\' Одинарные кавычки
\" Двойные кавычки
\0 Нулевой символ
\000 Восьмеричное значение, например \007
\xhhhh Шестнадцатеричное значение, например \xFFFF

 

< Примечание >

При использовании специальных символов, перечисленных в табл. 4.1, следует располагать их внутри одинарных кавычек, если вы используете данные символы сами по себе, например '\n', или внутри двойных кавычек, если вы используете их внутри строки, например "Привem\nMup!".

Следующая программа SPECIAL.CPP использует специальные символы сигнала (\а) и табуляции (\t) для выдачи звука на встроенный динамик компьютера и затем выводит слова Звонок Звонок Звонок, разделенные табуляцией:

#include <iostream>

Void main(void)

{

cout << "3вонок\a\tЗвонок\a\tЗвонок\a";

}

4.5 ВЫВОД ВОСЬМЕРИЧНЫХ И ШЕСТНАДЦАТЕРИЧНЫХ ЗНАЧЕНИЙ

Программы, представленные в этом уроке до сих пор, выводили числа в десятичном виде. В зависимости от назначения ваших программ вам, возможно, потребуется выводить числа в восьмеричном или шестнадцатеричном виде. Для этого можно разместить модификаторы dec, oct и hex внутри выходного потока. Следующая программа ОСТНЕХ.СРР использует эти модификаторы для вывода значений в десятичном, восьмеричном и шестнадцатеричном виде:

 

#include <iostream>

Void main(void)

{

cout << "Восьмеричный: " << oct << 10 << ' ' << 20 << endl;

cout << "Шестнадцатеричный: " << hex << 10 << ' ' << 20 << endl;

cout << "Десятичный: " << dec << 10 << ' ' << 20 << endl;

}

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

С:\> OCTEX <ENTER>

Восьмеричный: 12 24


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: