《C++程序输入输出_简介标准IO.pdf》由会员分享,可在线阅读,更多相关《C++程序输入输出_简介标准IO.pdf(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、杨榆北京邮电大学计算机学院掌握标准输出一般用法理解格式化输出掌握标准输入一般用法2012/9/22C+程序设计2标准输出对象简单用法格式化输出标准输入对象简单用法条件状态2012/9/22C+程序设计3标准输出对象的一般用法 cout 表达式表达式1 表达式表达式2。表达式表达式n示例:double dVal(3.14159);cout “dVal=”dVal endl;/dVal=3.141592012/9/22C+程序设计4IO对象管理缓冲区,存储程序读写的数据,在特定时刻,将数据写入到真实的输出设备或文件。输出缓存区刷新时机 程序正常结束,即main函数返回。缓冲区满。用操作符显示刷新缓
2、存区,例如endl。设置unitbuf,则每个输出操作之后刷新缓存区。将输入和输出绑定。2012/9/22C+程序设计5格式化输出用法 cout 操作符操作符表达式表达式;cout setiosflags(ios:)表达式表达式;/指代具指代具/体体flag2012/9/22C+程序设计6Boolalpha:cout boolalpha true=true“false”false endl;Noboolalpha:cout Noboolalpha “true=true“false=”falseendl;结果:2012/9/22C+程序设计7Dec:(十进制显示)int iVal=16;cout
3、“dec:”deciVal;Hex:(十六进显示)Cout“hex:”hexiVal;Oct:(八进制显示)Cout“oct:“octiVal;结果:2012/9/22C+程序设计8Showbase:(显示基数的前缀)Int ival(16);Coutshowbase;cout“dec”decivalendl“oct”octivalendl“hex”hexivalendllNoshowbase:(不显示前缀)Coutnoshowbase;cout“dec”decivalendl“oct”octivalendl“hex”hexivalendl结果:2012/9/22C+程序设计9Showpoin
4、t(总显示小数点)cout showpoint showpoint 10.0=10.0 endlNoshowpoint(有小数点的时候才显示)cout noshowpoint“noshowpoint 10.0=10.0 endl结果:2012/9/22C+程序设计10Showpos:(显示非负数中的+)Int i=16;coutshowpos:showposiendl;Noshowpos:(不显示非负数中的+)coutnoshowpos:noshowposiendl;结果:2012/9/22C+程序设计11Fixed:(用小数形式显示浮点数)Float fVal=5.1;coutFixed:f
5、ixedfValendl;Scientific:(用科学计数法显示浮点数)coutscientific:scientificfValendl;结果:2012/9/22C+程序设计12Uppercase:(在十六进制中打印0X,科学计数法中打印E)IntiVal(5);float fval(5.1);cout uppercase hex“iVal=”iVal scientific“fVal=”fvalendl;nouppercase:(在十六进制中打印0 x,科学计数法中打印e)cout nouppercase hex“iVal=”iVal scientific“fVal=”fvalendl;结
6、果:2012/9/22C+程序设计13Left:(左对齐)Int i=-16;double d=3.14159;coutleft i:setw(12)inextcolendld:setw(12)dnext colendl;Right:(右对齐)coutright i:setw(12)inext colendld:se tw(12)dnext col endl;Internal:(符号左对齐,数据右对齐)cout Internal i:setw(12)inextcolendld:setw(12)dnext colendl;结果:2012/9/22C+程序设计14例1:指定整数基数,并输出其基数c
7、onst int iVal(15);cout showbase;/显示基数cout default value:iVal=iVal endl printed in octal:iVal=oct iVal endl printed in hexadecimal:iVal=hex uppercase iVal endl;/恢复默认设置:十进制,不显示基数,不大写cout dec noshowbase nouppercase;2012/9/22C+程序设计15例1:指定整数基数,并输出其基数const int iVal(15);cout showbase;/显示基数cout default valu
8、e:iVal=iVal endl printed in octal:iVal=oct iVal endl printed in hexadecimal:iVal=hex uppercase iVal endl;/恢复默认设置:十进制,不显示基数,不大写cout dec noshowbase nouppercase;2012/9/22C+程序设计16运行结果为:default value:iVal=15printed in octal:iVal=017printed in hexadecimal:iVal=0XF例2:指定列宽,对齐方式const int iVal2=-16;const doub
9、le dVal=3.1415926;cout setfill(*);/设置填充符为星号,便于观察用法cout default justification endl;cout i:setw(12)iVal2 d:setw(12)dVal endl;cout left left justification endl;/调整为左对齐cout i:setw(12)iVal2 d:setw(12)dVal endl;cout setfill()right;/恢复填充为空格,右对齐2012/9/22C+程序设计17例2:指定列宽,对齐方式const int iVal2=-16;const double d
10、Val=3.1415926;cout setfill(*);/设置填充符为星号,便于观察用法cout default justification endl;cout i:setw(12)iVal2 d:setw(12)dVal endl;cout left left justification endl;/调整为左对齐cout i:setw(12)iVal2 d:setw(12)dVal endl;cout setfill()变量变量1 变量变量2。变量变量n 变量数据类型决定数据提取方式。格式化输入 使用输入提取操作符,将流视为数据类型(例如char,int,float等)处理。默认情况下,
11、输入操作符忽略分隔符(空格,制表符,换行符,进纸和回车符等)2012/9/22C+程序设计19例:已知输入 序列如下,读取数据代码段为?要读取三个字符,输入为:a b c char c1(0),c2(0),c3(0);cin c1 c2 c3;2012/9/22C+程序设计20例:已知输入 序列如下,读取数据代码段为?要读取1个int,1个char,和1个double,输入为:30s 5.14 int iVal(0);char cVal(0);double dVal(0.0);cin iVal cVal dVal;2012/9/22C+程序设计21例:已知输入 序列和代码段如下,则输出为?输入为:回车空格空格空格h水平制表符ell03.52回车 代码为:char cVal(0);while(cin cVal)cout word)2012/9/22C+程序设计25例:编写代码段,读入数目未知的整数,累加求和,且能处理异常输入,例如字符。int iVal(0),iSum(0);char ch(a);while(cin iVal,!cin.eof()if(cin.fail()cin.clear();cin.get(ch);cerr bad input:ch endl;continue;iSum+=iVal;cout sum is iSum endl;2012/9/22C+程序设计26
限制150内