C++ 自学教程 LearnCPP 第1.3a章 初探cout, cin, 和 endl
前言:这一小节详细解释了之前使用过的std::cout,std::endl命令。还引入了cin以获得用户输入。要注意的点有<<与>>符号的使用,还有我自己是一开始总忘记std后是两个冒号。希望能对大家有帮助,阅读愉快。
std::cout
前面教程有提过,iostream库里的std::cout对象可以把文本输出到屏幕上。下面回想一下我们的’Hello world’程序:
#include <iostream>
int main()
{
std::cout << "Hello world!";
return 0;
}
如果想要在一行中输出多项内容,可以多次使用“<<”符号。比方说:
#include <iostream>
int main()
{
int x = 4;
std::cout << "x is equal to: " << x;
return 0;
}
这段程序的输出结果是:
x is equal to: 4
猜猜下面这段程序的输出结果是什么?
#include <iostream>
int main()
{
std::cout << "Hi!";
std::cout << "My name is Alex.";
return 0;
}
你可能不会猜到它长这样:
Hi!My name is Alex.
std : : endl
如果我们想要在多个行输出,我们可以用std : : endl,std : : endl在文本后插入一个换号符号(光标会移到下一行的起始位置)。
比方说:
#include <iostream>
int main()
{
std::cout << "Hi!" << std::endl;
std::cout << "My name is Alex." << std::endl;
return 0;
}
对应输出:
Hi!
My name is Alex.
std::cin
std::cin 跟std::cout正好相反 – std::cout借助输出算子<<把东西输出到屏幕上,而std::cin借助输出算子>>从屏幕上读入用户的输入。上一节我们学习了什么是变量(忘记的小伙伴自己温习下) ,我们现在就能使用std::cin读取用户的输入并存在一个变量里面。
//#include "stdafx.h" // Uncomment this line if using Visual Studio
#include <iostream>
int main()
{
std::cout << "Enter a number: "; // ask user for a number
int x; // no need to initialize x since we're going to overwrite that value on the very next line
std::cin >> x; // read number from console and store it in x
std::cout << "You entered " << x << std::endl;
return 0;
}
自己试试编译这个程序。当你运行这个程序的时候,屏幕上先显示“Enter a number: (输入一个数字)”,并等待你输入一个数字。当你输入完毕(后按回车)后,屏幕会显示“You entered:(你输入了)”后接你输入的数字。
比方说(我输了4):
Enter a number: 4
You entered 4
这是一种较为简易的的获得用户输入的方法,在之后的例子我们会经常使用。
(顺带一提,如果你输入了一个超级大的数字,输出结果可能会吓你一跳。试一下!产生这种情况是因为x只能容纳一定大小的数字。超过这个大小数值就会“溢出”。后面会具体探讨溢出。)
std::cin, std::cout, <<, 和 >>
新手们常常分不清std::cin, std::cout, <<, 和 >>。下面附上一些记忆的小技巧:
• std::cin, std::cout总是在叙述的最左侧
• std::cout用作输出(cout = character output 文本输出)
• std::cin用作输入(cin= character input 文本输入)
• <<搭配std::cout使用,它代表了数据从右值流向控制台。Std::cout << 4把数值4送往控制台。
• <<搭配std::cin使用,它代表了数据从控制台流向变量。Std::cin >>4 把数值4从控制台送向变量。
说明: 这系列笔记是基于网上一个英文教程LearnCPP。