Главная » Статьи » Програмування » C [ Добавить статью ]

RUS Уроки по программированию на языке С

Вывод данных

Вы уже знаете, что с помощью команды cout<< мы можем выводить на экран различные текстовые строки.

Однако, чтобы компилятор понял такую команду, Вы должны помнить о следующих трех основных моментах:

  1. В заголовке программы должна присутствовать строка #include <iostream>
  2. Перед использованием команды необходимо подключить пространство имен, к которому принадлежит команда cout.
    using namespace std;
  3. Строку, которую мы хотим вывести на экран используя 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:

 cout<<"Утро"; 
А на экран выводиться:
 µЄЁю 
Это легко объяснить тем, что в Windows, например, буква о - 238, а в DOS этому коду соответствует буква ю. Кода же латиницы совпадают в обеих ОС. В последствии мы с Вами научимся исправлять эту ситуацию. 

Категория: C | Добавил: DEN-SHP (05.11.2012)
Просмотров: 616 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]