C++:你所不了解的 Cin 和 Cout

基本概念

  • 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 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 对象会使条件变为假。
发布了40 篇原创文章 · 获赞 12 · 访问量 5701

猜你喜欢

转载自blog.csdn.net/weixin_43488958/article/details/104642374