目录
1 .什么是1.cout?
2 .与2.cout相关的头文件
3 .符号
4 .实验
4.1输出字符串和数字
4.2十进制、十六进制、八进制输出
4.3设置文件和设置的使用方法
4.4设置处理器(n )的使用方法
4.5 setiosflags ()的用法
4.5取消设置的格式unself
5 .最后
1 .什么是1.cout? cout是标准输出,与stdout相对应。
2 .与2.cout相关联的头文件iostream:将标准输入/输出封装在std名称空间中。
iomanip :定义了控制精度等标准输入输出的控制方法
bits/ios_base.h :定义标准输入输出的格式状态。 例如,如果将标准输出格式化为十六进制,则会设置相应cout对象中的一个状态位。
3 .符号“”是流操作符号,已经重载。 向左移动没有效果。
4 .实验4.1输出字符串和数字# includeiostreamusingnamespacestd; int main () {int val=20; cout ‘hello word’ ‘ ‘ val endl; 返回0; }输出结果
4.2十进制、十六进制、八进制输出# includeiostreamusingnamespacestd; int main () {int val=20; cout dec val endl; cout ‘0x’ hex val endl; cout ‘0’ oct val endl; 返回0; }输出结果
4.3setfill和setw的用法setfill是填充字符c,怎么填充呢? 看例子。
# include iostream # includeiomanipusingnamespacestd; int main () {int val=20; coutsetfill(x ) ) endl; 返回0; }实验结果
什么都没有输出.
如果仔细分析,这个填充是填补空的位置,setfill只是告诉cout,如果有空的位置的话就填补’ x ‘。 所以,接下来要做的就是想办法腾出广阔的空间。
setw函数可以做这件事。 用于设定位宽。 请看以下示例:
# include iostream # includeiomanipusingnamespacestd; int main () {int val=20; coutsetfill(x ) (setw ) 10 ) val endl; 返回0; }实验结果
我设定的字宽为10,输出变量为val,val只占2位,剩下的位宽用’ x ‘填充。
4.4setprecision(n )用法将浮点数的精度设置为n位。
# include iostream # includeiomanipusingnamespacestd; int main () {double val=20.1234567; coutsetprecision(5) val endl; 返回0; }实验结果
可以看出,精度是从左到右计算的,而不是小数点。
4.5 setiosflags (设定用法输入输出流的状态。
参数:
ios:fixed :设置浮点数以固定小数显示ios:scientific :设置浮点数以获取科学表示法、 即以指数形式显示ios:left :输出数据左对齐ios:right :输出数据右对齐ios:skipws :忽略开头的空格ios:uppercase :数据为16 输出正数时,输入“”编号ios::fixed测试
# include iostream # includeiomanipusingnamespacestd; int main () { double val=20.123456; coutsetiosflags (IOs : fixed; coutsetprecision(5) val endl; 返回0; }输出结果: 20.12346
设置IOs :固定后,精度从小数点开始。
ios::scientific测试
double val=20.123456; coutsetiosflags (IOs : scientific; cout val endl; 输出结果: 2.012346e 01
ios::left测试
double val=20.123456; coutsetiosflags (IOs :左) setw ) 10 ) setfill(‘x ); cout val endl; 用左对齐10位的字宽填“x”
输出结果: 20.1235xxx
ios::uppercase
int val=1000; coutsetiosflags (IOs : upper case; cout hex val endl; 输出结果: 3E8
4.5 un self # include iostream # includeiomanipusingnamespacestd; int main () { int val=1000; coutsetiosflags (IOs : upper case; cout hex val endl; cout.unsetf (IOs :3360 upper case ); cout hex val endl; 返回0; }数据以十六进制输出时,字母将以大写形式显示,取消大写输出,恢复默认状态。
输出结果:
3E8
3e8
5 .最后一个cout的本质是把你的内容写入标准输入缓冲区。 此缓冲区的内容与控制台(黑色窗口)或其他文件相关。
cout在程序调试阶段经常使用。
极速赛车位置相加减公式图rong>ios::fixed测试
# include iostream # includeiomanipusingnamespacestd; int main () { double val=20.123456; coutsetiosflags (IOs : fixed; coutsetprecision(5) val endl; 返回0; }输出结果: 20.12346
设置IOs :固定后,精度从小数点开始。
ios::scientific测试
double val=20.123456; coutsetiosflags (IOs : scientific; cout val endl; 输出结果: 2.012346e 01
ios::left测试
double val=20.123456; coutsetiosflags (IOs :左) setw ) 10 ) setfill(‘x ); cout val endl; 用左对齐10位的字宽填“x”
输出结果: 20.1235xxx
ios::uppercase
int val=1000; coutsetiosflags (IOs : upper case; cout hex val endl; 输出结果: 3E8
4.5 un self # include iostream # includeiomanipusingnamespacestd; int main () { int val=1000; coutsetiosflags (IOs : upper case; cout hex val endl; cout.unsetf (IOs :3360 upper case ); cout hex val endl; 返回0; }数据以十六进制输出时,字母将以大写形式显示,取消大写输出,恢复默认状态。
输出结果:
3E8
3e8
5 .最后一个cout的本质是把你的内容写入标准输入缓冲区。 此缓冲区的内容与控制台(黑色窗口)或其他文件相关。
cout在程序调试阶段经常使用。