Программирование на языке высокого уровня. Марапулец Ю.В. - 114 стр.

UptoLike

Составители: 

По умолчанию поддерживается вывод объектов следующих типов: char (signed, un-
signed), short (signed, unsigned), int (signed, unsigned), long (signed, unsigned), char*, float,
double, long double и void*. Для вывода используются правила-умолчания из функции
printf языка С (это может быть изменено установкой различных флагов в ios). Например,
если есть описания:
int i; long l;
то следующие операторы эквивалентны :
cout<<i<<l; // потоки языка С++
printf("%d %ld", i, l); // стандартная функция языка Си
Вещественные значения выводятся по аналогии со спецификацией %g, указатели -
как шестнадцатеричные значения.
Для ввода используется переопределяемая операция >>. Описание:
операнд 1 >> операнд 2;
где операнд 1 - объект класса istream, операнд 2 - вводимое значение. Например:
cin >> d;
Операция >> автоматически переопределяется в зависимости от типа выводимого
значения и возвращает ссылку на объект класса istream, с которым она оперирует. Все
правила, перечисленные для потоков вывода соответствуют и вводу. Рассмотрим пример
на одновременное использование потоков ввода и вывода:
#include <iostream.h>
int main()
{
int i;
cout << "Введите значение переменной i: ";
cin >> i;
return 0;
}
Как и для других перегруженных операций, для вставки и извлечения невозможно
изменить приоритеты, поэтому в необходимых случаях используются скобки:
cout << i + j; // Скобки не требуются - приоритет сложения больше, чем <<
cout << (i < j); // Скобки необходимы - приоритет операции отношения меньше, чем <<
Величины при вводе должны разделяться пробельными символами (пробелами,
знаками табуляции или перевода строки). Извлечение прекращается, если очередной
символ оказался недопустимым.
Поскольку ввод буферизован, помещение в буфер ввода происходит после нажатия
клавиши перевода строки, после чего из буфера выполняется операция извлечения из
потока. Это дает возможность исправлять введенные символы до того, как нажата кла-
виша Enter.
114
      По умолчанию поддерживается вывод объектов следующих типов: char (signed, un-
signed), short (signed, unsigned), int (signed, unsigned), long (signed, unsigned), char*, float,
double, long double и void*. Для вывода используются правила-умолчания из функции
printf языка С (это может быть изменено установкой различных флагов в ios). Например,
если есть описания:

int i; long l;

то следующие операторы эквивалентны :

cout<>. Описание:

операнд 1 >> операнд 2;

где операнд 1 - объект класса istream, операнд 2 - вводимое значение. Например:

cin >> d;

     Операция >> автоматически переопределяется в зависимости от типа выводимого
значения и возвращает ссылку на объект класса istream, с которым она оперирует. Все
правила, перечисленные для потоков вывода соответствуют и вводу. Рассмотрим пример
на одновременное использование потоков ввода и вывода:

#include 
int main()
{
      int i;
      cout << "Введите значение переменной i: ";
      cin >> i;
      return 0;
}

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

cout << i + j; // Скобки не требуются - приоритет сложения больше, чем <<
cout << (i < j); // Скобки необходимы - приоритет операции отношения меньше, чем <<

     Величины при вводе должны разделяться пробельными символами (пробелами,
знаками табуляции или перевода строки). Извлечение прекращается, если очередной
символ оказался недопустимым.
     Поскольку ввод буферизован, помещение в буфер ввода происходит после нажатия
клавиши перевода строки, после чего из буфера выполняется операция извлечения из
потока. Это дает возможность исправлять введенные символы до того, как нажата кла-
виша Enter.


                                              114