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号