%---格式说明引导符。
----指定左对齐输出。
0---指定空位填零。
m.n --- 指定输出域宽度及精度。
l.h---输出长度的修正。
格式字符:
%i---输出一个整型数;
%d---输出一个整型数;
%f---输出一个浮点数;
%e---输出一个浮点数,科学计数法;
%g---输出一个浮点数,当指数小于-4或者大于5,则运用科学计数法,否则正常显示浮点数;
%c---输出一个字符;
%o---输出一个八进制的整型数,前面不带0;
%#o---输出一个八进制的整型数,前面带0;
%x---输出一个十六进制的整型数,前面不带0x;
%#x---输出一个十六进制的整型数,前面带0x, 如果x大写,则显示的时候也是大写。
%u---不带符号的十进制整数。
%%---输出一个%.
转义字符:
\a:蜂鸣,响铃
\b:回退:向后退一格
\f:换页
\n:换行,光标到下行行首
\r:回车,光标到本行行首
\t:水平制表
\v:垂直制表
\:反斜杠
\':单引号
\":双引号
\?:问号
\ddd:三位八进制
\xhh:二位十六进制
\0:空字符(NULL),什么都不做
printf的格式控制的完整格式:
% - 0 m.n l或h 格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
printf中分别代表的输出类型:
%a(%A):浮点数、十六进制数字和p-(P-)记数法(C99)
%c:字符
%d:有符号十进制整数
%f:浮点数(包括float和doulbe)
%e(%E):浮点数指数输出[e-(E-)记数法]
%g(%G):浮点数不显无意义的零"0"
%i:有符号十进制整数(与%d相同)
%u:无符号十进制整数
%o:八进制整数 e.g. 0123
%x(%X):十六进制整数0f(0F) e.g. 0x1234
%p:指针
%s:字符串
%%:"%"
扩展语句:
C语言中printf语句的简介:
printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。
函数原型:int printf ( const char * format, ... )
返回值:
正确返回输出的字符总数,错误返回负值,与此同时,输入输出流错误标志将被置值,可由指示器ferror来检查输入输出流的错误标志。
调用格式:
printf()函数的调用格式为:printf("格式化字符串",输出表列)。
格式化字符串包含三种对象,分别为:
(1)字符串常量;
(2)格式控制字符串;
(3)转义字符。
字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。
参考资料:百度百科-C语言
CSDN论坛-printf语句详解