- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CIO流控制
第六节 I/O流控制
1. I/O的书写格式 I/0流是输入或输出的一系列字节,当程序需要在屏幕上显示输出时,可以使用插入操 作符“”向cout输出流中插入字符。例如: cout”This is a program.\n; 当程序需要执行键盘输入时,可以使用抽取操作符“”从cin输人流中抽取字符。例如: int myAge; cinmyAge; 不管把什么基本数据类型的名字或值传给流,它都能懂。 例如,下面的函数输出字符串和整数: #include iostream.h void main() { coutMy name is Jone\n; coutthe ID is; cout2; coutendl; } 上面的输出也可以在同一行中串连,下面的输出语句与上例输出同样内容: cout My name is Jone\n ”the ID is 2 endl; 也可以分在几行,提高可读性,下列语句与上例输出同样结果: coutMy name is Jone n //行末无分号 the ID is 2 endl; cin可以和cout一样的方式调整行,它自动识别变量位置和类型。例如: int i;float f;long l; cin i f l; cin能够知道抽取的变量之类型,它将对i,f,l分别给出一个整型、浮点型和长整型数。2.使用控制符 流的默认格式输出有时不能满足特殊要求,如:
double average=9.400067; coutaverageendl;
希望显示的是9.40,即保留两位小数,可是却显示了9.40007;默认显示6位有效位。 用控制符(manipulators)可以对I/O流的格式进行控制。控制符是在头文件iomanip.h中定义的对象。可以直接将控制符插入流中。常用控制符如表2-4所列。
表2-4 I/O流的常用控制符
控制符
描 述
dechexoctsetfill(c)setprecision(n) setw(n) setiosflags(ios::fixed) setiosflags(ios::scientific) setiosflags(ios::left) setiosflags(ios::right) setiosflags(ios::skipws) setiosflags(ios::uppercase) setiosflags(ios::lowercase)
置基数为10 置基数为16 置基数为8 设填充字符为c 设显示小数精度为n位 设域宽为n个字符固定的浮点显示 指数表示左对齐右对齐 忽略前导空白16进制数大写输出 16进制数小写输出
?
使用控制符时,要在程序的头上加头文件iomanip.h。
3.控制浮点数值显示 使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是6。 如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。setiosflags(ios::fixed)是用定点方式表示实数。 如果与setiosnags(ios::scientific)合用, 可以控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数。 例如,下面的代码分别用浮点、定点和指数方式表示一个实数:
//********************* //** ch2_1.cpp ** //*********************
#include iostream.h #include iomanip.h //要用到格式控制符
void main() { double amount = 22.0/7; cout amount endl; cout setprecision(0) amount endl setprecision(1) amount endl setprecision(2) amount endl setprecision(3) amount endl setprecision(4) amount endl;
cout setiosflags(ios::fixed); co
文档评论(0)