(9C第九章习题解答.docx
文本预览下载声明
第九章 流类库和输入/输出习题 本概念与基础知识测试题填空题9.1.1 在C++中“流”是表示 (1) 。从流中取得数据称为 (2) ,用符号 (3) 表示;向流中添加数据称为 (4) ,用符号 (5) 表示。答案:(1)数据从一个对象到另一个对象的传送(2)提取操作(3)(4)插入操作(5)9.1.2 抽象类模板 (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)9.1.3 C++在类ios中定义了输入输出格式控制符,它是一个 (1) 。该类型中的每一个量对应两个字节数据的一位,每一个位代表一种控制,如要取多种控制时可用 (2) 运算符来合成,放在一个 (3) 访问限制的 (4) 数中。所以这些格式控制符必须通过类ios的 (5) 来访问。答案:(1)公有的无名的枚举类型(2)或“|”(3)保护(4)一个长整型数(5)公共接口(函数)9.1.4 取代麻烦的流格式控制成员函数,可采用 (1) ,其中有参数的,必须要求包含 (2) 头文件。答案:(1)流操作子(2)iomanip9.1.5 通常标准设备输入指 (1) 。标准设备输出指 (2) 。答案:(1)键盘(2)显示屏9.1.6 EOF为 (1) 标志,在iostream.h中定义EOF为 (2) ,在int get()函数中读入表明输入流结束标志 (3) ,函数返回 (4) 。答案:(1)文件结束标志(2)-1(3)^Z(Ctrl-Z)(4)EOF9.1.7 C++根据文件内容的 (1) 可分为两类 (2) 和 (3) ,前者存取的最小信息单位为 (4) ,后者为 (5) 。答案:(1)数据格式(2)文本文件(3)二进制文件(4)字符(5)字节9.1.8 当系统需要读入数据时是从 (1) 文件读入,即 (2) 操作。而系统要写数据时,是写到 (3) 文件中,即 (4) 操作。答案:(1)输入(2)提取(3)输出(4)插入9.1.9 在面向对象的程序设计中,C++数据存入文件称作 (1) ,而由文件获得数据称作 (2) 。按常规前者往往放在 (3) 函数中,而后者放在 (4) 函数中。答案:(1)把对象存入文件(2)由文件重构对象(3)析构函数(4)构造函数9.1.10 文件的读写可以是随机的,意思是 (1) ,也可以是顺序的,意思是 (2) 或 (3) 。答案:(1)可以从文件任何位置进行读写(2)从文件头开始(3)从尾部续上C++把每一个文件都看成一个 (1) 流,并以 (2) 结束。对文件读写实际上受到 (3) 指针的控制,输入流的指针也称为 (4) ,每一次提取从该指针所指位置开始。输出流的指针也称为 (5) ,每一次插入也从该指针所指位置开始。每次操作后自动将指针向文件尾移动。如果能任意向前向后移动该指针,则可实现 (6) 。答案:(1)有序的字节(2)文件结束符(end of file marker)(3)文件定位(4)读指针(5)写指针(6)随机读写简答题因cin为缓冲流,当键盘一次输入数据过多,保存在缓冲区中了,但这些数据可能是错的,希望清空它,以便下一次要求输入时,按提示正确输入,应该怎样办?答:只能读空缓冲区。流状态标志字state各位代表了什么?怎样使用?答:全0,goodbit=0x00,流正常第1位为1,eofbit=0x01,输入流结束,忽略后继提取操作;或文件结束,已无数据可取第2位为1,failbit=0x02,最近的I/O操作失败,流可恢复第3位为1,badbit=0x04,最近的I/O操作非法,流可恢复第4位为1,hardfail=0x08,I/O出现致命错误,流不可恢复,VC++6.0不支持采用成员函数进行操作:int ios::rdstate() const {return state;} //读取状态字int ios:operator!() const{return state(badbit|failbit);} //可用操作符!()代替fail()int ios::bad(){ return state badbit;} //返回非法操作位void ios::clear(int _i){ lock();state=_i;unlock();}//人工设置状态,可用来清状态int ios::e
显示全部