На этом уроке мы рассмотрим такие объекты, как cout, endl и cin, существующие в языке C++.
Объект std::cout
Как мы уже говорили на предыдущих уроках, объект std::cout (который находится в библиотеке iostream) используется для вывода данных на экран (в консольное окно). В качестве напоминания, вот наша программа «Hello, world!»:
#include <iostream>
int main()
{
std::cout << "Hello, world!";
return 0;
}
Для вывода нескольких предложений на одной строке оператор вывода <<
нужно использовать несколько раз, например:
#include <iostream>
int main()
{
int a = 7;
std::cout << "a is " << a;
return 0;
}
Программа выведет:
a is 7
А какой результат выполнения следующей программы?
#include <iostream>
int main()
{
std::cout << "Hi!";
std::cout << "My name is Anton.";
return 0;
}
Возможно, вы удивитесь, но:
Hi!My name is Anton.
Объект std::endl
Если текст нужно вывести раздельно (на нескольких строках) — используйте std::endl. При использовании с std::cout, std::endl вставляет символ новой строки. Таким образом, мы перемещаемся к началу следующей строки, например:
#include <iostream>
int main()
{
std::cout << "Hi!" << std::endl;
std::cout << "My name is Anton." << std::endl;
return 0;
}
Результат:
Объект std::cin
std::cin является противоположностью std::cout. В то время как std::cout выводит данные в консоль с помощью оператора вывода <<
, std::cin получает данные от пользователя с помощью оператора ввода >>
. Используя std::cin мы можем получать и обрабатывать пользовательский ввод:
#include <iostream>
int main()
{
std::cout << "Enter a number: "; // просим пользователя ввести любое число
int a = 0;
std::cin >> a; // получаем пользовательское число и сохраняем его в переменную a
std::cout << "You entered " << a << std::endl;
return 0;
}
Попробуйте скомпилировать и запустить эту программу. При запуске вы увидите Enter a number:
, а затем программа будет ждать, пока вы укажите число. Как только вы это сделаете и нажмете Enter, программа выведет You entered
, а затем ваше число.
Например (я ввел 7
):
Enter a number: 7
You entered 7
Это самый простой способ получения данных от пользователя. Мы будем его использовать в дальнейших примерах.
Если ваше окно закрывается сразу после ввода числа — смотрите Урок №7 (там есть решение данной проблемы).
Если же ввести действительно большое число, то вы получите переполнение, так как переменная а
может содержать числа только определенного размера/диапазона. Если число больше/меньше допустимых максимумов/минимумов, то происходит переполнение. Об этом мы детально поговорим на следующих уроках.
std::cin, std::cout, << и >>
Новички часто путают std::cin
с std::cout
и <<
с >>
. Вот простые способы запомнить их различия:
std::cin
иstd::cout
всегда находятся в левой стороне стейтментаstd::cout
используется для вывода значения (cOUT = вывод)std::cin
используется для получения значения (cIN = ввод)- оператор вывода
<<
используется сstd::cout
и показывает направление, в котором данные движутся от r-value в консоль.std::cout << 7;
(значение7
перемещается в консоль) - оператор ввода
>>
используется сstd::cin
и показывает направление, в котором данные движутся из консоли в переменную.std::cin >> a;
(значение из консоли перемещается в переменнуюa
)
Thanks for your blog, nice to read. Do not stop.