C++输入输出(cin和cout)
在C语言中,我们通常会使用 scanf 和 printf 来对数据进行输入输出操作。在C++语言中,C语言的这一套输入输出库我们仍然能使用,但是 C++ 又增加了一套新的、更容易使用的输入输出库。
【例1】简单的输入输出代码示例:
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
C++ 中的输入与输出可以看做是一连串的数据流,输入即可视为从文件或键盘中输入程序中的一串数据流,而输出则可以视为从程序中输出一连串的数据流到显示屏或文件中。
在编写 C++ 程序时,如果需要使用输入输出时,则需要包含头文件
使用 cout 进行输出时需要紧跟
第 6 行代码表示输出
第 8 行代码将输入的整型数据输出。从该语句中我们可以看出 cout 能够连续地输出。同样 cin 也是支持对多个变量连续输入的,如下所示。
【例2】cin 连续输入示例:
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 中。
输入运算符
初学者可能会觉得 cout、cin 的用法非常奇怪,它们既不是类似 printf()、scanf() 的函数调用,也不是关键字,请大家先保留这个疑问,我们会在《C++运算符重载》一章中为你揭开谜底。
cout、cin 的用法非常强大灵活,本节所展示的只是最基本的功能,更多高级技巧将在后续章节中介绍。在以后的 C++ 编程中,我也推荐大家使用 cin、cout,它们比C语言中的 scanf、printf 更加灵活易用。
【例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
C++ 中的输入与输出可以看做是一连串的数据流,输入即可视为从文件或键盘中输入程序中的一串数据流,而输出则可以视为从程序中输出一连串的数据流到显示屏或文件中。
在编写 C++ 程序时,如果需要使用输入输出时,则需要包含头文件
iostream
,它包含了用于输入输出的对象,例如常见的cin
表示标准输入、cout
表示标准输出、cerr
表示标准错误。
iostream 是 Input Output Stream 的缩写,意思是“输入输出流”。cout 和 cin 都是 C++ 的内置对象,而不是关键字。C++ 库定义了大量的类(Class),程序员可以使用它们来创建对象,cout 和 cin 就分别是 ostream 和 istream 类的对象,只不过它们是由标准库的开发者提前创建好的,可以直接拿来使用。这种在 C++ 中提前创建好的对象称为内置对象。
使用 cout 进行输出时需要紧跟
<<
运算符,使用 cin 进行输入时需要紧跟>>
运算符,这两个运算符可以自行分析所处理的数据类型,因此无需像使用 scanf 和 printf 那样给出格式控制字符串。第 6 行代码表示输出
"Please input a int number:"
这样的一个字符串,以提示用户输入整数,其中endl
表示换行,与C语言里的\n
作用相同。当然这段代码中也可以用\n
来替代endl
,这样就得写作:
cout<<"Please input an int number:\n";
endl 最后一个字符是字母“l”,而非阿拉伯数字“1”,它是“end of line”的缩写。第 7 行代码表示从标准输入(键盘)中读入一个 int 型的数据并存入到变量 x 中。如果此时用户输入的不是 int 型数据,则会被强制转化为 int 型数据。
第 8 行代码将输入的整型数据输出。从该语句中我们可以看出 cout 能够连续地输出。同样 cin 也是支持对多个变量连续输入的,如下所示。
【例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。初学者可能会觉得 cout、cin 的用法非常奇怪,它们既不是类似 printf()、scanf() 的函数调用,也不是关键字,请大家先保留这个疑问,我们会在《C++运算符重载》一章中为你揭开谜底。
cout、cin 的用法非常强大灵活,本节所展示的只是最基本的功能,更多高级技巧将在后续章节中介绍。在以后的 C++ 编程中,我也推荐大家使用 cin、cout,它们比C语言中的 scanf、printf 更加灵活易用。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算