printf 和scanf的用法(最终版)
一 格式化输入函数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位小数 |

浙公网安备 33010602011771号