在 C语言中,通常会采用格式化输入输出函数 printf() 和 scanf() 用于输入或输出数据或信息。在 C++语言中,C语言的这一套输入输出库我们仍能使用,但是 C++语言又自定义了一套新的、更容易使用的输入输出库。
在 C++程序中,输入与输出可以看做是一连串的数据流,输入即可视为从文件或键盘中输入程序中的一串数据流,而输出则可以视为从程序中输出一连串的数据流到显示屏或文件中。
在编写 C++程序时,如果需要使用输入输出时,则需要包含头文件<iostream>
。<iostream>
中定义了用于输入输出的对象,例如常见的 cin 表示标准输入、cout 表示标准输出、cerr 表示标准错误。
需要特别强调的是,cin、cout、cerr 不是 C++ 中的关键字,其本质是函数调用,它们的实现采用的是 C++ 的运算符重载,这些知识点将会在后续逐一介绍。其中 cout 和 cerr 的输出目的地都是显示器,但不同的是 cout 是带有缓冲的,而 cerr 则不带缓冲。
在我们使用 cout 进行输出时需要紧接着使用“<<”操作符,使用 cin 进行输入时需要紧接着使用“>>”操作符,这两个操作符可以自行分析所处理的数据类型,因此无需我们像使用 scanf() 和 printf() 那样设置输入输出格式化语句。
#include<iostream>//头文件
using namespace std;//命名空间
int main()
{
int x;float y;//定义为浮点型cout<<"Please input an int number:"<<endl;//endl表示换行输出,和C语言中的'\n'相同,全称为end of linecin>>x;//表示从标准输入中读入一个 int 型的数据并存入到 x 变量中。如果此时用户输入的不是 int 型数据,则会被强制转化为 int 型数据。cout<<"The int number is x= "<<x<<endl;//则是将输入的整型数据输出,可以看出可以连续输出cout<<"Please input a float number:"<<endl;//给予用户提示cin>>y;cout<<"The float number is y= "<<y<<endl; return 0;
}
//连续cin输入数据
#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;
}
//这个程序从标准输入中不断地读取数据并存入到 val 变量中,每读入一个数据就求一次和,直至用户输入文件结束符标识时,程序才会输出之前用户输入所有数据之和。