Функция вывода cout
Все обсуждавшиеся ранее приемы программирования относятся к выводу даныных как в языке С, так и С++. Однако язык С++ имеет дополнительный способ вывода данных всех типов.
В С++ существует стандартный поток вывода cout, позволяющий в сочетании с двумя символами «меньше» («), которые называются оператором вставки, отображать литералы или значения констант и переменных без использования указателей формата.
Если у вас есть компилятор С++, посмотрите документацию к нему. Не исключено, что необходим специальный файл заголовков для того, чтобы иметь возможность использовать преимущества стандартного потока вывода cout и стандартного потока ввода cin (о нем вы прочтете в следующей главе).
Таблица 6
Основные средства ввода данных в языке Си/Си++
Функция | Тип данных | Комментарии |
gets() | Только строки | Си и Си++. Используется для ввода строк, возможно наличие пробелов. После ввода данных необходимо нажать Enter. |
getchar() | Единичные символы | Си и Си++. Используется для ввода единичных символов в переменную, определенную как int или char. После ввода символа не надо нажимать Enter. Используется без параметров в качестве переменной (например, letter=getchar()) или сама по себе для временной остановки программы. |
scanf() | Все типы данных | Си и Си++. Требует указателей формата для каждого элемента вводимых данных. Не используется для ввода строк, имеющих пробелы. Необходимо следить за правильностью формата вводимых данных. Может иметь несколько аргументов. Перед переменной типа char нельзя ставить пробел. |
cin | Все типы данных | Только Си++. Не нуждается в указателях формата и операторе получения адреса. Может вводить значения для нескольких аргументов. Аргументы отделяются операторами ». |
Для некоторых компиляторов, например, необходимо включить файл STREAM. H с помощью директивы #include в начале программы.
Рис. 5. Стандартный поток вывода.
Структура инструкции, использующей cout, показана на рис. 5. После cout надо ставить два знака <. Они указывают cout отобразить помещенную после них информацию. Информация может быть представлена в виде литерала (тогда ее заключают в кавычки) либо имени константы или переменной.
Рассмотрим инструкцию
cout<<"Привет, меня зовут Сэм. Мы с вами уже встречались";
При ее выполнении произойдет вывод на дисплей строки, заключенной в кавычки. Инструкция
int count;
count = 4509;
cout<<count;
отобразит значение переменной с именем count – число 4509.
Используя один стандартный поток вывода cout, можно отобразить несколько аргументов. Между собой аргументы разделяются операторами вставки, как это продемонстрировано на рис. 6. Например, инструкция
int age;
age = 43;
cout « "Вам исполнилось " « age « " года.";
отображает текст
Вам исполнилось 43 года.
Рис. 6. Вывод нескольких аргументов с помощью cout
Стандартный поток вывода cout отображает каждый пункт, указанный с помощью оператора вставки, в том порядке, в каком они записаны в инструкции.
Так же, как и функция printf(), cout не добавляет никаких команд новой строки после отображения данных. Чтобы перейти к новой строке, там, где вы хотите ее начать, надо добавить управляющий код \n, как это показано на рис. 6.
Стандартный поток вывода cout не требует обязательного использования указателей формата, но позволяет их ввести. С помощью указателей формата можно определять ширину поля, количество пробелов и число знаков после точки в вещественных числах. Описание форматирования вывода при использовании cout не входит в задачу этой книги. Если у вас есть компилятор Си++, вы можете подробно прочитать об этом в его описании. Не забудьте посмотреть в документации, надо ли включать специальные файлы заголовков при использовании cout.
Одна из особенностей языка С++ - так называемая перегрузка – делает необязательным использование указателей формата. В отличие от функции printf(), которая требует обязательного указания формата данных, cout при передаче параметров сам определяет формат на основании типа получаемых данных. Этот процесс и называется перегрузкой.
Таблица 7
Средства вывода информации в языке С++.
Функция или ключевое слово | Тип данных | Комментарии |
puts() | только строки | С и С++. Используется только для вывода строк. Выводит строковые литералы в кавычках, значения переменных и констант. Может автоматически перемещать курсор на следующую строку после вывода (не забудьте проверить документацию). |
putchar() | единичный символ | С и С++. Используется для вывода символа, определенного как char или int. Не переводит курсор на следующую строку автоматически (проверьте документацию). Используйте для вывода литералов в одинарных кавычках, констант, переменных типа char, специальных символов или escape-последовательностей. |
printf() | все типы данных | С и С++. Необходимы указатели формата для каждого элемента данных. Может обеспечить вывод нескольких аргументов. Не переводит курсор автоматически, используйте escape-последовательность \n. |
cout | все типы данных | Только С++. Отделяйте аргументы знаками <<. Не переводит курсор автоматически. Указатели формата не обязательны |
Дата добавления: 2017-01-29; просмотров: 1198;