【C言語】printfの出力形式制御文字、形式修飾子、エスケープ文字

フォーマット制御文字:

  • %d: 10 進数の符号付き整数を出力するために使用されます。
  • %u: 10 進数の符号なし整数を出力するために使用されます。
  • %f: 10 進浮動小数点数を出力するために使用されます。
  • %e または %E: 浮動小数点数を指数形式で出力するために使用されます。
  • %g Or  %G: 浮動小数点数の出力に使用されます。 %f または、 値のサイズに応じて自動的に選択されます%e
  • %x または %X: 16 進数を出力します。
  • %c: 単一文字を出力する場合に使用します。
  • %s: 文字列を出力するために使用されます。
  • %p: ポインタアドレスを出力するために使用されます。
  • %lu: 符号なし長整数を出力するために使用されます。
  • %lld または %I64d: 符号付きの Long Long 整数を出力します。
  • %llu または %I64u: 符号なし長長整数を出力します。
  • %Lf: 長い倍精度浮動小数点数を出力するために使用されます。
  • %% 形式制御文字: パーセント記号を出力するために使用されます %。出力時には 2 つのパーセント記号を一緒に接続する必要があります。

フォーマット修飾子:

  • -:左揃え。
  • +: 出力符号 (正の数の前に「+」を追加)。
  • #: 8 進数の接頭辞 (0)、16 進数の接頭辞 (0x または 0X)、または浮動小数点の小数点 (.)。
  • 0: データ出力の左側に、デフォルトのスペース文字の代わりに 0 を埋め込みます。
  • m.n:m は指定された最小幅、n および指定された精度です。
  • *: 動的に渡される幅と精度を受け取るために使用されます。たとえば、%*.*f これは浮動小数点数を出力することを意味し、幅と精度は int 型の 2 つのパラメータで動的に渡されます。

エスケープ文字:

  • \a:アラーム(ベルが鳴る)。
  • \b:Backspace(戻る)スペースを 1 つ戻します。
  • \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 関数の戻り値を使用して、出力が成功したかどうかを判断できます。

おすすめ

転載: blog.csdn.net/crr411422/article/details/131033649