Что такое cout и cin в c

Что такое cout и cin в c

В С++, как и в С, нет встроенных в язык средств ввода-вывода.

В С для этих целей используется библиотека stdio.h .
В С++ разработана новая библиотека ввода-вывода iostream , использующая концепцию объектно-ориентированного программирования:

Библиотека iostream определяет три стандартных потока:

  • cin стандартный входной поток ( stdin в С)
  • cout стандартный выходной поток ( stdout в С)
  • cerr стандартный поток вывода сообщений об ошибках ( stderr в С)

Для их использования в Microsoft Visual Studio необходимо прописать строку:

Для выполнения операций ввода-вывода переопределены две операции поразрядного сдвига:

  • >> получить из входного потока
  • cout

Возможно многократное назначение потоков:
cout

Ввод информации

При этом из входного потока читается последовательность символов до пробела, затем эта последовательность преобразуется к типу идентификатора, и получаемое значение помещается в идентификатор:

Возможно многократное назначение потоков:
cin >> переменная1 >> переменная2 >>. >> переменнаяn;

При наборе данных на клавиатуре значения для такого оператора должны быть разделены символами (пробел,
, ).

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

Результат выполнения

Для ввода текста до символа перевода строки используется манипулятор потока getline() :

Результат выполнения

Манипуляторы потока

Функцию — манипулятор потока можно включать в операции помещения в поток и извлечения из потока ( >).

В С++ имеется ряд манипуляторов. Рассмотрим основные:

Манипулятор Описание
endl Помещение в выходной поток символа конца строки ‘
dec Установка основания 10-ой системы счисления
oct Установка основания 8-ой системы счисления
hex Установка основания 16-ой системы счисления
setbase Вывод базовой системы счисления
width(ширина) Устанавливает ширину поля вывода
fill(‘символ’) Заполняет пустые знакоместа значением символа
precision(точность) Устанавливает количество значащих цифр в числе (или после запятой) в зависимости от использования fixed
fixed Показывает, что установленная точность относится к количеству знаков после запятой
showpos Показывает знак + для положительных чисел
scientific Выводит число в экспоненциальной форме
get() Ожидает ввода символа
getline(указатель, количество) Ожидает ввода строки символов. Максимальное количество символов ограничено полем количество
Читайте также:  Для чего нужен мессенджер в телефоне

Пример Программа ввода-вывода значения переменной в C++

Та же программа, написанная на языке Си

Пример Использование форматированного вывода

Результат выполнения

Еще один пример использования форматированного вывода: для t∈[0;3] с шагом 0,5 вычислить значение y=cos(t).

Результат выполнения

Я знаю Java и теперь хочу изучить С++. Я не могу понять, что такое cout (поток вывода символов) и cin (ввод символов). Являются ли эти глобальные переменные? Тогда почему

cout — это экземпляр класса std::ostream , и да, это глобальная переменная. Но operator>>(char *, ostream& os); не был объявлен соответствующим заголовком, поэтому "My message">>cout; даст ошибку чего-то вроде "не может найти оператор → , который принимает аргументы const char * и std:: ostream" (и возможно, намного больше ошибок, потому что иногда компиляторы очень смущаются такими вещами).

cin — это то же самое, кроме std::istream

Если вы действительно хотите общаться с народами, вы можете сделать:

Конечно, это не сработает для "My Message " >> "Some other string" >> cout; , что, вероятно, является одной из причин, по которой это не было сделано.

Обратите внимание, что это просто незначительное злоупотребление перегрузкой оператора, где у нас есть пользовательский тип, как левая, и стандартный или нестандартный тип с правой стороны. cout ничем не отличается от какой-либо другой переменной пользовательского типа.

std::cout и std::cin действительно являются глобальными переменными. Ваш код не компилируется, потому что это не так, как работает язык. Вы должны поместить поток слева, а затем оператор, а затем переменные, которые вы вставляете в/из. (Для вывода вы можете использовать литералы и выражения, а также переменные.)

рассмотрите стрелки как потоки. & Л;

iostream — это заголовочный файл, содержащий классы, обрабатывающие операции ввода и вывода для консоли. Это похоже на создание объекта, когда вы говорите "cin" для операции ввода ввода ввода для консоли в файле заголовка. То же самое можно сказать о "cout" , где объект создается из операции вывода обработки класса в консоль в файле заголовка.

Читайте также:  Загрузочная флешка с драйверами usb

Когда вы рассматриваете "cin", представьте себе создание канала, подключенного к консоли и вашей программе, и объекта "cin", который берет ваши входы с консоли, которые вы предоставляете с помощью вашей клавиатуры, и сбрасывая их на программу. Это причина, по которой вы можете видеть наличие оператора " → " для cin, и вы можете найти аналогию с трубой, где оператор выполняет задание указания направления для объекта "cin".

В то время как для "cout" представьте, что вы создаете канал, подключенный к консоли и вашей программе, и объект "cout" , беря свой вход из программы и выгружая их на консоль. Эта причина, по которой вы можете видеть наличие "

Ввод/вывод данных в языке C++ можно реализовать одним из двух способов: как в С, с помощью функций ввода-вывода (printf и scanf) или с использованием библиотеки iostream.h. Второй способ удобнее, так как не требует использования шаблонов.

Для использования функций ввода/вывода необходимо подключить файл с описаниями с помощью директивы #include .

Для того чтобы пользователь ввёл значение переменной x используется код:

А если нужно чтобы пользователь последовательно ввёл значения переменных x, y, z используется код:

Объект cout позволяет вывести информацию на экран:

После выполнения первой строки на экран отобразится значение переменной x, второй: текст x=. Результатом выполнения третьей строки будет вывод на экран текста: x=(значение переменной x). После выполнения четвертой строки в выходной поток будет помещен символ перехода на новую строку. Текст для вывода необходимо заключать в двойные кавычки. Помимо ввода и вывода со стандартных терминалов (клавиатуры и экрана) можно перенаправить потоки данных в файл или область памяти.

Похожие записи:

cin cout: 2 комментария

Но. ведь. нет файла
Хэдэры в CPP идут без .h, это стандарты С.

Читайте также:  Как сбросить настройки на андроиде лджи

Да, некоторые новые компиляторы уже не воспринимают с h.
В них нужно:
#include
using namespace std;

Ссылка на основную публикацию
Что мне задали завтра на русский
Проверка орфографии на 5-ege.ru (введите текст в форму ниже): Если нужно проверить пунктуацию, воспользуйтесь сервисом Проверка пунктуации онлайн. Наш сервис...
Чистка матрицы зеркального фотоаппарата
Нам доверяют сотрудники: Вопросы и предложения: info@fixit24.ru Адрес: г. Москва, м. Тверская, ул. Тверская, д. 20, 2 этаж, офис 204....
Чистка кэша на ноутбуке
Все, что находит отображение в браузере (музыка, картинки, видео) перед воспроизведением сохраняются на ваш ПК как временные файлы.Если их количество...
Что лучше газель некст или фиат дукато
На прошлой неделе Газель-Некст была признана лучшим автомобилем года в России. Эксперты коммерческого транспорта оценили ее в 2–3 раза выше,...
Adblock detector