printf 和scanf的用法(最终版)

发布时间 2023-10-04 09:58:47作者: 黛玉醉打将门神

一  格式化输入函数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(整型)和f(浮点)格式符
参数 说明
%d 输出数字长为变量数值的实际长度
%md 输出m位(不足补空格,大于m位时按实际长度输出),cout可以用setw来控制场宽
%-md m含义同上。左对齐输出
%ld l(小写字母)表示输出“长整型”数据
%mld 指定长整型输出宽度m位,左边补空格;否则,按实际位数输出
%0md,%0m1d 0(数字0)表示位数不足m时补0
%f 以小数形式输出双精度,隐含输出6位小数
%mlf 以小数形式输出双精度,指定输出m位小数