C++基础之C++中的输入输出
文章目录
前言
c++是一个重要的面向对象语言,本文梳理了c++中输入输出基本语法以及关于输入出相关知识的总结
一、输入输出流
输入输出是数据传送的过程,c++中将此过程形象的称为流,c++中输入输出流输入输出流是指由若干字节组成的序列,这些字节序列中的数据按顺序从一个对象传送到另一个对象。在输入操作时,字节流从输入设备流向内存;在输出操作时,字节流从内存流向输出设备。流中的内容可以是ASCII码值、二进制形式数据、数字音频视频、图形图像或者其他形式的信息。
(输入设备:如键盘、磁盘 输出设备:如屏幕、打印机等)
在c++中,输入输出流被定义为类,c++的I/O库中的类为流类,用流类定义的对象称为流对象。
二、c++中输入输出语句
1.标准输入设备
cin 是标准输入设备(相当于键盘),连续从键盘读取数据,">>"为提取运算符。
输入的使用:cin >> 变量 (cin在输入字符串时,空格作为结束符)
2.标准输出设备
cout 是标准输出设备(相当于屏幕),"<<"为插入运算符。
输出的使用:cout << 输出项 << endl (endl 相当于换行符"\n")
代码示例如下:
#include <iostream>
using namespace std;
int main()
{
int a;
char ch;
cout << "请输入一个常数" << endl;
cin >> a;
cout << "请输入一个字母" << endl;
cin >> ch;
cout << "常数为" << a << endl;
cout << "字母为" << ch << endl;
return 0;
}
运行结果:
3.原理
在内存中为每个数据流开辟一个内存缓冲区,用来存放流中的数据。
当用cin和>>输入数据时,从键盘获取的数据先放入键盘的缓冲区中,按回车键,键盘缓冲区数据输入到程序中输入缓冲区,形成cin流,然后用提取符">>"从输入缓冲区中提取数据给程序中相关变量。
在输出时,先将数据放入程序中的输出缓冲区保存,缓冲区满了或遇到endl时,将缓冲区中的数据传到显示器显示出来。
三、iostream类库
ios是抽象基类,派生出istream类和ostream类,"i"和"o"分别代表输入和输出,由istream类和ostream类经过多重继承派生出的类为iostream类,支持输入输出操作,iostream类库中包含许多用于输入输出的类。
与iostream类库有关的头文件:
iostream 包含对输入输出流进行操作所需的基本信息
fstream 用于用户管理的文件的I/O操作
strstream 用于字符串流I/O操作
stdiostream 用于混合使用C和C++的I/O机制时,例如将C程序转变为C++
iomanip 使用格式化I/O时包含此头文件