printf输出格式有哪些(printf输出格式)

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;

}