2. 编程、C 与标准
1. 编程首先是形式化
编程首先是形式化
用不严谨的话说:编程是把人类世界的问题,抽象成计算机世界的逻辑,并指挥计算机去执行。
这个过程包含两个核心步骤:
- 思维的形式化(Formalization): 你首先要把脑海中模糊的想法(比如“帮我算一下全班平均分”),拆解成逻辑严密、毫无歧义的步骤(“读取所有分数” -> “累加” -> “除以总人数”)。
- 逻辑的翻译(Translation): 使用一种人能读懂、计算机也能通过工具(编译器)理解的语言——编程语言,将上述步骤记录下来。
所以,编程不是单纯的“敲代码”,那是打字员的工作。
2. 计算模型与 C 的来历
计算模型是对“计算”本身的形式化。图灵机和 lambda 演算是最早的两个模型,今天的编程语言大多围绕它们展开,并由此分出命令式与函数式两种主要范式。语言可以整体编译后执行,也可以边解释边执行,很多实现两者兼有。C 属于命令式语言,走编译路线。
C 的来历可以一直追到 ALGOL:ALGOL 影响了 CPL,CPL 简化出 BCPL,BCPL 派生出 B,C 由 B 发展而来。
3. C 标准
标准版本与实现支持是两件事
- 事实标准:K&R C
- ANSI C(被 ISO 采纳)
- 从 C89 到 C23(建议大家有空了看看标准)
- 未来的 C2y(如果有精力和能力,可以关注最新的草案,了解新标准的制定进程)
4. C 的应用领域
- 系统编程:操作系统 (Operating System, OS),编译器 (Compiler),数据库 (Database, DB) 等
- 嵌入式开发,物联网 (Internet of Things, IoT)
- 网络编程
- 图形图像处理
5. 自测
多选
以下哪些是 C 语言的主要应用领域?(多选)
操作系统 (OS) 和编译器
嵌入式开发和物联网 (IoT)
现代网页前端界面开发
数据库系统 (DB)