{{msg}}
编程:让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。
计算机程序:就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌握的语言来编写的,所以人们如果要控制计算机,则需要通过计算机语言向计算机发出命令。
计算机语言:人与计算机之间通讯的语言。它是人与计算机之间传递信息的媒介,用来控制计算机的一系列指令。
计算机语言的种类非常的多,总的来说可以分成三大类:机器语言、汇编语言和高级语言。
计算机最终所执行的都是机器语言,它是由“0”和“1”组成的二进制数,二进制是计算机语言的基础。
通过类似于人类语言的 ”语言”来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言。不同的编程语言,有不同的语法,必须遵守。
如今通用的编程语言有两种形式:汇编语言和高级语言。
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所编写的高级语言翻译成机器语言,计算机才能执行程序。为此,我们需要一个翻译器。程序语言翻译成机器语言的工具,被称为翻译器。
由此可见,所谓的“翻译”,指的是将人类所编写的源代码转换(翻译)为机器能够执行的指令,这也被称为二进制化。
翻译器翻译的方式有两种:一种是编译,另一种是解释。两种方式之间的区别在于翻译的时机不同。
对应的语言,称之为“编译型语言”、“解释型语言”。
比如说,c 语言的代码文件是.c
后缀,翻译之后文件是.obj
后缀,系统执行的是 obj 文件;再比如, java 语言的代码文件是.java
后缀,翻译之后的文件是.class
后缀。(但是,Java 语言不是严格的 编译型语言,这个一会儿会讲)
以 C 语言的hello.c
来举例:
#include <stdio.h>
int main(int argc, char const *argv[])
{
printf("Hello world!");
return 0;
}
对于以上 C 代码,main 是程序入口,实现的功能是打印字符串hello world
到屏幕上,编译和执行过程如下:
#include<stdio.h>
会在预处理阶段被替换。hello.o
。printf()
函数位于静态库,需要经过链接器进行链接。(上方图片的来源:JavaScript 基础-基本概念 )
(上方图片的来源:编译型语言 )
Java 语言是属于半编译半解释型语言。翻译过程:
(1)编译:.java
代码文件先通过 javac 命令编译成.class
文件。
(2)执行:.class
文件再通过 jvm 虚拟机,解释执行。有了 jvm 的存在,让 java 跨平台了。