🎁 当前为 免费试看 内容 · 开通VIP 解锁 GESP 通关手册全部 1–8 级知识点 + 题库 + 详细解析
🌐 主站
📖 已学 0

📌 程序设计语言

所属等级:GESP 2级 | 难度:★☆☆ | 关键词:程序设计语言

📝 考纲要求

  • 了解程序设计语言的几大分类及特点:机器语言、汇编语言、高级语言;
  • 理解三类语言在“离硬件远近”和“可读性”上的区别与联系;
  • 了解常见的高级语言及其特点(本手册以 C++ 为唯一教学语言);
  • 知道为什么信息学入门常选用 C++ 作为学习语言。

📖 通俗讲解

💡 一句话理解 计算机只看得懂 0 和 1,而人习惯写“像数学、像英语”的句子。程序设计语言就是人和计算机之间的“翻译层级”:离硬件越近的语言越难懂但能直接被 CPU 执行,离人越近的语言越好写但需要编译器/解释器翻译成机器语言。

机器语言是 CPU 能直接执行的二进制指令(全是 0 和 1),速度最快却几乎无法被人阅读和编写;汇编语言用 MOV、ADD 这样的“助记符”代替二进制,好记一点,但仍要逐条对应硬件操作,需要“汇编器”翻译成机器语言;高级语言(以 C++ 为代表)用接近自然语言/数学的语法描述逻辑,易读易写,需要“编译器”翻译成机器语言才能运行。等级越高(越“高级”),离硬件越远、可读性越好、写程序越省力。

常见的高级语言各有侧重,其中 C++ 运行速度快、贴近底层、对语法和内存控制要求严格,非常适合打牢算法与数据结构基础;本手册只讲 C++,GESP 选择 C++ 作为入门,是因为它既能训练严谨的编程思维,又能直接对接竞赛与工程实践。

🖼️ 图解

              离硬件近(难懂·快)   ←———→   离人近(好懂·慢)
              ┌──────────────────────────────────────────┐
   机器语言   │  10110100 01100010  ┃ 全是 0/1 指令        │
   (最低级)   │  CPU 直接执行        ┃ 人几乎看不懂、写不了  │
              ├─────────────────────┼──────────────────────┤
   汇编语言   │  MOV AX, 5          ┃ 助记符代替二进制      │
   (中间层)   │  ADD AX, 3          ┃ 要好记些,但仍逐条对应│
              │  需“汇编器”翻译      ┃ 硬件,离人还有距离     │
              ├─────────────────────┼──────────────────────┤
   高级语言   │  int x = 5 + 3;     ┃ 像数学/英语,易读易写 │
   (最高级)   │  cout << x;        ┃ 需“编译器”翻译        │
              │  C++ 等            ┃ 写完人能看懂,CPU 不能│
              └──────────────────────────────────────────┘
   阶梯:机器语言 → 汇编语言 → 高级语言(可读性↑,离硬件↑)
🔑
记忆口诀:“机器 0/1 最底层,汇编助记中间层,高级语言像人说;越高级越好懂,越底层越快但越难啃。”

🔵 核心必背重点

✅ 必背
  • 机器语言:二进制 0/1,CPU 直接执行,不可移植、难读难写;
  • 汇编语言:用助记符(MOV/ADD 等)表示指令,需汇编器翻译,面向具体 CPU;
  • 高级语言:语法接近人类语言,需经编译器整体翻译为机器语言后运行;
  • 常见高级语言:C++(快、严谨、适合入门打基础)等,本手册以 C++ 为准。

🔴 考试拉分难点

⚠️ 难点
  • 分类辨析:能根据一段代码判断它属于机器语言、汇编语言还是高级语言(看是否出现 0/1、助记符或类自然语言语法)。
  • “翻译”环节:高级语言不是 CPU 直接执行的,必须经过编译/解释;机器语言无需翻译。
  • 可读 vs 效率:越高级可读性越好但一般越慢,越底层越快但越难维护——考试常考这种权衡。

🟡 高频易错陷阱

🚫 扣分坑点
  • 误以为“C++ 代码能被 CPU 直接运行”——其实要先编译成机器语言;
  • 把“汇编语言”当成“高级语言”:汇编仍贴近硬件,不属于高级语言;
  • 混淆“编译器”和“解释器”:C++ 用编译器把整个源程序一次性翻译成机器语言后再运行,而不是边翻译边执行。

🧪 例题演练

例题 1(辨识题):判断语言类型

题目:下面三段代码中,哪一段是高级语言?哪一段是汇编语言?哪一段是机器语言?

A. 10110100 01100010 00000101
B. MOV AX, 5
   ADD AX, 3
C. int x = 5 + 3;
   cout << x << endl;
✅ 解析
  • C 段是高级语言(C++):用 int、cout 等类自然语言语法;
  • B 段是汇编语言:用 MOV、ADD 助记符;
  • A 段是机器语言:纯二进制 0/1 指令,CPU 可直接执行。

例题 2(写法对比):for 与 while 两种 C++ 循环

题目:用 C++ 求 1+2+…+100 的和,下面给出 for 和 while 两种写法,体会“同一逻辑,不同循环结构”。

C++(for 循环)
#include <iostream>
using namespace std;
int main() {
    int sum = 0;
    for (int i = 1; i <= 100; i++) {
        sum += i;          // 累加 1 到 100
    }
    cout << sum << endl;   // 输出 5050
    return 0;
}
输出5050
C++(while 循环)
#include <iostream>
using namespace std;
int main() {
    int sum = 0, i = 1;
    while (i <= 100) {     // 循环条件写在 while 后
        sum += i;
        i++;               // 别忘自增,否则死循环
    }
    cout << sum << endl;   // 同样输出 5050
    return 0;
}
💡 对比小结 两段都表达“从 1 加到 100”,结果都是 5050。for 把“初值 / 条件 / 自增”写在一起,适合次数已知的循环;while 把条件写在前面、自增放在循环体里,适合次数未知、靠条件退出的循环。选择哪种只是风格不同,逻辑等价。

🛡️ 避坑总结

  1. 三类语言:机器语言(0/1,CPU 直接执行)→ 汇编语言(助记符,需汇编)→ 高级语言(类人语法,需编译/解释);
  2. 越高级可读性越好、越易写,但一般离硬件越远、需要翻译;
  3. 汇编语言不是高级语言,它仍贴近硬件;
  4. 常见高级语言:C++(快、严谨,适合入门打基础);
  5. C++ 代码不能直接被 CPU 执行,必须经编译器生成机器语言。

💡 提示:按 ← → 方向键可在上一 / 下一知识点间快速翻页

GESP 2级 · 学习进度 0/0

📑 本页目录