1. C语言中的格式说明符
在 C 语言中,格式说明符(format specifier)用来在控制台窗口中打印输出特定数据类型的值。与每个格式说明符相关联的是一个转换字符(conversion character),用来确切地指定要打印输出数据的类型。C 语言中比较常见的格式说明符有以下几种。
1.1 %d 和 %i
在 C 语言中,%d 和 %i 都用来打印输出十进制整数。以下是一个例子:
// 输出10
printf("%d", 10);
注意: %i 和 %d 的区别在于当要输出的整数以 0 开头时,%i 会将这个整数视为八进制数,而不是十进制数;而 %d 总是将要输出的整数视为十进制数。
1.2 %f、%e 和 %g
%f 用来打印输出浮点数的值,以下是一个例子:
// 输出3.141593
printf("%f", 3.141592653589793);
%e 用来将浮点数的值以科学技术法(scientific notation)的形式打印输出,以下是一个例子:
// 输出3.141593e+00
printf("%e", 3.141592653589793);
%g 用来自动选择合适的输出方式,可以输出浮点数的值,也可以按科学技术法的形式输出,以下是一个例子:
// 输出3.14159
printf("%g", 3.141592653589793);
1.3 %c 和 %s
%c 用来打印输出一个字符的值,以下是一个例子:
// 输出a
printf("%c", 'a');
%s 用来打印输出一个字符串的值,以下是一个例子:
// 输出hello, world!
printf("%s", "hello, world!");
1.4 %u 和 %o
%u 用来打印输出一个无符号整数的值,以下是一个例子:
// 输出4294967295
printf("%u", -1);
%o 用来打印输出一个八进制整数的值,以下是一个例子:
// 输出52
printf("%o", 42);
1.5 %x 和 %X
%x 和 %X 都用来打印输出一个十六进制数的值。%x 打印输出的十六进制数中字母为小写形式,%X 打印输出的十六进制数中字母为大写形式,以下是一个例子:
// 输出2a
printf("%x", 42);
// 输出2A
printf("%X", 42);
1.6 %p
%p 用来打印输出一个指针变量的值,以下是一个例子:
int *ptr;
...
// 输出0x7ffeeddccbba
printf("%p", ptr);
注意: 在不同的系统中,指针的内存地址大小是不一样的。
2. 总结
C 语言中常用的格式说明符主要有 %d、%i、%f、%e、%g、%c、%s、%u、%o、%x 和 %p。需要针对不同的数据类型选择不同的格式说明符。