一 格式化输入函数scanf
scanf 函数的功能是格式化输入任意数据列表,其一般调用格式为:
scanf(格式控制符,地址列表)
【说明】
(1)地址列表中给出各变量的地址,可以为变量的地址,以&开头,也可以为数组,字符串的首地址。
(2)格式控制符由%和格式符组成,作用是将要输入的字符按指定的格式输入如%d,%c等。
格式符 | 说明 |
d(或 i ) |
以带符号的十进制形式输出整数,正数的( + )号省略不输出。 |
u | 以无符号十进制形式输出整数。 |
x( 或X ) | 以十六进制无符号形式输出整数。(不输出前导符 0x ). |
o ( 字母 ) | 以八进制无符号形式输出整数。(不输出前导符数字 0 ). |
c | 输出一个字符。 |
s | 输出字符串。 |
f |
以小数形式输出单,双精度,隐含输出6位小数。 |
e( 或E ) | 以指数形式输出单,双精度,隐含输出6位小数。 |
g( 或G ) | 自动选用( %f )( %e)或( %E)格式中输出宽度较小的一种使用 |
scanf 函数的附加格式说明符
附加格式 | 说明 |
l(字母) | 用于长整型数(%ld、%lo、%lx)或double型实数(%lf、%le) |
h | 用于短整型数(%hd、%ho、%hx) |
域宽(一个整数) | 指定输入所占列宽 |
* | 表示对应输入量不赋给一个变量 |
二、格式化输出函数printf
printf函数的功能是格式化输出任意数据列表,其一般调用格式为:
printf(格式控制符,输出列表)
printf函数的格式符
格式符 | 说明 |
d(或i) |
以带符号的十进制形式输出整数,正数的(+)号不能省略不输出 |
u | 以无符号十进制形式输出整数 |
o(字母) |
以八进制无符号形式输出整数(不输出前导符0) |
c | 输出一个字符 |
s | 输出字符串 |
f | 以小数形式输出单、双精度,隐含输出6位小数 |
e(或E) | 以指数形式输出单、双精度,隐含输出6位小数 |
g(或G) | 自动选用%f、%e或%E格式中输出宽度较小的一种使用 |
x(或X) | 以十六进制无符号形式输出整数(不输出前导符0x) |
参数 | 说明 |
%d | 输出数字长为变量数值的实际长度 |
%md | 输出m位(不足补空格,大于m位时按实际长度输出),cout可以用setw来控制场宽 |
%-md | m含义同上。左对齐输出 |
%ld | l(小写字母)表示输出“长整型”数据 |
%mld | 指定长整型输出宽度m位,左边补空格;否则,按实际位数输出 |
%0md,%0m1d | 0(数字0)表示位数不足m时补0 |
%f | 以小数形式输出双精度,隐含输出6位小数 |
%mlf | 以小数形式输出双精度,指定输出m位小数 |