格式说明符是用于格式化输入和输出函数的字符串。格式字符串确定输入和输出的格式。格式字符串始终以“%”字符开头。
printf() 函数中常用的格式说明符有:
| 格式说明符 | 描述 |
|---|---|
| %d 或 %i | 它用于打印有符号整数值,其中有符号整数表示变量可以包含正值和负值。 |
| %u | 它用于打印无符号整数值,其中无符号整数表示变量只能包含正值。 |
| %o | 它用于打印八进制无符号整数,其中八进制整数值始终以 0 值开头。 |
| %x | 它用于打印十六进制无符号整数,其中十六进制整数值始终以 0x 值开头。在此,字母字符以小写字母打印,例如 a、b、c 等。 |
| %X | 它用于打印十六进制无符号整数,但 %X 打印大写字母字符,如 A、B、C 等。 |
| %f | 它用于打印十进制浮点值。默认情况下,它会在“.”之后打印 6 个值。 |
| %e/%E | 它用于科学记数法。它也被称为尾数或指数。 |
| %g | 用于打印十进制浮点数,使用固定精度,即输入的小数点后的值与输出的值完全相同。 |
| %p | 它用于以十六进制形式打印地址。 |
| %c | 它用于打印无符号字符。 |
| %s | 它用于打印字符串。 |
| %ld | 它用于打印长符号整数值。 |
让我们通过一个例子来详细了解格式说明符。
int main()
{
int b=6;
int c=8;
printf("b 的值为:%d", b);
printf("\n c 的值为:%d",c);
return 0;
}在上面的代码中,我们使用 %d 说明符打印 b 和 c 的整数值。
输出

int main()
{
int b=10;
int c= -10;
printf("b 的值为:%u", b);
printf("\nc 的值为:%u",c);
return 0;
}在上面的程序中,我们使用无符号格式说明符(即 %u)显示 b 和 c 的值。b 的值为正,因此 %u 说明符打印 b 的确切值,但它不打印 c 的值,因为 c 包含负值。
输出

int main()
{
int a=0100;
printf("a 的八进制值为: %o", a);
printf("\na 的整数值为:%d",a);
return 0;
}在上面的代码中,我们显示了 a 的八进制值和整数值。
输出

int main()
{
int y=0xA;
printf("y 的十六进制值为:%x", y);
printf("\ny 的十六进制值为:%X",y);
printf("\ny 的整数值为: %d",y);
return 0;
}在上面的代码中,y 包含十六进制值“A”。我们以两种格式显示 y 的十六进制值。我们使用 %x 和 %X 来打印十六进制值,其中 %x 以小写字母显示值,即“a”,%X 以大写字母显示值,即“A”。
输出

int main()
{
float y=3.4;
printf("y 的浮点数是: %f", y);
return 0;
}上面的代码打印了 y 的浮点值。
输出

int main()
{
float y=3;
printf("y 的指数值为: %e", y);
return 0;
}输出

int main()
{
float y=3;
printf("y 的指数值为: %E", y);
return 0;
}输出

int main()
{
float y=3.8;
printf("y 的浮点数是: %g", y);
return 0;
}在上面的代码中,我们使用 %g 说明符显示 y 的浮点值。%g 说明符以相同的精度显示与输入相同的输出。
输出

int main()
{
int y=5;
printf("y 的十六进制地址值为:%p", &y);
return 0;
}输出

int main()
{
char a='c';
printf("a 的值为: %c", a);
return 0;
}输出

int main()
{
printf("%s", "RocSchool");
return 0;
}输出

假设我们想要显示一个在屏幕上占用最少空间的输出。您可以通过在格式说明符的百分号后显示一个整数来实现这一点。
int main()
{
int x=900;
printf("%8d", x);
printf("\n%-8d",x);
return 0;
}在上面的程序中,%8d 说明符显示 8 个空格后的值,而 %-8d 说明符将使值左对齐。
输出

现在我们将看到如何填充空白区域。它显示在下面的代码中:
int main()
{
int x=12;
printf("%08d", x);
return 0;
}在上面的程序中,%08d 表示空白处用零填充。
输出

我们可以使用“.”来指定精度。(点)运算符后跟整数和格式说明符。
int main()
{
float x=12.2;
printf("%.2f", x);
return 0;
}输出
