c语言的格式化输出
1. printf在c语言中什么意思
向屏幕输出。
int i=123;
printf("%d",i); //表示以十进制整数格式输出i的值。
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。
printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。
格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。要输出的的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
参数列表
在输出时,普通字符将原样不动地复制到标准输出,转换说明并不直接输出而是用于控制 printf 中参数的转换和打印。每个转换说明都由一个百分号字符(%)开始,以转换说明结束,从而说明输出数据的类型、宽度、精度等。
printf 的格式控制字符串 format 中的转换说明组成如下,其中的部分是可选的:%[flags][width][.precision][length]specifier,即:%[标志][最小宽度][.精度][类型长度]说明符 。转换说明详解见下文。
附加参数 -- 根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了 format 参数中指定的每个 % 标签。参数的个数应与 % 标签的个数相同。
以上内容参考:网络-printf
2. c语言中3d%是什么意思
%3d是C语言中格式化输出字符,代表的意思是指的输出3个字符长度的整数。
可以在“%”和字母之间插进数字表示最大场宽。
例如:%3d表示输出3位整型数,不够3位右对齐。
%9.2f表示输出场宽为9的浮点数,其中小数位为2,整数位为6,小数点占一位,不够9位右对齐。
%8s表示输出8个字符的字符串,不够8个字符右对齐。如果字符串的长度、或整型数位数超过说明的场宽,将按其实际长度输出。
但对浮点数,若整数部分位数超过了说明的整数位宽度,将按实际整数位输出;若小数部分位数超过了说明的小数位宽度,则按说明的宽度以四舍五入输出。
C语言中所有格式化类型的定义:
1、%d/i
接受整数值并将它表示为有符号的十进制整数,i是老式写法
2、%o
无符号8进制整数(不输出前缀0)
3、%u
无符号10进制整数
4、%x/X
无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF(不输出前缀0x)
5、%f(lf)
单精度浮点数和双精度浮点数用f(lf在C99开始加入标准,意思和f相同)
6、%e/E
科学计数法表示的数,此处"e"的大小写代表在输出时用的“e”的大小写
7、%g/G
有效位数,如:%.8g表示单精度浮点数保留8位有效数字。
8、%c
字符型。可以把输入的数字按照ASCII码相应转换为对应的字符
9、%s/S
字符串。输出字符串中的字符直至字符串中的空字符(字符串以'