1.I/O
C 的输入输出cin和cout自己会识别基本的数据类型。
2.控制符
C 对于含小数的实数默认输出六位有效位,这显然不能满足我们的需要。
因此我们要用控制符控制输入输出。
头文件iomanip
控制符 | 用处 |
---|---|
dec | 输出十进制形式,默认 |
hex | 输出十六进制形式 |
oct | 输出八进制形式 |
setfill(c) | 设定填充字符,默认空格 |
setprecision(n) | 设定显示小数精度为n位 |
setw(n) | 设定位宽 |
fixed | 固定浮点型表示 |
scientific | 指数表示 |
left | 左对齐 |
right | 右对齐 |
skipws | 忽略前导空白 |
uppercase | 十六进制大写 |
lowercase | 十六进制小写,默认 |
3.控制小数位数
代码语言:javascript复制#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double a=1234.567890125;
cout<<setprecision(8)<<a<<endl;//输出1234.5678
cout<<fixed<<a;//输出1234.56789013
}
从中可以知道单用setprecision(n)控制的是总数字数,默认是6位,如果要控制小数位,要与fixed合用。
4.设置位宽和填充字符
代码语言:javascript复制#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a=666;
cout<<setw(6)<<a<<endl;//输出 666
cout<<setfill('0')<<setw(6)<<a;//输出000666
}
setw用来控制显示的宽度,默认不足时填充空格,setfiil可以设置所要填充的字符。
5.输出八进制数和十六进制数
代码语言:javascript复制#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a=666;
cout<<dec<<a<<endl;//输出666
cout<<oct<<a<<endl;//输出1232
cout<<hex<<a<<endl;//输出29a
cout<<hex<<uppercase<<a<<endl;//输出29A
}