CC++ & Algorithm

程序设计语言分类

中等6
语言版本:C++Python
概述:把编程语言比作不同的“沟通工具”,用Python、C语言和机器语言演示“说同一句话”的不同方式,帮你理解各种语言的特点。

程序设计语言分类:计算机的“方言”与“普通话”

你有没有想过,计算机是怎么理解你让它做的事情的?其实,人和计算机沟通,就像你跟外国朋友聊天一样,需要说对方能听懂的语言。计算机有自己的“母语”,也有更简单的“普通话”。程序设计语言就是人类和计算机沟通的工具,它主要分为三大类:机器语言、汇编语言和高级语言。Python 就属于最易用的高级语言,我们一起来看看它们之间的区别吧!

一、机器语言(第一代)——计算机的“母语”

机器语言是计算机天生就懂的语言,全部由数字 01 组成。就像我们平时写数字“101”一样,计算机能直接看懂这些二进制串,并执行相应的操作。

生活类比:想象你有一个只会点头(表示1)和摇头(表示0)的外星朋友。你想告诉它“向我走过来”,你得用一连串的点头和摇头来编码这个指令。这就是机器语言——对计算机来说很自然,但对人类来说就像天书。

例子:让计算机计算 1+2 并显示结果,在某个简单CPU上的机器语言可能是:

10110000 00000001   ; 把数字1放入累加器(处理器里的临时存储区)
00101100 00000010   ; 把累加器里的数加上2
11110100            ; 把结果输出到屏幕

你看,完全看不懂吧?而且不同型号的CPU,这些二进制串可能还不一样,写起来超级麻烦。

常见错误:新手可能会以为“机器语言”就是平时看到的二进制文件(比如 .exe 文件),其实机器语言是这些文件里真正的内容,但普通人是看不到原始二进制串的。

二、汇编语言(第二代)——给二进制起个“小名”

汇编语言用简短的英文单词(叫“助记符”)来代替那些二进制串。比如 MOV 表示“移动数据”,ADD 表示“加法”。这样稍微好理解一点,但它仍然跟具体的CPU硬件绑定,不同CPU的汇编语言也不同。

生活类比:还是那个外星朋友,你给它做了一个“动作卡牌”:卡片上画一个箭头(表示“过来”),另一个卡片画一个加号(表示“加”)。现在你不用一直点头摇头了,而是举卡片给它看。但你还是得记住每张卡片对应哪个动作,而且不同外星人的卡片可能不一样。

例子:同样的 1+2 任务,用汇编语言写:

MOV AL, 1   ; 把1放到AL寄存器(一个临时小仓库)
ADD AL, 2   ; 把AL里的数加上2
OUT 0       ; 把结果输出到屏幕

虽然比二进制好一点点,但还是很像密码。而且你写一行 MOV AL, 1,其实它翻译成机器语言就是一串 10110000 00000001

常见错误:有些同学以为学了汇编就能直接控制硬件,其实汇编只是比机器语言好写一点,但写大程序依然非常繁琐,容易出错(比如忘记保存寄存器里的数据)。

三、高级语言(第三代及以后)——像说话一样编程

高级语言用接近人类自然语言的单词和语法,比如 print(输出)、if(如果)、for(循环)。Python、C、Java 都属于高级语言。它们隐藏了底层细节,让你能专注于“要做什么”,而不是“怎么在硬件上做”。

生活类比:你对那个外星朋友说:“请帮我算一下1加2,然后把结果显示出来。”它一下就明白了——因为你们有了一本通用的“翻译词典”(编译器或解释器),把你的话翻译成它能懂的机器语言。

例子:用 Python 写 1+2 求和:

print(1 + 2)   # 输出 3

一行代码,清晰明了!高级语言把底层的二进制、寄存器、内存地址全都隐藏了,你只需要关心逻辑。

两种高级语言的执行方式

  • 编译型语言(如 C、C++):像提前把整本书翻译成中文再读。代码写好之后,先通过编译器一次性翻译成机器语言(生成可执行文件),之后运行速度很快。
  • 解释型语言(如 Python、JavaScript):像同声传译,边运行边翻译。每次运行程序时,解释器一句一句地把代码转成机器语言执行。这样开发方便,但速度稍慢。

Python 是解释型语言,所以你可以直接运行 python mycode.py,不需要单独生成可执行文件。

四、完整示例:三种语言“说同一句话”

下面这段 Python 程序,先用自己的方式计算加法,然后模拟展示如果用汇编会怎么写。运行一下,看看输出结果吧!

# 用 Python 计算 1+2 并输出
a = 1          # 把 1 赋值给变量 a
b = 2          # 把 2 赋值给变量 b
result = a + b # 计算 a+b,结果存入 result
print("用 Python 算出:", result)  # 输出结果

# 假装用汇编的思路(只是比喻,不是真正的汇编代码)
print("\n如果用汇编语言,大概要写好几行:")
print("  MOV AL, 1")
print("  ADD AL, 2")
print("  OUT 0")
print("而 Python 只需要一行 print(1+2) 就搞定了!")

# 练习:试着把 a 和 b 改成其他数字,比如 a = 10, b = 20,看看输出

常见错误:有同学以为“解释型语言不需要翻译成机器语言”,这是不对的。最终计算机执行的依然是机器语言,只是翻译的时机不同:解释型是在运行时逐句翻译,编译型是在运行前一次性翻译。

五、总结与后续学习

学到这里,你应该明白了:

  • 机器语言是计算机的“母语”,人类很难直接使用。
  • 汇编语言是机器语言的“短单词版”,仍然复杂且依赖硬件。
  • 高级语言(如 Python)最接近自然语言,写起来最方便,也是你即将深入学习的内容。

如果你想进一步了解计算机是如何执行这些语言的,可以查看 计算机工作原理 相关知识点;如果你对 Python 的基本语法还不太熟,建议先学习 变量与数据类型

现在,你已经理解了为什么 Python 被称为“高级语言”——它让你像说话一样指挥计算机干活,而不用去折腾那些让人头晕的二进制和寄存器。加油,你离真正的程序员又近了一步!

例题精讲

1单选题

以下哪种语言是计算机可以直接识别和执行的?

APython
BC语言
C机器语言
D汇编语言
2判断题

Python语言属于编译型语言。

3填空题
下面是一段Python代码,Python属于___语言。
print("Hello, world!")
4单选题

以下关于高级语言和低级语言的说法,正确的是?

A高级语言运行速度比低级语言快
B低级语言更容易编写
C高级语言更接近人类自然语言
D低级语言不需要翻译就能执行
5判断题

汇编语言是低级语言,但比机器语言更容易理解和记忆。