C语言说明符
格式说明符是在格式化的输入和输出函数中使用的字符串。格式字符串确定输入和输出的格式。格式字符串始终以'%'字符开头。
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 |
它用于打印长号整数值。 |
让我们通过示例详细了解格式说明符。
%d
int main()
{
int b=6;
int c=8;
printf("Value of b is:%d", b);
printf("\nValue of c is:%d",c);
return 0;
}
在上面的代码中,我们使用%d说明符打印b和c的整数值。
输出
%u
int main()
{
int b=10;
int c=-10;
printf("Value of b is:%u", b);
printf("\nValue of c is:%u",c);
return 0;
}
在上面的程序中,我们通过使用无符号格式说明符%u显示b和c的值。 b的值为正,因此%u说明符将打印b的确切值,但不会打印c的值,因为c包含负值。
输出
%o
int main()
{
int a=0100;
printf("Octal value of a is: %o", a);
printf("\nInteger value of a is: %d",a);
return 0;
}
在上面的代码中,我们显示a的八进制值和整数值。
输出
%x和%X
int main()
{
int y=0xA;
printf("Hexadecimal value of y is: %x", y);
printf("\nHexadecimal value of y is: %X",y);
printf("\nInteger value of y is: %d",y);
return 0;
}
在上面的代码中,y包含十六进制值'A'。我们以两种格式显示y的十六进制值。我们使用%x和%X打印十六进制值,其中%x以小写字母显示值,即'a',而%X以大写字母显示值,即'A'。
输出
%f
int main()
{
float y=3.4;
printf("floating point value of y is: %f", y);
return 0;
}
上面的代码打印y的浮点值。
输出
%e
int main()
{
float y=3;
printf("Exponential value of y is: %e", y);
return 0;
}
输出
%E
int main()
{
float y=3;
printf("Exponential value of y is: %E", y);
return 0;
}
输出
%g
int main()
{
float y=3.8;
printf("float value of y is: %g", y);
return 0;
}
在上面的代码中,我们正在使用%g说明符显示y的浮点值。 %g指示符以相同的精度显示与输入相同的输出。
输出
%p
int main()
{
int y=5;
printf("Address value of y in hexadecimal form is: %p", &y);
return 0;
}
输出
%c
int main()
{
char a='c';
printf("Value of a is: %c", a);
return 0;
}
输出
%s
int main()
{
printf("%s", "lidihuo");
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;
}
输出