在C语言中,格式控制符用于`scanf()`和`printf()`函数中,以指定输入或输出的数据格式。格式控制符通常位于格式字符串的第一个逗号前,并且用双引号括起来。下面是一些常见的格式控制符及其用法:
1. `%`:表示格式控制的起始符号,必不可少。
2. `[-]`:表示对齐方式,`+`表示右对齐,`-`表示左对齐,缺省情况下为右对齐。
3. ``:当规定输出数据的宽度时,如果实际数据宽度小于规定的宽度,则在左边用“0”补齐。
4. `[m/m.n]`:`m`规定了输出数据的宽度(位数),若数据实际的宽度大于`m`,则突破`m`的限制全部输出,反之,将数据全部输出之后用空格进行左补齐;`n`对于实数是指小数点后的位数,若`n`小于小数点后实际的位数,则按四舍五入原则进行截取;对于字符串,`n`表示从左至右截取的字符个数。
5. `[l/h]`:`l`表示长整型数据(可用于`%ld`,`%lo`,`%lx`,`%lu`),以及双精度数据(`%lf`或`%le`);`h`表示短整型数据(可用于`%hd`,`%ho`,`%hx`)。
例如,以下是一个使用`printf()`函数输出格式化字符串的示例:
```c
include
int main() {
int a = 123;
double b = 123.456;
printf("%5d %05.2f\n", a, b);
return 0;
}
```
在这个示例中,`%5d`表示输出一个至少5位宽的整数,如果整数不足5位,则左边用空格补齐。`%05.2f`表示输出一个至少5位宽的浮点数,如果浮点数不足5位,则左边用0补齐,并且小数点后保留两位数字。
这些格式控制符可以帮助你精确地控制输入输出数据的格式,以满足不同的需求。