第8章输入输出流对象44页PPT文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

26.04.2020
第8章输入/输出流对象
13
无格式输入/输出
无格式输入/输出就是按系统预定义的格 式进行的输入/输出。
按默认约定,每个C++程序都能使用标准 I/O流,如标准输入、标准输出。
cin用来处理标准输入,即键盘输入;cout用来处 理标准输出,即屏幕输出。它们被定义在 iostream.h头文件中。
11 16 15 6
10 9 8 7
26.04.2020
第8章输入/输出流对象
2
分析问题
C++没有定义任何用于执行输入或输出 的语句,但可以使用C语言中的标准 I/O函数printf()和scanf()来解决此 问题。
26.04.2020
第8章输入/输出流对象
3
【例8-2】有如下程序:
//example8_2.cpp
内容提要
8.1 螺旋矩阵的输入/输出问题 8.2 流 8.3 无格式输入/输出 8.4 输入/输出的格式控制 (重点) 8.6 自定义类型对象的输入输出 8.7 文件的输入/输出问题
提出问题
编程输出M*M的螺旋矩阵,要求数据间 距与M相同。例如,4*4的螺旋矩阵, 其间距为4:
1234
12 13 14 5
#include <stdio.h>
该程序的运行结果为:
int b=20; float a=5.6; int main() {
1610612736 23↙ 45↙ 4349980
printf("%d\n",a);
scanf("%d",&a);
scanf("%d",&b);
printf("%d\n","abc");
在ostream流类中,对应每个基本数据类型定义运算符 “<<”重载函数为友元,它们在ostream中声明:
ostream& operator<<(ostream& dest,char* pSource); ostream& operator<<(ostream& dest,int source); ostream& operator<<(ostream& dest,char source);
26.04.2020
第8章输入/输出流对象
16
无格式输入
“>>”是预定义的提取运算符,作用在流类对象cin 上,实现默认格式的键盘输入。使用cin将数据输入 到变量的格式如下:
cin>>V1>>V2>>…>>Vn;
其中,V1、V2、…、Vn都是变量。功能是暂停执行程序 ,等待用户从键盘输入数据,各数据间用空格或Tab 键分隔,输入数据类型要与接受变量类型一致,输完 后,按回车键结束。
return 0;
} 26.04.2020
第8章Fra Baidu bibliotek入/输出流对象
4
printf()与scanf()存在以下两个缺点 :
1.非类型安全
2.不可扩充性
26.04.2020
第8章输入/输出流对象
5
C++使用类型安全(type safe)的I/O 流操作。不同类型的I/O流操作都是重 载的,没有定义过I/O功能的类型不具 备I/O操作的能力。C++标准库既可作 为标准数据类型数据的I/O,也能用于 自定义类型的对象的I/O,这种扩展性 是C++最有价值的特点之一。
11
标准输入/输出流对象
标准I/O流预定义了4个流类对象:cin 、cout、cerr、clog。
操作系统给把外设用文件名的方式进 行管理,因此程序设计要访问外设就 跟访问文件一样方便。
26.04.2020
第8章输入/输出流对象
12
I/O分为无格式支持的低级I/O和具有 格式支持的高级I/O。
无格式支持的低级I/O以基本字节为操 作对象,有格式支持的高级I/O把若干 字节组合成有意义的单位,如整数、 浮点数、字符、字符串及用户自定义 类型等等。
在使用cout和cin前,要用编译预处理命令将所使 用的头文件包含到源程序中,其格式如下:
26.04.2020
#include <第i8o章s输t入r/e输a出m流.对h象>
14
无格式输出
“<<”是预定义的插入运算符,作用在流类对象 cout上,实现默认格式的屏幕输出。使用cout输 出表达式值到屏幕上的格式如下:
26.04.2020
第8章输入/输出流对象
8
输入/输出是一种数据传递操作,可 以看作字符序列在计算机内存与外设 之间的流动,C++将数据从一个对象到 另一个对象的流动抽象为“流”。流 动的方向不同,构成输入/输出流,即 I/O流。
26.04.2020
第8章输入/输出流对象
9
I/O流
在C++程序中,数据可以从键盘流入到 程序,也可以从程序流向屏幕或磁盘 文件。从流中获取数据的操作称为提 取操作,向流中添加数据的操作称为 插入操作。数据的输入/输出就是通过 I/O流来实现的。
26.04.2020
第8章输入/输出流对象
10
I/O流类库的层次结构
C++编译系统提供的I/O流类库含有两 个平行基类:
streambuf
ios
ios类有4个直接派生类:
输入流类istream
输出流类ostream
文件流类fstreambase
26.0串4.20流20 类strstream第b8章a输s入e/输出流对象
C++用输入输出流来解决这个问题。下
面先介绍流的概念。
26.04.2020
第8章输入/输出流对象
6

在C++程序中,数据可以从键盘流入到 程序中,也可以从程序中流向屏幕或 磁盘文件。把数据的流动抽象为流。 C++的输入输出操作是由流来处理的。
26.04.2020
第8章输入/输出流对象
7
流的概念
所谓流(stream)是指数据从一个位 置流向另一个位置。流是字节的序列 。
26.04.2020
第8章输入/输出流对象
17
无格式输入
cin是istream流类的对象,它在iostream头文件 中作为全局对象定义,其格式如下:
istream cin(stdin);
cout<<E1<<E2<<…<<Em;
其中,E1、E2、…、Em为均为表达式。功能是计 算各表达式的值,并将结果输出到屏幕当前光标 位置处。
26.04.2020
第8章输入/输出流对象
15
无格式输出
cout是ostream流类的对象,它在iostream头文件中作 为全局对象定义,其格式如下:
ostream cout(stdout); 其中,stdout表示标准输出设备名(屏幕)。
相关文档
最新文档