首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >小白认识printf与scanf的一天!

小白认识printf与scanf的一天!

作者头像
用户11993241
发布2026-01-15 14:34:21
发布2026-01-15 14:34:21
970
举报

刚学C语言时,是不是总被printfscanf这两个函数绕晕?别慌!带你轻松掌握这对“输入输出黄金搭档”~

一、它们是谁?——C语言的“嘴巴”和“耳朵”

  • printf:C语言的“嘴巴”,负责把程序里的信息(比如数字、文字)打印到屏幕上,让用户看到结果。
  • scanf:C语言的“耳朵”,负责从键盘接收用户输入的信息(比如你输入的数字、名字),并交给程序处理。

简单来说:程序通过printf说话,通过scanf听话,两者配合才能和用户“交流”。


二、printf:把信息“打印”到屏幕上

1. 基础语法(超简单!)
代码语言:javascript
复制
printf("要显示的内容");
  • 双引号""里的内容:可以是普通文字(比如"你好!"),也可以是变量(比如"你的分数是:%d")。
  • 特殊符号%d%f:用来告诉程序“这里要替换成某个类型的变量值”(后面细讲)。
2. 常见用法示例
(1)打印纯文字(无变量)
代码语言:javascript
复制
#include <stdio.h>  // 必须包含的头文件(后面解释)

int main() {
    printf("欢迎学习C语言!\n");  // \n是换行符(下面会讲)
    return 0;
}

运行结果:屏幕上显示

代码语言:javascript
复制
欢迎学习C语言!
(然后换到下一行)
(2)打印变量(重点!)

如果想把程序里的变量值显示出来,要用占位符(比如%d%f):

占位符

对应变量类型

例子

%d

整数(int)

你的年龄(比如18)

%f

小数(float/double)

你的身高(比如1.75)

%c

单个字符(char)

你的首字母(比如’A’)

%s

字符串(多个字符)

你的名字(比如"小明")

示例代码

代码语言:javascript
复制
#include <stdio.h>

int main() {
    int age = 18;          // 定义一个整数变量age,值是18
    float height = 1.75;   // 定义一个小数变量height,值是1.75
    
    printf("我的年龄是:%d岁\n", age);      // %d会被age的值(18)替换
    printf("我的身高是:%f米\n", height);   // %f会被height的值(1.75)替换
    return 0;
}

运行结果

代码语言:javascript
复制
我的年龄是:18岁
我的身高是:1.750000米  // 注意:%f默认显示6位小数
(3)小技巧:换行符\n和精度控制
  • \n:换行(相当于按键盘的“回车”)。
  • %.2f:控制小数只显示2位(比如1.75而不是1.750000)。

改进版代码

代码语言:javascript
复制
printf("我的身高是:%.2f米\n", height);  // 只显示2位小数

结果

代码语言:javascript
复制
我的身高是:1.75米

三、scanf:从键盘“接收”用户输入

1. 基础语法(注意有“&”符号!)
代码语言:javascript
复制
scanf("占位符", &变量名);
  • 占位符:和printf一样(比如%d%f),告诉程序“要接收什么类型的数据”。
  • &变量名&是取地址符(小白可以理解为“告诉scanf把输入的值存到这个变量的家里”),必须加
2. 常见用法示例
(1)接收一个整数(比如用户输入年龄)
代码语言:javascript
复制
#include <stdio.h>

int main() {
    int age;  // 定义一个变量age,用来存用户输入的年龄
    
    printf("请输入你的年龄:");  // 先提示用户输入
    scanf("%d", &age);           // 接收用户输入的整数,存到age变量里
    
    printf("你今年%d岁!\n", age); // 打印用户输入的年龄
    return 0;
}

运行过程

  1. 屏幕显示:请输入你的年龄:
  2. 你输入数字(比如18),然后按回车。
  3. 程序把18存到变量age里,接着打印:你今年18岁!
(2)接收一个小数(比如用户输入身高)
代码语言:javascript
复制
#include <stdio.h>

int main() {
    float height;
    
    printf("请输入你的身高(米):");
    scanf("%f", &height);  // 注意:%f对应float类型,&不能少!
    
    printf("你的身高是:%.2f米\n", height);
    return 0;
}

运行过程: 你输入1.75,程序会打印:你的身高是:1.75米(自动控制2位小数)。

(3)同时接收多个数据(用空格分隔输入)

如果想一次接收多个值(比如年龄和身高),可以这样:

代码语言:javascript
复制
#include <stdio.h>

int main() {
    int age;
    float height;
    
    printf("请输入你的年龄和身高(用空格分开,比如18 1.75):");
    scanf("%d %f", &age, &height);  // 两个占位符对应两个变量
    
    printf("你今年%d岁,身高%.2f米!\n", age, height);
    return 0;
}

运行过程: 你输入18 1.75(中间用空格隔开),程序会分别把18存到age1.75存到height,然后打印完整信息。

四、流程图:一图看懂工作原理

1. printf的流程(输出信息)

例子printf("年龄:%d", 18) → 系统把%d换成18,屏幕显示年龄:18

2. scanf的流程(接收输入)

例子scanf("%d", &age) → 你输入18 → 系统把18存到变量age里,后面用age就能拿到这个值。

五、常见错误提醒(小白避坑指南!)

  1. scanf忘记加& 错误写法:scanf("%d", age); (少了&)→ 程序可能崩溃或输入无效! 正确写法:scanf("%d", &age);&必须加!)。
  2. 输入类型不匹配 比如scanf("%d", &age)要求输入整数,但你输入了字母(比如abc)→ 程序会出错! 解决方法:按照提示输入正确类型(%d对应数字,%f对应小数)。
  3. 混用scanf和换行 如果前面用了printf打印多行,后面scanf可能因为残留的回车符出错→ 可以多按几次回车,或清空输入缓冲区(进阶内容,小白先不用管)。

六、总结:记住这几点就够了!

  1. printf:用来“打印”信息到屏幕(用%d%f等占位符显示变量值)。
  2. scanf:用来“接收”用户输入(别忘&符号!用%d%f对应变量类型)。
  3. 配合使用:先printf提示用户输入,再用scanf接收,最后用printf显示结果。

现在,打开你的C语言编译器(比如Dev-C++、VS Code),试试下面的代码吧!

代码语言:javascript
复制
#include <stdio.h>

int main() {
    int score;
    printf("请输入你的考试分数:");
    scanf("%d", &score);
    printf("你的分数是:%d分!\n", score);
    return 0;
}

输入你的分数,看看程序能不能正确显示~ 恭喜你,已经迈出C语言交互的第一步啦!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、它们是谁?——C语言的“嘴巴”和“耳朵”
  • 二、printf:把信息“打印”到屏幕上
    • 1. 基础语法(超简单!)
    • 2. 常见用法示例
      • (1)打印纯文字(无变量)
      • (2)打印变量(重点!)
      • (3)小技巧:换行符\n和精度控制
  • 三、scanf:从键盘“接收”用户输入
    • 1. 基础语法(注意有“&”符号!)
    • 2. 常见用法示例
      • (1)接收一个整数(比如用户输入年龄)
      • (2)接收一个小数(比如用户输入身高)
      • (3)同时接收多个数据(用空格分隔输入)
  • 四、流程图:一图看懂工作原理
    • 1. printf的流程(输出信息)
    • 2. scanf的流程(接收输入)
  • 五、常见错误提醒(小白避坑指南!)
  • 六、总结:记住这几点就够了!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档