C++程序设计(第二版)第9章流类库与输入输出
- 格式:ppt
- 大小:2.40 MB
- 文档页数:3
C++:流类库与输⼊输出7.2.1 C++的输⼊输出流ios:流基类(抽象类)istream:通⽤输⼊流类和其他输⼊流的基类ostream:通⽤输出流类和其他输出类的基类iostream:通⽤输⼊输出流类和其他输⼊输出流类的基类(以下的派⽣类对象有cin、cout、cerr、clog)ifstream:输⼊⽂件流类ofstream:输出⽂件流类fstream:输⼊输出⽂件流istrstream:输⼊字符串流类ostrstream:输出字符串流类strstream:输⼊输出字符串类iostream_withassign: 通⽤输⼊输出流类和其他输⼊输出流类iostream的的派⽣类7.2.2 预定义的流对象C++中包含⼏个预定义的流对象,它们是标准输⼊流对象cin、标准输出流对象cout、⾮缓冲型的标准出错流对象ceer、缓冲型的标准出错流对象clogcin是istream的派⽣类istream_withassign的对象,它与标准输⼊设备(通常是键盘)相联系。
cout是ostream的派⽣类ostream_withassign的对象,它与标准输出设备(通常是显⽰器)相联系。
ceer是ostream的派⽣类ostream_withassign的对象,它与标准错误输⼊设备(通常是显⽰器)相联系。
clog是ostream的派⽣类ostream_withassign的对象,它与标准错误输⼊设备(通常是显⽰器)相联系。
由于istream和ostream类都在头⽂件iostream中声明的,因此只要在程序中包含头⽂件iostream.h,C++程序开始时这四个标准流对象的构造函数都被⾃动调⽤。
7.2.3 输⼊输出流的成员函数(1)put函数put函数⽤于输出⼀个字符格式:cout.put(char ch)例如:cout.put('A')===cout.put(65)===cout.put(25+40)(2)get函数get函数的功能与提取运算符>>类似,主要不同之处是get函数在读⼊数据时可以包括空⽩字符,⽽后者不可以。
1.概念填空题1.1头文件iostream中定义了4个标准流对象cin,cout,cerr,clog。
其中标准输入流对象为cin,与键盘连用,用于输入;cout为标准输出流对象,与显示器连用,用于输出。
1.2用标准输入流对象cin与提取操作符>>连用进行输入时,将空格与回车当作分隔符,使用get()成员函数进行输入时可以指定输入分隔符。
1.3每一个输入输出流对象都维护一个流格式状态字,用它表示流对象当前的格式状态并控制流的格式。
C++提供了使用格式控制函数与操作子函数来控制流的格式的方法。
1.4 C++根据文件内容的数据格式可分为两类:文本文件和二进制文件。
前者存取的最小信息单位为字节,后者记录。
1.5文件输入是指从文件向内存读入数据;文件输出则指从内存向文件输出数据。
文件的输入输出首先要打开文件;然后进行读写;最后关闭文件。
1.6文本文件是存储ASCII码字符的文件,文本文件的输入可用cin从输入文件流中提取字符实现。
文本文件的输出可用cout将字符插入到输出文件流来实现。
程序在处理文本文件时需要(需要/不需要)对数据进行转换。
1.7二进制文件是指直接将计算机内的数据不经转换直接保存在文件中。
二进制文件的输入输出分别采用read()、write() 成员函数。
这两个成员函数的参数都是2个,分别表示读写缓冲区和字节数。
1.8设定、返回文件读指针位置的函数分别为seekg,tellg;设定、返回文件写指针位置的函数分别为seekp,tellp。
2 简答题2.1 为什么cin输入时,空格和回车无法读入?这时可改用哪些流成员函数?2.2 文件的使用有它的固定格式,试做简单介绍。
2.3 在ios类中定义的文件打开方式中,公有枚举类型open_mode的各成员代表什么文件打开方式?2.4 简述文本文件和二进制文件在存储格式、读写方式等方面的不同,各自的优点和缺点。
2.5 文本文件可以按行也可以按字符进行复制,在使用中为保证能完整复制要注意哪些问题?2.6 文件的随机访问为什么总是用二进制文件,而不用文本文件?2.7 怎样使用istream和ostream的成员函数来实现随机访问文件?3.选择题3.1要进行文件的输出,除了包含头文件iostream外,还要包含头文件(C )。
C++程序设计(第2版)第九章习题解答-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN第九章流类库和输入/输出习题一.本概念与基础知识测试题9.1填空题在C++中“流”是表示(1)。
从流中取得数据称为(2),用符号(3)表示;向流中添加数据称为(4),用符号(5)表示。
答案:(1)数据从一个对象到另一个对象的传送(2)提取操作(3)>>(4)插入操作(5)<<抽象类模板(1)是所有基本流类的基类,它有一个保护访问限制的指针指向类(2),其作用是管理一个流的(3)。
C++流类库定义的cin,cout,cerr和clog是(4)。
cin通过重载(5)执行输入,而cout,cerr和clog通过(6)执行输出。
答案:(1)basic_ios(2)basic_streambuf(3)缓冲区(4)全局流对象(5)>>(stream_extraction operator)(6)<<(stream_insertion operator)C++在类ios中定义了输入输出格式控制符,它是一个(1)。
该类型中的每一个量对应两个字节数据的一位,每一个位代表一种控制,如要取多种控制时可用(2)运算符来合成,放在一个(3)访问限制的(4)数中。
所以这些格式控制符必须通过类ios的(5)来访问。
答案:(1)公有的无名的枚举类型(2)或“|”(3)保护(4)一个长整型数(5)公共接口(函数)取代麻烦的流格式控制成员函数,可采用(1),其中有参数的,必须要求包含(2)头文件。
答案:(1)流操作子(2)iomanip通常标准设备输入指(1)。
标准设备输出指(2)。
答案:(1)键盘(2)显示屏EOF为(1)标志,在中定义EOF为(2),在int get()函数中读入表明输入流结束标志(3),函数返回(4)。
答案:(1)文件结束标志(2)-1(3)^Z(Ctrl-Z)(4)EOFC++根据文件内容的(1)可分为两类(2)和(3),前者存取的最小信息单位为(4),后者为(5)。
《C++程序设计》教学大纲课程名称:C++程序设计英文名称:F undamental course of C++ Programming面向专业:对计算机要求较高的理工科专业授课学时____48 __;习题课____8 __;实验学时___56(含课外24);课程学分:___ 4 _ __;一、课程的性质与目的程序设计课程是大学生的通识教育课程,包括面向对象程序设计及最基本的数据结构和软件工程的知识。
其任务是培养学生的面向对象的编程能力,也锻炼大学生的逻辑思维能力,为大学生将来结合其专业应用计算机编程打下一个扎实的基础。
本课程选用面向对象的C++语言作为教学语言。
本课程的先修课程是大学计算机基础。
C++课程设计是本课程的组成部分,在短学期进行,因单独成课大纲另立,软件工程的知识安排在课程设计中。
本大纲仅为基础教学部分的大纲。
二、教学内容与要求本课程教学分为两阶段进行,分别在两个学期实施,学时分配为授课24+24,习题课4+4,上机实验28+28学时。
总上机时间含课外上机24学时。
第一阶段:1.C++基础知识(1)初识C++程序;(2)了解类型潜在的面向对象的特性——值集与操作集的封装(3)掌握基本数据类型和运算:关键字与标识符,基本数据类型,数组,枚举类型,运算符、表达式和优先级;(4)理解类型的相容性与不相容性;(5)掌握简单标准输入输出的程序实现。
2.基本控制结构程序设计(1)理解算法的概念,掌握算法的描述方法,了解程序设计三种基本结构;(2)掌握双路和多路选择结构的程序设计:if 语句,switch语句;(3)掌握循环结构的程序设计: while语句,for语句,do…while语句;(4)掌握常用算法的应用:直接法,枚举法,递推法,迭代法;(5)应用结构化技术分解程序,设计、实现、测试和查错简单程序;(6)掌握文本文件的输入输出。
3.函数(1)理解函数抽象机制,掌握函数定义与函数的调用;(2)理解参数化机制(值调用),了解参数的传递过程;(3)理解函数的返回值及函数原型说明;(4)理解全局变量,局部变量,变量的存贮类型与作用域,生命期与可见性;(5)掌握函数的递归调用,编写、测试、调试简单的递归函数;(6)理解函数重载,缺省变元,内联函数。