第11章 计算机语言
info

对应 GESP C++ 2 级知识块②:程序设计语言

官方要求:了解程序设计语言的几大分类及特点(机器语言、汇编语言、高级语言),了解常见的高级语言(C++、Python 等)。

第11章 计算机语言

计算机语言是人和计算机交互的符号规则体系,用于编写程序、下发指令。

计算机语言三层次

11.1 计算机语言发展三阶段

11.1.1 机器语言

计算机唯一可直接执行的语言,全部由二进制 0、1 构成。

特点:

  1. 执行速度极快,无需翻译;
  2. 完全绑定硬件,不同 CPU 不能通用;
  3. 可读性极差,编写调试难度巨大。

示例:10001001 代表寄存器加法指令。

11.1.2 汇编语言

用英文助记符替代二进制机器指令,是机器语言的符号化版本。

特点:

  1. ADD、MOV 等助记符,可读性提升;
  2. 仍依赖硬件架构,可移植差;
  3. 需要汇编程序翻译成机器码才能运行。

示例:ADD AX,BX 将两个寄存器相加。

11.1.3 高级语言

语法贴近自然语言与数学公式,屏蔽底层硬件细节,分为四代:

  1. 早期科学语言(FORTRAN、COBOL):用于科学、商业计算;
  2. 结构化语言(C、Pascal、BASIC):顺序/分支/循环三大结构;
  3. 面向对象(C++、Java、Python):封装、继承、多态;
  4. 现代脚本语言(JS、PHP、Go、Rust):轻量化、快速开发。
tip

GESP 常考 问"下列语言中属于高级语言的是?"——C++、Python、Java 都是高级语言;机器语言、汇编语言不是。C++ 同时是"编译型 + 面向对象"语言。

11.2 语言四大分类方式

11.2.1 按抽象层次

  1. 低级语言(机器、汇编):贴近硬件,效率高,难开发;
  2. 高级语言:屏蔽硬件,易读易写,开发效率高。

11.2.2 按执行方式

  1. 编译型(C/C++、Go、Rust) 一次性将全部源码翻译成独立可执行文件,运行速度快;修改代码需要重新编译。
  2. 解释型(Python、JS、PHP) 解释器逐行翻译执行,不生成独立程序;调试方便,运行速度慢。
  3. 混合型(Java、C#) 先编译为中间字节码,再由虚拟机解释执行;兼顾跨平台与效率。
caution

编译 vs 解释 C++ 是编译型:写完要 g++ 编译成 .exe 才能跑;Python 是解释型:直接 python xxx.py 逐行执行。GESP 判断题常考"高级语言一定比机器语言慢""解释型不需要编译"这类说法,注意辨析。

11.2.3 按编程范式

  1. 结构化(C):以函数、三大流程控制为主;
  2. 面向对象(C++/Python/Java):以对象为核心;
  3. 函数式(Haskell、Lisp):纯函数、无可变状态;
  4. 脚本语言:轻量,用于自动化、网页。

11.2.4 按应用领域

通用语言:C++、Python、Java,全场景可用; 专用语言:SQL(数据库)、MATLAB(数学)、HTML(网页)。

11.3 各类语言特点汇总

语言类型代表优势劣势适用场景
机器语言二进制指令直接执行,速度最快难写难读,硬件绑定早期底层开发
汇编x86 汇编底层可控,高效移植差,开发慢驱动、嵌入式
编译高级C/C++运行快,性能强编译步骤繁琐操作系统、游戏
解释语言Python开发快,跨平台执行速度低数据分析、脚本
混合型Java一次编译到处跑虚拟机占用资源企业软件

11.4 发展趋势

  1. 更高抽象,简化代码;
  2. 跨平台成为标配;
  3. 强化内存、类型安全(Rust);
  4. 面向 AI、云计算等新兴领域;
  5. 多范式融合(Python 同时支持面向对象、函数式)。

练习题(2 级单选风格)

  1. 计算机能直接执行的"机器语言"由什么组成?
    • A. 英文单词
    • B. 二进制 0/1 代码
    • C. 汇编助记符
    • D. 数学公式
  2. 下列属于"高级语言"的是?
    • A. 机器语言
    • B. 汇编语言
    • C. C++
    • D. 微指令
  3. 关于"编译型"语言(如 C++),正确的是?
    • A. 边解释边逐行执行
    • B. 先整体编译成机器码再运行
    • C. 不需要任何翻译
    • D. 运行速度最慢
  4. Python 属于哪一类语言?
    • A. 机器语言
    • B. 汇编语言
    • C. 解释型高级语言
    • D. 微程序语言
  5. 汇编语言相比机器语言的最大进步是?
    • A. 运行速度更快
    • B. 用助记符代替二进制,更易读写
    • C. 不需要汇编器
    • D. 可直接被 CPU 执行
参考答案(点击展开)
  1. B — 机器语言就是 CPU 能直接识别的二进制指令,难读但无需翻译。
  2. C — C++ 是高级语言;机器语言和汇编语言属于低级语言。
  3. B — 编译型语言先由编译器整体翻译成机器码,再一次性运行,通常比解释型快。
  4. C — Python 是解释执行的高级语言,开发快、跨平台。
  5. B — 汇编用 MOV、ADD 等助记符替代二进制操作码,可读性大幅提升,但仍需汇编器翻译。
SShowball OI知识手册