【C语言】printf的输出格式控制符、格式修饰符、转义字符

本文介绍了C语言中printf函数的格式控制符,包括%d,%u,%f等用于输出不同类型的变量,以及%-,#,0等格式修饰符,还展示了如何使用转义字符和进行精度控制。通过示例代码展示了各种用法。
摘要由CSDN通过智能技术生成

格式控制符:

  • %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 函数的返回值来判断是否输出成功。

  • 8
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于C语言中的`printf`函数,它是用于格式化输出的常用函数。它的原型如下: ```c int printf(const char *format, ...); ``` 其中,`format`是一个字符串,用于指定输出的格式;而`...`表示可变参数,用于指定要输出的内容。 在`format`字符串中,可以包含普通字符和转换说明符。转换说明符以`%`开头,后面跟着一个字母,用于指定要输出的变量的类型和格式。 以下是一些常见的转换说明符及其用途: - `%d`:输出十进制整数。 - `%f`:输出浮点数。 - `%c`:输出字符。 - `%s`:输出字符串。 - `%p`:输出指针的地址。 - `%x`:输出十六进制整数。 除了上述基本的转换说明符外,还可以使用一些修饰符来进一步控制输出的格式。例如: - `%.2f`:保留两位小数的浮点数。 - `%6d`:输出宽度为6的整数,不足位数用空格填充。 除了转换说明符和修饰符外,还可以使用转义字符来输出特殊字符。例如,`\n`表示换行符,`\t`表示制表符。 下面是一个示例代码,演示了如何使用`printf`函数进行格式化输出: ```c #include <stdio.h> int main() { int num = 10; float pi = 3.14159; char ch = 'A'; char str[] = "Hello"; printf("Integer: %d\n", num); printf("Float: %.2f\n", pi); printf("Character: %c\n", ch); printf("String: %s\n", str); return 0; } ``` 以上代码的输出结果为: ``` Integer: 10 Float: 3.14 Character: A String: Hello ``` 希望对你有所帮助!如果有更多问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SecureCode

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值