cout, cin и endl. Урок 11

На этом уроке мы рассмотрим такие объекты, как 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;
}

Результат:

Hi!
My name is Anton.

Объект 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)
Прогаем.ру
Добавить комментарий

  1. Mark

    Thanks for your blog, nice to read. Do not stop.

    Ответить