C语言中,通常会使用 scanf 和 printf 来对数据进行输入输出操作。在C++语言中,C语言的这一套输入输出库我们仍然能使用,但是 C++ 又增加了一套新的、更容易使用的输入输出库。
在编写 C++ 程序时,如果需要使用输入输出时,则需要包含头文件 iostream,它包含了用于输入输出的对象,例如常见的cin表示标准输入、cout表示标准输出、cerr表示标准错误。
iostream 是 Input Output Stream 的缩写,意思是“输入输出流”。
cout 和 cin 都是 C++ 的内置对象,而不是关键字。C++ 库定义了大量的类(Class),程序员可以使用它们来创建对象,cout 和 cin 就分别是 ostream 和 istream 类的对象,只不过它们是由标准库的开发者提前创建好的,可以直接拿来使用。这种在 C++ 中提前创建好的对象称为内置对象。
【例1】简单的输入输出代码示例:
#include<iostream> using namespace std; int main(){int x;float y;cout<<"Please input an int number:"<<endl;cin>>x;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; }
运行结果如下(↙表示按下回车键):
Please input an int number:
8↙
The int number is x= 8
Please input a float number:
7.4↙
The float number is y= 7.4
使用 cout 进行输出时需要紧跟<<运算符,使用 cin 进行输入时需要紧跟>>运算符,这两个运算符可以自行分析所处理的数据类型,因此无需像使用 scanf 和 printf 那样给出格式控制字符串。
【例2】cin 连续输入示例:
#include<iostream> using namespace std; int main(){int x;float y;cout<<"Please input an int number and a float number:"<<endl;cin>>x>>y;cout<<"The int number is x= "<<x<<endl;cout<<"The float number is y= "<<y<<endl; return 0; }
运行结果:
Please input an int number and a float number:
8 7.4↙
The int number is x= 8
The float number is y= 7.4
第 7 行代码连续从标准输入中读取一个整型和一个浮点型数字(默认以空格分隔),分别存入到 x 和 y 中。
输入运算符>>在读入下一个输入项前会忽略前一项后面的空格,所以数字 8 和 7.4 之间要有一个空格,当 cin 读入 8 后忽略空格,接着读取 7.4。