当前位置: 首页 > news >正文

新手学 C 别死啃语法!第二期:吃透变量与运算符,手写简易计算器

一、开篇回顾 & 前言

上一篇我们搭好了开发环境,亲手写出了带人机交互的小程序,成功迈出了第一步。

很多朋友跟着跑完了代码,也感受到:编程不是死记硬背概念,动手跑起来才学得快

本篇继续沿用「实战优先」的思路,不堆砌长篇理论,我们先做工具、再回头理解知识点。

本篇核心目标:

  1. 搞懂 C 语言里变量是什么、怎么用;
  2. 学会常用算术运算符
  3. 综合知识点,手写一个两数四则简易计算器(支持加减乘除)。

学完本篇,你就能用代码实现「数字计算」,做出第一个真正有点实用价值的小程序。

前置要求:电脑上已有 Dev-C++ 等 C 语言运行环境,会新建、保存、运行.c文件。

二、什么是变量?用大白话讲明白

先抛开书本上的专业定义,举个生活例子:

我们平时用手机记数字、存名字,都会找一个「位置」把内容存起来。在 C 语言里,变量就是用来存放数据的 “容器”

比如:

  • 存放年龄、分数、数字 → 用整型变量
  • 存放小数、价格 → 用浮点型变量
  • 存放名字、文字 → 用字符数组(上篇已经接触过)

1. 最常用的两种变量(入门只学这两个就够)

① 整型int

用来存整数:1、100、-5、2026 这类没有小数点的数字。定义格式:

int 变量名;
② 浮点型float

用来存小数:3.14、99.5、0.88 这类带小数点的数字。定义格式:

float 变量名;

2. 变量赋值与读取

把数据放进容器,就叫赋值;程序取出数据使用,就是读取。示例代码(单独运行测试):

#include <stdio.h> int main(void) { // 定义整型变量 a、b int a; int b; // 给变量赋值 a = 10; b = 20; // 读取变量并打印 printf("a 的值 = %d\r\n", a); printf("b 的值 = %d\r\n", b); return 0; }

运行结果:

a 的值 = 10 b 的值 = 20
补充说明(点到为止,不深挖)
  • %d:格式化占位符,专门用来输出int 整数
  • 变量名建议见名知意,比如num1num2,不要乱用乱码字符;
  • C 语言变量必须先定义,后使用,顺序不能颠倒。

3. 简化写法:定义 + 赋值一步到位

日常开发更常用这种简写方式:

int a = 10; int b = 20;

三、基础算术运算符

有了存放数字的变量,就可以做计算了。C 语言里最常用的四则运算符:

运算符作用示例
+加法a + b
-减法a - b
*乘法(注意不是 ×)a * b
/除法a / b

重点提醒:代码里乘法必须用*,除法必须用/,不能用数学里的 × ÷。

我们先写一段代码,测试加减乘除:

#include <stdio.h> int main(void) { int a = 10; int b = 3; printf("a + b = %d\r\n", a + b); printf("a - b = %d\r\n", a - b); printf("a * b = %d\r\n", a * b); printf("a / b = %d\r\n", a / b); return 0; }

运行结果:

a + b = 13 a - b = 7 a * b = 30 a / b = 3

小知识点:两个整数相除,结果只会保留整数部分,小数会被直接舍去,后面实战计算器我们再解决小数问题。

四、综合实战:手写简易四则计算器(本篇核心案例)

前面知识点全部铺垫完成,现在我们整合:变量定义+键盘输入+运算符+输出结果做一个人机交互计算器

  1. 手动输入两个数字;
  2. 程序自动计算加减乘除;
  3. 一次性输出所有结果。

完整代码(直接复制运行)

#include <stdio.h> int main(void) { // 定义两个浮点型变量,支持小数计算 float num1, num2; float add, sub, mul, div; // 提示用户输入数字 printf("===== 简易四则计算器 =====\n"); printf("请输入第一个数字:"); scanf("%f", &num1); printf("请输入第二个数字:"); scanf("%f", &num2); // 执行四则运算 add = num1 + num2; sub = num1 - num2; mul = num1 * num2; div = num1 / num2; // 输出所有计算结果 printf("\n===== 计算结果 =====\n"); printf("加法:%.2f + %.2f = %.2f\r\n", num1, num2, add); printf("减法:%.2f - %.2f = %.2f\r\n", num1, num2, sub); printf("乘法:%.2f × %.2f = %.2f\r\n", num1, num2, mul); printf("除法:%.2f ÷ %.2f = %.2f\r\n", num1, num2, div); return 0; }

代码逐段讲解(新手能看懂即可)

  1. float num1, num2;一次性定义两个浮点型变量,支持输入小数,比纯整数计算器更实用。
  2. scanf("%f", &num1);读取键盘输入的小数;注意:变量前面必须加&符号,这是新手第一大坑。
  3. %.2f格式化输出,表示保留 2 位小数,界面更整洁美观。

