Вывод данных
Вы уже знаете, что с помощью команды cout<< мы можем выводить на экран
различные текстовые строки.
Однако, чтобы компилятор понял такую команду, Вы должны помнить о следующих
трех основных моментах:
- В заголовке программы должна присутствовать строка #include <iostream>
- Перед использованием команды необходимо подключить пространство имен, к
которому принадлежит команда cout.
- Строку, которую мы хотим вывести на экран используя cout<<, мы
обязательно записываем в кавычки. Например:
cout<<”здесь пишем то, что хотим”; |
Команда cout<< не только выводит на экран строки, но и позволяет их
оформлять. Для оформления вывода строки используют специальные управляющие
символы, представляющие собой комбинацию символа \ и символа, определяющего
действие, которое необходимо произвести над строкой. Эти управляющие символы
называются Escape-последовательностями. Ниже приводятся некоторые из них:
\b Удаление последнего выведенного символа
\n Перейти на начало новой строки
\t Перейти к следующей позиции табуляции
\\ Вывести обратную черту \
\" Вывести двойную кавычку "
\' Вывести одинарную кавычку '
|
Существование последних трех Escape-последовательностей сначала всегда
вызывает легкое недоумение. Зачем пользоваться управляющими символами, если
можно просто написать: " или \ или ' ? Ответ лежит на поверхности, все эти три
символа являются операторами и, если их "просто написать", то компилятор и будет
воспринимать их как операторы. Например, когда слово используется в переносном
смысле, оно заключается в кавычки. Предположим, Вам необходимо вывести следующий
текст на экран:
The Man in red was "old friend" of John... | Если
Вы не используете Escape-последовательности, то очевидно, что Ваша команда будет
выглядеть так:
cout<<”The Man in red was "old friend" of John...”; | И
это приведет к неминуемой ошибке. Компилятор воспримет только часть строки, а
именно cout<<”The Man in red was ". Двойную кавычку после was он посчитает
закрывающей, а всё остальное примет, как неверный синтаксис языка. Такая
программа, естественно, не запустится на выполнение. Правильный вариант таков:
cout<<”The Man in red was \"old friend\" of John...”; |
Теперь, давайте поговорим о том, где именно в cout<< можно указывать
Escape-последовательности. Самое главное, что Вам необходимо знать, это - что
Escape-последовательность всегда должна находиться внутри кавычек, т. к.
является текстом, а дальше Ваши возможности практически не ограничены. Например,
так:
cout<<” My name is”<<” - Ira\n ”;
cout<<”I'm from Odessa\n ”;
cout<<”My eyes is blue"<<"\n ”<<"That`s all!!!";
В результате работы этой команды мы увидим на экране
My name is - Ira
I'm from Odessa
My eyes is blue
That`s all!!!
|
Практический пример использования cout<<
Напишем программу, которая выводит на экран краткую справку об изученных нами
Escape-последовательностях. Вот, что мы хотим увидеть на экране:
\b Backspace
\n New line
\t Horizontal tab
\\ Backslash \
\" Double quotation mark "
\' Single quotation mark '
|
Запускаем среду Visual Studio.NET. Создаем новый проект под именем
EscapeSequences. Набираем код, который располагается ниже.
// Заголовок
#include <iostream>
// определение пространства имен, в котором есть cout<<
using namespace std;
// Главная функция
void main()
{
/* Следующая команда через 4 табуляции выводит текст
Escape Sequences
и переводит вывод на следующую строку */
cout<<"\t\t\t\tEscape Sequences\n";
// Выводит пустую строчку
cout<<"\n";
/* Через 2 табуляции выводит текст \b,
и еще через 1 табуляцию Backspace
Затем \n переводит вывод на следующую строку */
cout<<"\t\t\\b"<<"\tBackspace\n";
// Выводит пустую строку
cout<<"\n";
/* Через 2 табуляции выводит текст \n,
и еще через 1 табуляцию New line
Затем \n переводит вывод на следующую строку */
cout<<"\t\t\\n"<<"\tNew line\n";
// Выводит пустую строку
cout<<"\n";
/* Через 2 табуляции выводит текст \t,
и еще через 1 табуляцию Horizontal tab
Затем \n переводит вывод на следующую строку */
cout<<"\t\t\\t"<<"\tHorizontal tab\n";
// Выводит пустую строку
cout<<"\n";
/* Через 2 табуляции выводит текст \\,
и еще через 1 табуляцию Backslash \
Затем \n переводит вывод на следующую строку */
cout<<"\t\t\\\\"<<"\tBackslash \\\n";
// Выводит пустую строку
cout<<"\n";
/* Через 2 табуляции выводит текст \t,
и еще через 1 табуляцию Double quotation mark "
Затем \n переводит вывод на следующую строку */
cout<<"\t\t\""<<"\tDouble quotation mark \"\n";
// Выводит пустую строку
cout<<"\n";
/* Через 2 табуляции выводит текст \',
и еще через 1 табуляцию Single quotation mark '
Затем \n переводит вывод на следующую строку */
cout<<"\t\t\'"<<"\tSingle quotation mark \'\n";
// Выводит пустую строку
cout<<"\n";
}
|
Откомпилируем программу (Build -> Rebuild Solution). Если возникло много
ошибок, то вспомните следующие правила:
Если в программе будут выводиться сообщения на экран, то в начало программы
записывается строчка #include <iostream> и подключается пространство имен,
к которому принадлежит команда cout (using namespace std;)
Каждая программа должна содержать функцию с именем main (). Работа программы
начинается с выполнения этой функции.
Команды функции main() находятся внутри фигурных скобок { }
Все команды обязательно должны заканчиваться символом точка с запятой.
И запустим ее (Debug -> Start Without Debugging).
P. S.
Вы должно быть обратили внимание на то, что мы употребляем лишь латинские
символы при выводе на экран данных. Это связано с тем, что программу мы с Вами
писали в ОС Windows, а выполнение ее осуществляется в MS DOS. Дело в том, что
каждый символ имеет в любой операционной системе свой числовой код. И система
идентифицирует его именно по этому коду. Символьные кода кириллицы в MS DOS и
Windows не совпадают, поэтому программа с использованием киррилицы будет
работать не корректно. Например, написали мы в Windows:
А на экран выводиться:
Это легко объяснить тем, что в Windows,
например, буква о - 238, а в DOS этому коду соответствует буква ю. Кода же
латиницы совпадают в обеих ОС. В последствии мы с Вами научимся исправлять эту
ситуацию.
|