info
对应 GESP C++ 2 级知识块②:程序设计语言
官方要求:了解程序设计语言的几大分类及特点(机器语言、汇编语言、高级语言),了解常见的高级语言(C++、Python 等)。
第11章 计算机语言
计算机语言是人和计算机交互的符号规则体系,用于编写程序、下发指令。
11.1 计算机语言发展三阶段
11.1.1 机器语言
计算机唯一可直接执行的语言,全部由二进制 0、1 构成。
特点:
- 执行速度极快,无需翻译;
- 完全绑定硬件,不同 CPU 不能通用;
- 可读性极差,编写调试难度巨大。
示例:10001001 代表寄存器加法指令。
11.1.2 汇编语言
用英文助记符替代二进制机器指令,是机器语言的符号化版本。
特点:
- ADD、MOV 等助记符,可读性提升;
- 仍依赖硬件架构,可移植差;
- 需要汇编程序翻译成机器码才能运行。
示例:ADD AX,BX 将两个寄存器相加。
11.1.3 高级语言
语法贴近自然语言与数学公式,屏蔽底层硬件细节,分为四代:
- 早期科学语言(FORTRAN、COBOL):用于科学、商业计算;
- 结构化语言(C、Pascal、BASIC):顺序/分支/循环三大结构;
- 面向对象(C++、Java、Python):封装、继承、多态;
- 现代脚本语言(JS、PHP、Go、Rust):轻量化、快速开发。
tip
GESP 常考 问"下列语言中属于高级语言的是?"——C++、Python、Java 都是高级语言;机器语言、汇编语言不是。C++ 同时是"编译型 + 面向对象"语言。
11.2 语言四大分类方式
11.2.1 按抽象层次
- 低级语言(机器、汇编):贴近硬件,效率高,难开发;
- 高级语言:屏蔽硬件,易读易写,开发效率高。
11.2.2 按执行方式
- 编译型(C/C++、Go、Rust) 一次性将全部源码翻译成独立可执行文件,运行速度快;修改代码需要重新编译。
- 解释型(Python、JS、PHP) 解释器逐行翻译执行,不生成独立程序;调试方便,运行速度慢。
- 混合型(Java、C#) 先编译为中间字节码,再由虚拟机解释执行;兼顾跨平台与效率。
caution
编译 vs 解释
C++ 是编译型:写完要 g++ 编译成 .exe 才能跑;Python 是解释型:直接 python xxx.py 逐行执行。GESP 判断题常考"高级语言一定比机器语言慢""解释型不需要编译"这类说法,注意辨析。
11.2.3 按编程范式
- 结构化(C):以函数、三大流程控制为主;
- 面向对象(C++/Python/Java):以对象为核心;
- 函数式(Haskell、Lisp):纯函数、无可变状态;
- 脚本语言:轻量,用于自动化、网页。
11.2.4 按应用领域
通用语言:C++、Python、Java,全场景可用; 专用语言:SQL(数据库)、MATLAB(数学)、HTML(网页)。
11.3 各类语言特点汇总
| 语言类型 | 代表 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|---|
| 机器语言 | 二进制指令 | 直接执行,速度最快 | 难写难读,硬件绑定 | 早期底层开发 |
| 汇编 | x86 汇编 | 底层可控,高效 | 移植差,开发慢 | 驱动、嵌入式 |
| 编译高级 | C/C++ | 运行快,性能强 | 编译步骤繁琐 | 操作系统、游戏 |
| 解释语言 | Python | 开发快,跨平台 | 执行速度低 | 数据分析、脚本 |
| 混合型 | Java | 一次编译到处跑 | 虚拟机占用资源 | 企业软件 |
11.4 发展趋势
- 更高抽象,简化代码;
- 跨平台成为标配;
- 强化内存、类型安全(Rust);
- 面向 AI、云计算等新兴领域;
- 多范式融合(Python 同时支持面向对象、函数式)。
练习题(2 级单选风格)
- 计算机能直接执行的"机器语言"由什么组成?
- A. 英文单词
- B. 二进制 0/1 代码
- C. 汇编助记符
- D. 数学公式
- 下列属于"高级语言"的是?
- A. 机器语言
- B. 汇编语言
- C. C++
- D. 微指令
- 关于"编译型"语言(如 C++),正确的是?
- A. 边解释边逐行执行
- B. 先整体编译成机器码再运行
- C. 不需要任何翻译
- D. 运行速度最慢
- Python 属于哪一类语言?
- A. 机器语言
- B. 汇编语言
- C. 解释型高级语言
- D. 微程序语言
- 汇编语言相比机器语言的最大进步是?
- A. 运行速度更快
- B. 用助记符代替二进制,更易读写
- C. 不需要汇编器
- D. 可直接被 CPU 执行
参考答案(点击展开)
- B — 机器语言就是 CPU 能直接识别的二进制指令,难读但无需翻译。
- C — C++ 是高级语言;机器语言和汇编语言属于低级语言。
- B — 编译型语言先由编译器整体翻译成机器码,再一次性运行,通常比解释型快。
- C — Python 是解释执行的高级语言,开发快、跨平台。
- B — 汇编用
MOV、ADD等助记符替代二进制操作码,可读性大幅提升,但仍需汇编器翻译。