运行演示

===== 简易四则计算器 ===== 请输入第一个数字:10.5 请输入第二个数字:2.5 ===== 计算结果 ===== 加法:10.50 + 2.50 = 13.00 减法:10.50 - 2.50 = 8.00 乘法:10.50 × 2.50 = 26.25 除法:10.50 ÷ 2.50 = 4.20

到这里,你的第一个实用小工具就完成了!

五、本期新手高频踩坑合集(必看)

结合本篇内容,整理最容易出现的错误,遇到直接对照修复:

  1. scanf 忘记加&符号浮点 / 整型变量用scanf读取输入,变量名前面必须加&,漏写直接程序异常。❌ 错误:scanf("%f", num1);✅ 正确:scanf("%f", &num1);

  2. 运算符写错乘法写成×、除法写成÷,中文符号编译直接报错,必须用*/

  3. 占位符不匹配

    • 整数用%d,小数用%f
    • 混用会出现乱码、数字异常。
  4. 中文符号问题括号、引号、分号全程使用英文输入法,老生常谈但 90% 新手反复踩坑。

  5. 除数为 0如果第二个数字输入 0,除法会运行异常,后面我们学习判断语句再优化这个问题。

六、本篇总结

  1. 理解了变量的作用:用来存储各类数据;
  2. 掌握入门两大类型:int(整数)、float(小数);
  3. 学会加减乘除算术运算符,以及格式化输入输出;
  4. 独立完成实战案例:交互式四则计算器

从单纯打印文字 → 接收输入 → 数字运算,你的代码已经具备简单的逻辑能力了。

七、下期预告

下一篇我们学习if 条件判断语句,继续优化当前计算器:

  1. 增加「除数不能为 0」的容错判断;
  2. 做一个选择功能计算器:输入序号,选择单独执行加 / 减 / 乘 / 除;
  3. 延伸案例:简易成绩判断、数字大小比较。

依旧全程实战,不啃枯燥语法,跟着动手写就对了。

大家运行代码遇到任何问题,都可以在评论区留言交流,我们下期再见!

http://www.gsyq.cn/news/1533082.html

相关文章:

  • 富士贴片机实用技术培训:从操作到精通的SMT核心技能
  • VC维度与样本复杂度:机器学习理论核心解析
  • AI高考数学全不及格?揭秘大模型的认知断层与评测新范式
  • 2026年靠谱的贵州亲子旅游/贵州地接旅行社TOP排行 - 行业平台推荐
  • 批量关键词批量检索,不用单次单个词检索,压缩一半操作时间
  • Python列表删除原理与生产级安全实践
  • 如何高效使用智慧树刷课插件:新手快速入门完整指南
  • Mos插件开发:如何为macOS鼠标滚动注入专业级定制能力?
  • 【Springboot毕设全套源码+文档】基于springboot3酒店管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 伺服电机仿真(50):高级专题与工程应用——构建以仿真驱动的伺服系统研发闭环
  • vLLM推理引擎源码解读
  • 达梦数据库国产化迁移实战:从Oracle/MySQL到达梦的完整指南
  • 2026年知名的多路阀换向阀/淮安手动换向阀主流厂家对比评测 - 行业平台推荐
  • Pytest Fixture 的使用和作用范围
  • RFID资产管理系统设计、选型与实施避坑指南
  • 【开源神器】三步搞定LRC歌词:歌词滚动姬免费在线工具完全指南
  • OpenClaw:面向工业现场的OS级AI Agent实践指南
  • 凯撒旅业与凯撒易食:一文看懂集团主体与食品板块的差异 - 品牌2026
  • Automation Studio:多领域仿真平台的核心原理、应用与学习路径
  • AutoDock-Vina分子对接终极指南:5步快速掌握完整工作流程
  • Little Navmap:如何通过智能数据架构解决飞行模拟导航的三大痛点
  • Open-LLM-VTuber 本地部署与互动实战指南
  • 【Springboot毕设全套源码+文档】基于springboot框架的汽车租赁管理系统(丰富项目+远程调试+讲解+定制)
  • 【计算机毕业设计案例】基于 SpringBoot 的足球赛事资讯与互动社区系统研发 足球赛事分享与粉丝互动交流网站的设计与实现(程序+文档+讲解+定制)
  • Pixelle-Video:本地化AI短视频生成流水线实战指南
  • 逆变仿真全流程解析:从系统建模到电路级验证的工程实践
  • OmenSuperHub终极指南:5步彻底掌控你的惠普暗影精灵游戏本
  • 哪些文旅上市公司正在打造沉浸式演艺新体验? - 品牌2026
  • 深度相机RGB-D数据融合实战:从标定对齐到软硬件同步的完整解决方案
  • 2026年热门的鹰潭纯山茶油/正宗山茶油/鹰潭有机山茶油主流厂家对比评测 - 行业平台推荐