在C++程序中,输入与输出可以看做是一连串的数据流,输入即可视为从文件或键盘中输入程序中的一串数据流,而输出则可以视为从程序中输出一连串的数据流到显示屏或文件中。
在编写C++程序时,如果需要使用输入输出时,则需要包含头文件 <iostream>。在 <iostream> 中定义了用于输入输出的对象,例如常见的 cin 表示标准输入、cout 表示标准输出、cerr 表示标准错误。
使用 cout 进行输出时需要紧跟“<<”操作符,使用 cin 进行输入时需要紧跟“>>”操作符,这两个操作符可以自行分析所处理的数据类型,因此无需像使用 scanf 和 printf 那样给出格式控制字符串。
#include<iostream>
using namespace std;
int main()
{
int sum = 0;
int val = 0;
cout<<"Please input a number :"<<endl;
while(cin>>val)
{
sum += val;
cout<<"Please input next number :"<<endl;
}
cout<<"The sum of all number is sum = "<<sum<<endl;
return 0;
}
需要注意的是:cin 是带有缓冲区的。当用户输入 100.9 时,cin 读入 100,而将 .9 留在缓冲区中。下次再执行 cin>>val 语句时,因为缓冲区中有数据,所以不会等待用户输入,而是直接从缓冲区中读取;cin 将 .9 读入,它不是一个有效的整数,读取失败,返回 false,终止了 while 循环。
cin、cout、cerr 不是C++中的关键字,其本质是函数调用,它们的实现采用的是C++的运算符重载,这些知识点将会在后续逐一介绍。其中cout和cerr的输出目的地都是显示器,不同的是cout是带有缓冲的,而cerr则不带缓冲。