第8章输入输出流对象.ppt
《第8章输入输出流对象.ppt》由会员分享,可在线阅读,更多相关《第8章输入输出流对象.ppt(43页珍藏版)》请在三一办公上搜索。
1、解析C+面向对象程序设计,第8章 输入/输出流对象,内容提要,8.1 螺旋矩阵的输入输出问题 8.2 流8.3 无格式输入/输出8.4 输入/输出的格式控制(重点)8.6自定义类型对象的输入输出8.7 文件的输入/输出问题,第8章输入/输出流对象,2023/8/7,3,提出问题,编程输出M*M的螺旋矩阵,要求数据间距与M相同。例如,4*4的螺旋矩阵,其间距为4:1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7,第8章输入/输出流对象,2023/8/7,4,分析问题,C+没有定义任何用于执行输入或输出的语句,但可以使用C语言中的标准I/O函数printf()和scan
2、f()来解决此问题。,第8章输入/输出流对象,2023/8/7,5,【例8-2】有如下程序:/example8_2.cpp#include int b=20;float a=5.6;int main()printf(%dn,a);scanf(%d,该程序的运行结果为:161061273623454349980,第8章输入/输出流对象,2023/8/7,6,printf()与scanf()存在以下两个缺点:1非类型安全2不可扩充性,第8章输入/输出流对象,2023/8/7,7,C+使用类型安全(type safe)的I/O流操作。不同类型的I/O流操作都是重载的,没有定义过I/O功能的类型不具备
3、I/O操作的能力。C+标准库既可作为标准数据类型数据的I/O,也能用于自定义类型的对象的I/O,这种扩展性是C+最有价值的特点之一。C+用输入输出流来解决这个问题。下面先介绍流的概念。,第8章输入/输出流对象,2023/8/7,8,流,在C+程序中,数据可以从键盘流入到程序中,也可以从程序中流向屏幕或磁盘文件。把数据的流动抽象为流。C+的输入输出操作是由流来处理的。,第8章输入/输出流对象,2023/8/7,9,流的概念,所谓流(stream)是指数据从一个位置流向另一个位置。流是字节的序列。,第8章输入/输出流对象,2023/8/7,10,输入输出是一种数据传递操作,可以看作字符序列在计算机
4、内存与外设之间的流动,C+将数据从一个对象到另一个对象的流动抽象为“流”。流动的方向不同,构成输入/输出流,即I/O流。,第8章输入/输出流对象,2023/8/7,11,I/O流,在C+程序中,数据可以从键盘流入到程序,也可以从程序流向屏幕或磁盘文件。从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作。数据的输入/输出就是通过I/O流来实现的。,第8章输入/输出流对象,2023/8/7,12,I/O流类库的层次结构,C+编译系统提供的I/O流类库含有两个平行基类:streambufiosios类有4个直接派生类:输入流类istream输出流类ostream文件流类fstream
5、base串流类strstreambase,第8章输入/输出流对象,2023/8/7,13,标准输入输出流对象,标准I/O流预定义了4个流类对象:cin、cout、cerr、clog。操作系统给把外设用文件名的方式进行管理,因此程序设计要访问外设就跟访问文件一样方便。,第8章输入/输出流对象,2023/8/7,14,I/O分为无格式支持的低级I/O和具有格式支持的高级I/O。无格式支持的低级I/O以基本字节为操作对象,有格式支持的高级I/O把若干字节组合成有意义的单位,如整数、浮点数、字符、字符串及用户自定义类型等等。,第8章输入/输出流对象,2023/8/7,15,无格式输入/输出,无格式输入
6、/输出就是按系统预定义的格式进行的输入/输出。按默认约定,每个C+程序都能使用标准I/O流,如标准输入、标准输出。cin用来处理标准输入,即键盘输入;cout用来处理标准输出,即屏幕输出。它们被定义在iostream.h头文件中。在使用cout和cin前,要用编译预处理命令将所使用的头文件包含到源程序中,其格式如下:,#include,第8章输入/输出流对象,2023/8/7,16,无格式输出,“”是预定义的插入运算符,作用在流类对象cout上,实现默认格式的屏幕输出。使用cout输出表达式值到屏幕上的格式如下:coutE1E2Em;其中,E1、E2、Em为均为表达式。功能是计算各表达式的值,
7、并将结果输出到屏幕当前光标位置处。,第8章输入/输出流对象,2023/8/7,17,无格式输出,cout是ostream流类的对象,它在iostream头文件中作为全局对象定义,其格式如下:ostream cout(stdout);其中,stdout表示标准输出设备名(屏幕)。在ostream流类中,对应每个基本数据类型定义运算符“”重载函数为友元,它们在ostream中声明:ostream,第8章输入/输出流对象,2023/8/7,18,无格式输入,“”是预定义的提取运算符,作用在流类对象cin上,实现默认格式的键盘输入。使用cin将数据输入到变量的格式如下:cinV1V2Vn;其中,V1、
8、V2、Vn都是变量。功能是暂停执行程序,等待用户从键盘输入数据,各数据间用空格或Tab键分隔,输入数据类型要与接受变量类型一致,输完后,按回车键结束。,第8章输入/输出流对象,2023/8/7,19,无格式输入,cin是istream流类的对象,它在iostream头文件中作为全局对象定义,其格式如下:istream cin(stdin);在istream流类,对应每个基本数据类型定义运算符“”重载函数为友元,它们同样也在ostream中声明:istream,第8章输入/输出流对象,2023/8/7,20,输入输出的格式控制,C+提供了两种格式化输入/输出方式:一种是用ios类成员函数进行格式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入输出 对象
链接地址:https://www.31ppt.com/p-5667647.html