• C++
  • printf / scanf 格式化输入输出

  • @ 2026-2-2 14:22:59


🌟 printf / scanf 格式化输入输出

🎯(%d / %f / 保留小数 / 宽度控制 / 输入输出格式)


⭐ 一、为什么要学 printf ?

虽然我们常用:

cout / cin

但是在考试、竞赛、洛谷中:

⭐ printf 更常用!

因为:

✅ 输出格式更精确
✅ 能控制小数位
✅ 能控制宽度
✅ 写法更简洁



⭐ 二、printf 基本用法


⭐ 语法

printf("格式", 变量);

⭐ 示例

int a = 5;
printf("%d", a);

输出:

5


🌟 三、常用格式符大全(🔥 必背表格)


格式符 类型 示例
%d int 整数 10
%f double 小数 3.14
%c 字符 A
%s 字符串 hello
%lf double输入用 scanf专用
%% 输出% %


⭐ 四、整数输出(%d)


示例

int a = 100;
printf("%d", a);

多变量

printf("%d %d", a, b);


⭐ 五、小数输出(%f)⭐⭐⭐重点


默认6位小数

double x = 3.14;
printf("%f", x);

输出:

3.140000


⭐ 六、保留小数方法(超级重点🔥)


⭐ 保留2位小数

printf("%.2f", x);

⭐ 保留3位小数

printf("%.3f", x);

⭐ 通用模板(必须背)

%.nf

👉 n 表示小数位数


🎯 例题

double pi = 3.1415926;

printf("%.2f", pi);   // 3.14
printf("%.4f", pi);   // 3.1416


⭐ 七、宽度控制(对齐输出)


⭐ 占5格宽度

printf("%5d", a);

不足补空格:

   10

⭐ 前面补0

printf("%05d", a);

输出:

00010

⭐ 小数宽度

printf("%8.2f", x);

表示:

总宽度8,小数2位


⭐ 八、字符输出(%c)


char c = 'A';
printf("%c", c);


⭐ 九、字符串输出(%s)


string s = "hello";

printf("%s", s.c_str());

⚠ 注意:

string 必须加:

.c_str()


🌟 十、scanf 输入(一级常考)


⭐ 整数输入

int a;
scanf("%d", &a);

⭐ 小数输入

double x;
scanf("%lf", &x);

⭐ 多变量输入

scanf("%d%d", &a, &b);

⚠ 注意

必须加 & 取地址符!!!



🌟 十一、printf vs cout 对比(考试常问)


功能 cout printf
简单输出 ⭐⭐⭐⭐⭐ ⭐⭐⭐
格式控制 ⭐⭐ ⭐⭐⭐⭐⭐
保留小数 setprecision %.2f(更简单)
竞赛常用 一般 ⭐⭐⭐⭐⭐

🎯 建议:

👉 日常练习:cout
👉 考试/竞赛:printf



🌟 十二、一级常用模板速记(直接背)


⭐ 输出整数

printf("%d", a);

⭐ 保留2位小数

printf("%.2f", x);

⭐ 输出字符

printf("%c", c);

⭐ 输出字符串

printf("%s", s.c_str());

⭐ 输入整数

scanf("%d", &a);

⭐ 输入小数

scanf("%lf", &x);

🎯 记忆口诀

整数 %d
小数 %f
字符 %c
字符串 %s
保留小数 %.2f
输入记得加 &

1 条评论

  • 1