
printf函数称为格式输出函数,其关键字的最后一个字母f表示“格式”。其功能是按照用户指定的格式在显示屏上显示指定的数据。
printf函数调用的一般形式
printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但是,作为特例,在使用printf函数之前,不需要包含stdio.h文件。printf函数调用的一般形式是:
Printf("格式控制字符串",输出表格列)
其中格式控制字符串用于指定输出格式。格式控制字符串可以由格式字符串和无格式字符串组成。格式字符串是以%开头的字符串,后跟各种格式字符来说明类型、形式、长度、小数位数等。输出数据的。比如:
“%d”表示以十进制整数输出;
“%ld”表示以十进制长整型输出;
“%c”表示基于字符的输出等。
无格式字符串按原样输出,这在显示中起到提示作用。每个输出项都在输出表列中给出,这就要求格式字符串和每个输出项在数量和类型上要相互对应。
格式字符串
1)类型
类型字符用于指示输出数据的类型,其格式字符和含义如下表所示:格式字符含义
d以十进制形式输出有符号整数(正数不输出符号)
o以八进制形式输出无符号整数(不输出前缀0)
x,x以十六进制形式输出无符号整数(不输出前缀Ox)。
u以十进制形式输出无符号整数。
以十进制形式输出单精度和双精度实数。
e,e以指数形式输出单精度和双精度实数。
g,g输出单精度和双精度实数,输出宽度较短,用%f或% e表示。
输出单个字符
的输出字符串
2)标志
Logo字符有-、#和空格,其含义如下表所示:Logo含义。
-结果靠左对齐,靠右填充空格。
输出符号(加号或减号)
当空间输出值为正时,其前面有一个空格,当其为负时,其前面有一个负号。
#对C、S、D、U类没有影响;
对于O类,输出时前缀O;
对于X类,输出时前缀0x;
对于e类、g类和f类,只有当结果有小数点时才给出小数点。
3)最小输出宽度
使用十进制整数表示输出中的最小位数。如果实际位数大于定义的宽度,则按实际位数输出;如果实际位数小于定义的宽度,将使用空格或零进行补充。
4)准确性
精确格式字符以“.”开头开头,后跟一个十进制整数。这一项的含义是:如果输出数字,则表示小数位数;如果输出是字符,则表示输出的字符数;如果实际位数大于定义的精度数,超出部分将被截断。
5)长度
长度格式符号有两种:H和L,H表示短整数输出,L表示长整数输出。
#包括《stdio.h》
#包括《string.h》
int main()
{
char c,s[20];
int a=1234
float f=3.141592653589
双x=0.12345678912345678
strcpy(s,“你好,世界”);
c=' x41
printf("a=%d",a);//十进制整数格式输出,显示a=1234。
printf("a=%d%%",a);//输出%结果a=1234%
printf("a=m",a);//输出6位十进制整数,左边留空格,显示a=1234。
printf("a=d”,一);//输出一个左为0的6位十进制整数,显示a=001234。
printf("a=-",a);//a超过2位,实际输出为a=1234。
printf("a=%-6d",a);///在6位十进制整数的右边输出一个空格,显示a=1234。
printf("f=%f",f);//浮点数有7位有效数字,结果是f=3.141593。
printf("f=6.4f",f);//输出6列4位小数,结果f=3.1416。
printf("x=%lf",x);//输出长浮点数x=0.123457。
printf("x=.16lf”,x);//输出18列,小数点后16位,x=0.50000.00000000005
printf("c=%c",c);//输出字符c=A
printf("c=%x",c);//ASCII码c=41,用于输出十六进制字符。
printf("s[]=%s",s);//输出数组字符串s []=hello,World。
printf("s[]=%6.9s",s);//输出最多9个字符的字符串s []=hello,Wor。
返回0;
}









