电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C++语言程序设计 教学课件 ppt 作者 邓振杰 第11章

80页
  • 卖家[上传人]:E****
  • 文档编号:89343265
  • 上传时间:2019-05-23
  • 文档格式:PPT
  • 文档大小:210KB
  • / 80 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第11章 C+输入/输出流,11.1 输入/输出流的概念 11.2 输 出 流 11.3 输 入 流,11.1 输入/输出流的概念,在C+程序中,数据可以从程序流向屏幕或磁盘文件,也可以从键盘或磁盘文件流入到程序中。 在C+语言中,数据的输入和输出操作包括以下几种情况:,(1)对标准输入设备键盘或标准输出设备显示器进行输入/输出操作,简称为标准I/O流。 (2)、对外存(如磁盘)上的文件进行输入/输出操作,简称为文件I/O。 (3)对内存中指定的字符串存储空间进行输入/输出操作,简称为串I/O。,简单地讲,I/O流是一系列写到屏幕显示器上或从键盘上读出的各种字符。当在C+中执行标准的输入/输出操作时,一般使用I/O流cin作为输入,使用cout作为输出。事实上,C+将I/O流定义为类。输入和输出操作分别由输入流istream和输出流ostream两个类提供。,而iostream是这两个类的派生类,允许进行双向的I/O操作。ostream的输出操作可认为是一个插入过程,由左移符(或称作插入操作符)“”的操作符实现。 任何一个使用iostream库的程序都必须包含头文件iostream.h

      2、。,在C+语言中,有四个已预先定义好的流对象,以便用户直接使用,分别为: (1)cin:一个istream类的对象,用于处理标准输入。 (2)cout:一个ostream类的对象,用于处理标准输出。,(3)cerr:一个ostream类的对象,用于处理标准出错信息,并提供不带缓冲区的输出; (4)clog:一个ostream类的对象,也用于处理标准出错信息,但提供带有缓冲区的输出。,11.2 输 出 流,11.2.1 基本输出操作 11.2.1.1 理解cout cout是console output的缩写,意为“控制台输出”,表示把程序结果输出到屏幕(标准输出设备)。,【例11.1】cout应用举例1。 #include void main(void) cout”C+ is very easy!”endl; ,运行程序,会在显示器上输出显示如下信息: C+ is very easy! 插入操作符可以串联起来使用,将多个数据项一起输出。,【例11.2】cout应用举例2。 #include void main(void) char name=“Zhang San“; int age=2

      3、5; cout“Output the name and age:“name“ “ageendl; ,运行程序,输出结果为: Output the name and age:Zhang San 25,【例11.4】以十六进制形式输出显示结果。 #include void main(void) float x=888.; float* p= ,运行程序,输出结果为: x: 888 &x: 0x0012FF7C *p: 888 p: 0x0012FF7C &p: 0x0012FF78,11.2.1.2 常见错误 11.2.1.3 输出成员函数 1. put()函数 成员函数put()把单个字符写入输出流中。,【例11.5】用输出成员函数在屏幕上输出一串字符“Hello!”。 #include void main(void) cout.put(H); cout.put(e); cout.put(l); cout.put(l); cout.put(o); cout.put(!); cout.put(n); ,实际上,下面两条语句是等价的: couta; cout.put(a); 两者都在屏幕上输

      4、出一个字符a。,2. write()函数 成员函数write()输出一串字符。该成员函数一般形式是: write(char* pch, int nCount) 其中,pch是指向字符数组的指针,nCount指明从第一个参数中复制输出字符的个数。,【例11.6】write()函数应用举例。 #include void main(void) char str=“You will be the C+ master !“; cout.write(str,sizeof(str)-1); coutendl; cout.write( ,运行程序,输出结果为: You will be the C+ master ! will,11.2.1.4 重载插入操作符 #include ,class Cdate public: CDate(char *Year,char *Month, char *Date, char* Time); void show_date(void); private: char Year32; char Month32; char Date32; char Time32; ;,CDa

      5、te:CDate(char *Year, char *Month, char *Date, char *Time) strcpy(CDate:Year, Year); strcpy(CDate:Month, Month); strcpy(CDate:Date, Date); strcpy(CDate:Time, Time); ,void CDate:show_date(void) cout“Year:t“Yearendl; cout“Month:t“Monthendl; cout“Date:t“Dateendl; cout“Time:t“Timeendl; ,void main(void) CDate current_date(“2004年“,“2月“,“14日“,“19时25分“); current_date.show_date(); ,11.2.2 输出格式控制 11.2.2.1 操作器 1. 控制浮点数显示精度setprecision 可用setprecision操作器来控制输出流显示的数据位数。默认状态下浮点数的输出精度是6位有效数字。,【例11.9】setprecision应

      6、用举例。 #include #include void main(void) cout“float:“endl; for(int i=1;i8;i+)coutsetprecision(i)200./7.endl;,coutsetiosflags(ios:fixed)“fixed:“endl; for(i=1;i8;i+)coutsetprecision(i)200./7.endl; ,输出结果为: float: 3e+001 29 28.6 28.57 28.571 28.5714 28.57143,fixed: 28.6 28.57 28.571 28.5714 28.57143 28.571429 28.5714286,2. 控制输出进制dec、oct、hex、setbase dec、oct、hex分别用于控制十进制、八进制和十六进制输出格式。默认状态下的输出流格式是十进制。,【例11.10】用不同的进制输出200: #include #include void main(void) int num=200; cout“Default:t“numendl“Decimal:t“num

      7、endl;,cout“Octal:tt“octnumendl; cout“Hexadecimal:t“hexnumendl; coutsetbase(16) “Hexadecimal:t“numendl; ,输出结果为: Default: 200 Decimal: 200 Octal: 310 Hexadecimal: c8 Hexadecimal: c8,3. 控制值的输出宽度setw 可以使用setw(int nw)操作器来确定输出域的宽度。如果一个值所需的字符数比setw(int nw)给定的字符数nw多,则该值将使用它所需的所有字符。如果一个值所需的字符数少,则数字前填充空格。,【例11.11】setw应用举例。 #include #include void main(void) for(int i=4;i=8;i+) coutsetw(i)12345endl; ,输出结果: 12345 12345 12345 12345 12345,4. 控制填充字符setfill setfill(int nFill)用来在空白处填充字符。 5. 其他操作器ends、flush、ws end

      8、s:插入空终结符(0) flush:刷新流。 ws:仅用于输入,跳过空格。,11.2.2.2 流的格式化标志 1. 使用setiosflags或resetiosflags操作器设置格式 操作器setiosflags(long lFlags)用于设置由lFlags标示的格式化标志。表12.1给出了格式化标志及其作用。,【例11.12】格式化标志的应用举例。 #include #include void main(void) double pie=3.1415926,x=3.5; int n=255,m=300; coutnendl; /默认状态下为十进制,coutsetiosflags(ios:hex)nendl; /十六进制 coutsetiosflags(ios:hex|ios:uppercase) /十六进制、字符大写 nendl; coutsetiosflags(ios:hex|ios:uppercase,|ios:showbase)nendl; /十六进制、字符大写、带基指示符 coutsetw(6)setiosflags(ios:right /右对齐、十六进制、 |ios:u

      9、ppercase|ios:showbase) /字符大写、带基指示符,nendl; coutmendl; /除左对齐外,其他与上条语句输出相同 /说明设置的标志位仍然起作用 coutresetiosflags(ios:hex) /恢复为十进制 nendl; coutpieendl; /默认输出浮点数,coutsetiosflags(ios:showpos) /输出带“+” xendl; coutsetiosflags(ios:scientific) /带“+”、科学计数法 xendl; coutresetiosflags(ios:uppercase) /恢复为小写e,仍为科学计数法,pieendl; coutsetiosflags(ios:fixed) /带“+”、定点数 xendl; coutsetiosflags(ios:showpoint) /带“+”、定点数、带小数点 xendl; coutresetiosflags(ios:showpoint|ios:showpos) /去除定点和“+” xendl; ,输出结果为: 255 ff FF 0XFF 0XFF,0X12C 255 3.14159 +3.5 +3.500000E+000 +3.141593e+000 +3.5 +3.50000 3.5,2. 使用成员函数设置格式 setf(long lFlags)函数用来设置格式化标志,unsetf(long lFlags)函数是恢复标志位。,11.2.2.3 格式化成员函数 1. 填充和获取字符的成员函数fill fill是重载函数,分别为fill(char nFill)和fill() fill(char nFill) 用于填充字符。,例如: cout.fill(a); 或 cout.fill(100); fill()用于获取当前的填充字符。例如: coutsetfill(65); coutcout.fill()

      《C++语言程序设计 教学课件 ppt 作者 邓振杰 第11章》由会员E****分享,可在线阅读,更多相关《C++语言程序设计 教学课件 ppt 作者 邓振杰 第11章》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.