Caracteres de control de formato:
%d
: Se utiliza para generar un entero con signo decimal.%u
: Se utiliza para generar enteros decimales sin signo.%f
: Se utiliza para generar números decimales de punto flotante.%e
O%E
: se utiliza para generar números de coma flotante en forma exponencial.%g
O%G
: se utiliza para generar números de punto flotante,%f
o se selecciona automáticamente de acuerdo con el tamaño del valor%e
.%x
o%X
: para salida hexadecimal.%c
: Se utiliza para generar un solo carácter.%s
: Se utiliza para generar una cadena.%p
: Se utiliza para dar salida a la dirección del puntero.%lu
: Se utiliza para generar un entero largo sin signo.%lld
o%I64d
: para generar un entero largo largo con signo.%llu
o%I64u
: para generar un entero largo largo sin signo.%Lf
: se utiliza para generar números largos de punto flotante de precisión doble.-
%%
Carácter de control de formato: se utiliza para generar signos de porcentaje%
, dos signos de porcentaje deben conectarse entre sí al generar.
Modificadores de formato:
-
: Alinear a la izquierda.+
: Signo de salida (más "+" delante del número positivo).#
: prefijo octal (0), prefijo hexadecimal (0x o 0X) o coma flotante decimal (.).0
: Rellene la salida de datos con 0 a la izquierda en lugar del carácter de espacio predeterminado.m.n
:m
es el ancho mínimo especificadon
y es la precisión especificada.*
: Se usa para recibir el ancho y la precisión pasados dinámicamente. Por ejemplo,%*.*f
significa generar números de punto flotante, y el ancho y la precisión se pasan dinámicamente con dos parámetros de tipo int.
Personaje de escape:
\a
: Alarma (timbre sonando).\b
: Retroceso (atrás) un espacio.\f
: Cambiar página.\n
: Nueva línea.\r
: Ingresar.\t
: Pestañas horizontales.\v
: Carácter de tabulación vertical.\\
: Barra invertida.\'
:apóstrofe.\"
:Doble comillas.\?
:signo de interrogación.\0
: indicador de fin de cadena.
demostración de código:
#include<stdio.h>
int main() {
// 整型
int a = 123;
printf(" % d\n", a); // 输出 123
// 无符号整型
unsigned int b = 456;
printf("%u\n", b); // 输出 456
// 浮点数
double c = 1.23;
printf("%f\n", c); // 输出 1.230000
// 指数形式浮点数
double d = 12345.678;
printf("%e\n", d); // 输出 1.234568e+04
// 十六进制
int e = 0x123;
printf("%x\n", e); // 输出 123
// 字符
char f = 'a';
printf("%c\n", f); // 输出 a
// 字符串
char g[] = "hello world";
printf("%s\n", g); // 输出 hello world
// 指针地址
int* h = &a;
printf("%p\n", h); // 输出 a 的地址
// 无符号长整型
unsigned long i = 1234567890ul;
printf("%lu\n", i); // 输出 1234567890
// 有符号长长整型
long long j = -123450000000ll;
printf("%lld\n", j); // 输出 -123450000000
// 无符号长长整型
unsigned long long k = 123450000000ull;
printf("%llu\n", k); // 输出 123450000000
// 长双精度浮点数
long double l = 1.23;
printf("%Lf\n", l); // 输出 1.230000
// 百分号转义
printf("%%\n"); // 输出 %
// 格式修饰符
int num = 123;
double fnum = 3.14159;
printf("%-5d\n", num); // 输出 123 (左对齐)
printf("%+d\n", num); // 输出 +123(输出符号)
printf("%#x\n", num); // 输出 0x7b(十六进制前缀)
printf("%05d\n", num); // 输出 00123(用 0 左对齐填充)
printf("%.2f\n", fnum); // 输出 3.14 (精度控制)
printf("%*.*f\n", 8, 2, fnum); // 输出 3.14 (动态宽度和精度,从后面两个 int 参数中传入)
// 转义字符
printf("hello\tworld\n"); // 输出 hello world
return 0;
}
Para el uso de modificadores y caracteres de control de formato, puede consultar tutoriales específicos del lenguaje C o manuales de referencia y optar por usarlos de acuerdo con las necesidades reales. Al mismo tiempo, puede usar el valor de retorno de la función printf para juzgar si la salida es exitosa.