printf常用
printf
是 C 语言标准库 <stdio.h>
中用于格式化输出的函数,它能按照指定的格式将数据输出到标准输出设备(通常是控制台)。
常用格式说明符
格式说明符用于指定输出数据的类型和格式,以 %
开头。以下是一些常见的格式说明符及其用途:
或
| 以十进制有符号整数形式输出。 |
输出
|
| 以十进制无符号整数形式输出。 |
输出
|
| 以八进制无符号整数形式输出,不输出前导
。 |
输出
|
或
| 以十六进制无符号整数形式输出,
输出小写字母,
输出大写字母,不输出前导
或
。 |
输出
;
输出
|
| 以小数形式输出单精度或双精度浮点数,默认保留 6 位小数。 |
输出
|
或
| 以科学计数法形式输出浮点数,
用小写字母
,
用大写字母
。 |
输出
;
输出
|
或
| 根据数值大小自动选择
或
格式输出,
用小写字母,
用大写字母,不输出无意义的零。 |
输出
;
输出
|
| 输出一个字符。 |
输出
|
| 输出一个字符串。 |
输出
|
| 以十六进制形式输出指针的值,通常前面会带有
前缀。 |
int num = 10; int *ptr = # printf("%p", ptr); ``` | ### 常用修饰符 除了格式说明符,还可以使用一些修饰符来进一步控制输出的格式,如宽度、精度等。 #### 宽度修饰符 指定输出字段的最小宽度,不足时会在左边补空格(默认右对齐)。例如,`%5d` 表示输出的整数至少占 5 个字符宽度。 ```c #include <stdio.h> int main() { int num = 12; printf("%5d\n", num); // 输出 " 12" return 0; }
精度修饰符
对于浮点数,精度表示小数点后的位数;对于字符串,精度表示输出的最大字符数。例如,%.2f
表示输出的浮点数保留 2 位小数,%.3s
表示输出字符串的前 3 个字符。
#include <stdio.h> int main() { float f = 3.14159; char str[] = "Hello"; printf("%.2f\n", f); // 输出 "3.14" printf("%.3s\n", str); // 输出 "Hel" return 0; }
左对齐修饰符 -
在格式说明符中使用 -
可以实现左对齐输出。例如,%-5d
表示左对齐输出整数,宽度为 5。
#include <stdio.h> int main() { int num = 12; printf("%-5d\n", num); // 输出 "12 " return 0; }
零填充修饰符 0
在宽度前使用 0
可以用零填充不足的宽度。例如,%05d
表示用零填充整数,宽度为 5。
#include <stdio.h> int main() { int num = 12; printf("%05d\n", num); // 输出 "00012" return 0; }
多参数输出
printf
函数可以同时输出多个参数,通过在格式字符串中使用多个格式说明符,并按顺序提供相应的参数。
#include <stdio.h> int main() { int num = 10; float f = 3.14; char ch = 'A'; char str[] = "Hello"; printf("Integer: %d, Float: %f, Character: %c, String: %s\n", num, f, ch, str); return 0; }
考研机试常用的数据结构