printf 函数中的格式转化字符及其含义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf 函数中的格式转化字符及其含义
另外,可以在格式转换字符和%之间插入一些辅助的格式控制字符。因此,格式控制字符的一般格式为:
%[flag][width][.precision][size]Type
有符号整数的输出
输出有符号整数的格式控制符的一般形式为:
%[-][+][0][width][.precision][l][h]d
其中各控制符的说明如下:
∙-:表示输出的数据左对齐,默认时是右对齐。
∙+:输出正数时,在数的前面加上+号。
∙0:右对齐时,如果实际宽度小于width,则在右边的空位补0。
∙width:无符号整数,表示输出整数的最小宽度。若实际宽度大于width,则按照实际宽度输出。
∙precision:无符号整数,表示至少要输出precision位。若整数的位数大于precision,则按照实际的位数输出,否则在左边的空位
上补0。
∙l:输出长整形数据
∙h:输出短整形数据
无符号整数的输出
输出无符号整数的格式控制符的一般形式为:
%[-][#][0][width][.precision][l][h]u|o|x|X
其中各控制符的说明如下:
∙#:当以八进制形式输出数据(%o)时,在数字前输出0;当以十六进制形式输出数据(%x或%X)时,在数字前输出0x或0X。
∙precision:与前面介绍的相同,但要注意八进制数字前的0和十六进制前的0x或0X同样占位数。
∙其他字段与前面介绍的相同。
小结:
实数的输出
输出实数的格式控制符的一般形式为:
%[-][+][#][0][width][.precision][l|L]f|e|E|g|G
其中各控制符的说明如下:
∙#:必须输出小数点。
∙precision:规定输出实数时,小数部分的位数。
∙l:输出double型数据(默认也是输出double型数据)。
∙L:输出long double型数据。
∙其他字段的含义与前面介绍的相同。
字符和字符串的输出
输出字符和字符串的格式控制符的一般形式为:
输出字符:%[-][0][width]c
输出字符串:%[-][0][width][.precison]s
其中各控制符的说明如下:
∙precision:只输出字符串的前precision个字符。
∙其他字段的含义与前面介绍的相同。
其它可用的修饰符
使用printf函数要注意一下几点
1. 格式控制字符串后面表达式的个数一般要与格式控制字符串中的格式控制符的个数相等。
2. 输出时表达式值的计算顺序是从右到左。
3. 格式转换符中,除了X、E、G以外,其他均为小写。
4. 表达式的实际数据类型要与格式转换符所表示的类型相符,printf函数不会进行不同数据类型之间的自动转换。