网站地图
hnsjyk999.com
三九百科 包罗万象
printf 发布于:

printf 是指格式化输出函数,主要功能是向标准输出设备按规定格式输出信息。printf 是C语言标准库函数,定义于头文件 <stdio.h>。printf 函数的一般调用格式为:printf("<格式化字符串>", <参量表>) 。输出的字符串除了可以是字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义 。

printf 函数的声明如下:

format -- 是格式控制字符串,包含了两种类型的对象:普通字符和转换说明 。在输出时,普通字符将原样不动地复制到标准输出,转换说明并不直接输出而是用于控制 printf 中参数的转换和打印。每个转换说明都由一个百分号字符(%)开始,以转换说明结束,从而说明输出数据的类型、宽度、精度等 。

printf 的格式控制字符串 format 中的转换格燥兰说明组成如下,其中 [] 中的部分是可选的:

%[flags][width][.precision][length]specifier,即:%[标志][最小宽度][.精度][类型长度]说明符 。转换说明详解见下文。

附加参数 -- 根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,组晚替换了 format 参数中指定的每个 % 标签。参数的个数应与 % 标签的辣邀讲个数相同婆设想鸦。

printf 函数在输出格式 format 的控制下,将其参数进行格式化,并在标准输出设备(显示器、控制台等)上打印出来。

如果函数执行成功,则返回所打印的字符总数,如果函数执行失败,则返回一个负数。

format 转换说明组成是%[flags][width][.precision][length]specifier ,具体讲解如下:

说明符(specifier)

说明符(specifier)用于规定输出数据的类型,含义如下:

u

x / X

f / lf

e / E

g

G

c

s

p

%

不进行转换,输出字符‘%’(百分号)本身

示例代码:

flags(标志)

标志(flags)用于规定输出样式,含义如下:

强制在结果之前显示加号或减号(+ 或 -),即正数前面会显示 + 号;

默认情况下,只有负数前面会显示一个 - 号

specifier 是 e、E、f、g、G 时,一定使用小数点;

specifier 是 g、G 时,尾部的 0 保留

示例代码:

width(最小宽度)

最小宽度(width)用于控制显示字段的宽度,取值和含义如下:

示例代码:

.precision(精度)

精度(.precision)用于指定输出精度,取值和含义如下:

示例代码:

length(类型长度)

类型长度(length)用于控制待输出数据的数据类型长度,取值和含义如下:

示例代码:

转义序列在字符串中会被自动转换为相应的特殊字符。printf() 使用的常见转义字符如下:

示例代码:

printf 函数的返回值为其输出字符串常量的字符数(注意字符数与字数的区别),注意计数针对所有的打印字符,包括空格和不可见的换行字符(不包括字符串的空字符)。

有时printf 语句会很长,以至于不能在一行被放下,如果我们必须分割一个字符串,有以下三种方式可以选择。需要注意的是,我们可以在字符串中使用 "\n" 换行符来表示换行字符,但是在字符串中不能通过回车键来产生实际的换行字符。

示例代码:


相关文章推荐:
输出设备 | 转义字符 | 输出设备 | stdio.h | 格式化 | 整数 | 八进制 | 十进制 | 十六进制 | 浮点数 | 科学计数法 | 字符 | ASCII码 | 字符串 | 指针 |