printf 函数可以输出各种类型的数据。实际原理是 printf 函数将各种类型的数据格式化为字符串后,放入标准输出缓冲区,然后将结果显示到屏幕上。
语法
#include <studio.h>
int printf(const char *format, ...);
printf 函数根据 format 给出的格式打印输出到 stdout(标准输出)和其他参数中。
字符串格式(format)由两部分组成:
- 显示到屏幕上的字符
- 映射到 printf 的其他参数的特殊字符 %?
例如
int age = 21;
printf("Hello %s, you are %d years old\n", "Bob", age);
%?格式:
%? | 格式 |
---|---|
%c | 字符 |
%d | 带符号整数 |
%f | 浮点数 |
%s | 字符串 |
%u | 无符号整数 |
%x | 无符号十六进制数,用小写字母 |
%X | 无符号十六进制数,用大写字母 |
%p | 一个指针 |
%% | 一个 % 符号 |
位于%与格式化命令之间的一个整数被称为最小字段宽度说明符,通常用来控制对齐。
例如:%5.2f 会至少显示5位数字并带有2位小数的浮点数。
#include <stdio.h>
//练习printf
int main() {
int i = 10;
float f = 96.3f;
printf("student number=%3d score=%5.2f\n", i, f); //默认右对齐
printf("student number=%-3d score=%5.2f\n", i, f); //加负号,左对齐
i = 100;
printf("student number=%3d score=%5.2f\n", i, f);
printf("%10s\n", "hello");
return 0;
}