d
以十进制形式输出带符号整数(正数不输出符号)
e/E
以指数形式输出单、双精度实数,默认6位小数。
f
以小数形式输出单、双精度实数,默认6位小数。
g/G
以%f%e中较短的输出宽度输出单、双精度实数,如果指数小于-4或大于等于精度(默认6),则使用e/E格式,否则用f格式,末尾多余的0将省略。
i
以十进制形式输出带符号整数(正数不输出符号)
,同d
o
以八进制形式输出无符号整数(不输出前缀O)
s
输出字符串,参数为char指针,显示空字符之前的所有字符或指定数目的数字,不显示末尾的空字符。
u
以十进制形式输出无符号整数
x/X
以十六进制形式输出无符号整数(不输出前缀OX)
,x输出小写,X输出大写。
这几个都是格式字符
在输出不同数据时要用不同的的格式字符
%d是用来输出十进制整型数据的实际长度输出
%c是以字符形式输出,只输出一个字符
%f是以小数形式输出单、双精度度数,隐含输出6位小数
还有很多,如%s(输出字符串)等等
那么怎么用呢?
例如在printf输出数据时
int n=5
printf("%d",n)
这样就输出了。
printf函数格式字符:
C语言中对于不同类型的数据用不同的格式字符。常用的有以下几种格式字符:
(1)d格式字符。用来输出十进制整数。有以下几种用法:
1、%d,按 整型数据的实际长度输出。
2、%md,m为指定的输出字段的宽度。
3、%ld,输出长整形数据。
(2)o格式符,以 八进制整形式输出整数。
(3)x格式符,以 十六进制数形式输出整数。
(4)u格式符,用来输出unsigned型数据,即无符号数,以十进制形式输出。
(5)c格式符,用来输出一个字符。
(6)s格式符,用来输出一个字符串。
(7)f格式符,用来输出实数(包括单双精度),以小数形式输出。
(8)e格式符,以指数形式输出实数。
(9)g格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出是占宽度较小的一种),且不输出无意义的零。
(10) %[scanfset]:
scanfset 有两种形式:一种是以非 “^” 字符开头的 scanset , 表示在读入字符串时将匹配所有在 scanfset 中出现的字符,遇到非scanfset 中的字符时输入就结束;另外一种形式是以 “^” 字符开头的scanfset ,表示在读入字符串时将匹配所有不在scanfset 中出现的字符,遇到scanfset 中的字符输入就结束。