格式控制符:

  • %d:用于输出十进制有符号整数。
  • %u:用于输出十进制无符号整数。
  • %f:用于输出十进制浮点数字。
  • %e 或 %E:用于输出指数形式的浮点数。
  • %g 或 %G:用于输出浮点数,根据数值大小自动选择使用 %f 或 %e
  • %x 或 %X:用于输出十六进制。
  • %c:用于输出单个字符。
  • %s:用于输出字符串。
  • %p:用于输出指针地址。
  • %lu:用于输出无符号长整型。
  • %lld 或 %I64d:用于输出有符号长长整型。
  • %llu 或 %I64u:用于输出无符号长长整型。
  • %Lf:用于输出长双精度浮点数。
  • %% 格式控制符:用来输出百分号 %,在输出时需要使用两个百分号连在一起。

格式修饰符:

  • -:左对齐。
  • +:输出符号(正数前面加上“+”)。
  • #:八进制前缀(0)、十六进制前缀(0x 或 0X)或浮点数小数点(.)。
  • 0:用 0 在左侧填充数据输出的空白,而不是默认的空格字符。
  • m.nm 是指定的最小宽度,n 是指定的精度。
  • *:用来接收动态传入的宽度和精度。例如,%*.*f 表示输出浮点数,宽度和精度由后面带两个 int 类型的参数动态传入。

转义字符:

  • \a:警报(响铃)。
  • \b:退格(回退)一格。
  • \f:换页。
  • \n:换行。
  • \r:回车。
  • \t:水平制表符。
  • \v:垂直制表符。
  • \\:反斜杠。
  • \':单引号。
  • \":双引号。
  • \?:问号。
  • \0:字符串结束标志。

代码演示:

#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;
}

        对于修饰符和格式控制符的使用,可以参考具体的 C 语言教程或参考手册,根据实际需要选择使用。同时,可以使用 printf 函数的返回值来判断是否输出成功。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