基本概念
- Cin 和 Cout 从属于iostream标准库
- cin 是 istream 类型的对象(划重点),用作基本输入
- cout 是 ostream 类型的对象(划重点),用作基本输出
使用详解
# include<iostream>
using namespace std;
int main()
{
int i = 0, j = 0;
cin >> i >> j;
cout << "The sum of " << i << " and " << j
<< " is " << i + j << endl;
return 0;
}
输入运算符
-
在上述求两数之和的程序中,用户先输入变量 i i i和 j j j的值,此过程中,输入运算符 >> 接受一个 istream 对象作为其左侧运算对象,接受一个对象作为其右侧运算对象。它从给定的 istream 中读入数据,并存入给定对象中。
-
输入运算符返回其左侧运算对象作为其计算结果,因此,此表达式等价于
(cin >> i) >> j;
即:
cin >> i; cin >> j;
输出运算符
- 与输入运算符类似,输出运算符 << 左侧必须是 ostream 类型的对象,右侧的运算对象是需要打印的值
- 输出运算符也返回其左侧运算对象作为其计算结果
简单应用:读入数量不定的输入数据
# include<iostream>
using namespace std;
int main()
{
int sum = 0, value = 0;
while (cin >> value) {
sum += value;
}
cout << "Sum is: " << sum << endl;
return 0;
}
- 重点是 while 语句的条件:while (cin >> value)
当我们使用一个 istream 对象作为条件时,其效果是检测流的状态。如果流是有效的,即流未遇到错误,那么检测成功。当遇到文件结束符(windows中使用ctrl+z),或遇到一个无效输入时(例如输入类型错误),istream 对象的状态会变为无效。处于无效的 istream 对象会使条件变为假。