C语言输出格式总结
1 一般格式
printf( 格式控制,输出表列)
例如: printf("i=%d,ch=%c\n",i,ch);
说明 :
(1) “格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,
它包括两种信息:
①格式说明: 由“%”和格式字符组成, 它的作用是将输出的
数据转换
为指定的格式输出。
②普通字符,即需要原样输出的字符。
(2) “输出表列”是需要输出的一些数据,可以是表达式
(3) printf 函数的一般形式可以表示为
printf( 参数 1,参数 2,……,参数 n)
功能是将参数 2~参数 n 按参数 1 给定的格式输出
2 格式字符( 9 种)
(1)d (或i )格式符。用来输出十进制整数,有以下几种用法:
①%d,按整型数据的实际长度输出。
②%md,m为指定的输出字段的宽度。如果数据的位数小于 m,
则左端补以空格,若大于 m,则按实际位数输出。
③%ld(%mld 也可 ) ,输出长整型数据。
例如: long a=123456;
printf("%ld",a);
( 2)o 格式符,以八进制数形式输出整数。格式: %o,%mo,%lo,%mlo都可。
(3)x( 或 X)格式符,以十六进制数形式输出整数。格
式: %x,%mx,%lx,%mlx都可。
(4)u 格式符,用来输出 unsigned 型数据,即无符号数,以十进制数
形式输出。格式: %u,%mu,%lu都可。
参见 :li4-3.c/* 无符号数据的输出 */
(5)c 格式符,用来输出一个字符。格式: %c,%mc都可。
(6)s 格式符,用来输出一个字符串。 格式:%s,%ms,%-ms,%m.ns,%-m.ns
都可。
(7)f 格式符,用来输出实数(包括单、双精度),以小数形式输出。
格式: %f,%m.nf,%-m.nf 都可。
注意:单精度实数的有效位数一般为 7 位,双精度为 16 位。
(8)e( 或 E)格式符,以指数形式输出实数。格式: %e,%m.ne,%-m.ne
都可。
(9)g( 或 G)格式符,用来输出实数,它根据数值的大小,自动选 f 格
式或 e 格式(选择输出时占宽度较小的一种)。
3 说明
(1)除了 X、E、G (用大写字母表示)外,其他格式字符必须用小写字母;
(2)“格式控制”字符串内可以包含转义字符;
(3)如果想输出字符“ %”,则应该在“格式控制”字符串中用连续两个 %表示,
如:
printf("%f%%",1.0/3);
(4)格式字符表参见下表
表 1 printf 格式字符
格式字符 说 明
d,i 以带符号的十进制形式输出整数(正数不输出符号)
o 以八进制无符号形式输出整数(不输出前导符 0 )
以十六进制无符号形式输出整数(不输出前导符 0x ), 用 x 则输出
x,X 十六进制数的 a~f 时以小写形式输出,用