程序
- 程序告诉计算机应该如何完成一个计算任务。【计算机是由数字电路组成的运算机器,可以对数字进行运算,而符号、声音、图像在计算机内部都是用数字表示的】
- 程序是由一系列指令组成的【指令是指示计算机做某种运算的命令】,通常包括:输入、输出、基本运算、测试和分支、循环
编程语言
- 编程语言分为低级语言和高级语言。机器语言和汇编语言属于低级语言,直接用计算机指令编写程序。而C、C++、Java、Python等属于高级语言,用语句编写程序,语句是计算机指令的抽象表示。
高级语言要执行就必须先翻译成低级语言,
翻译的方法有两种:编译和解释,虽然有这样的不便,但高级语言有一个好处是平台无关性。【一种平台,就是一种体系结构,就是一种指令集,就是一种机器语言,这些都可看作是一一对应的】 - 编译
语句和低级语言的指令之间不是简单的一一对应关系编译即从高级语言翻译成汇编语言或机器指令的过程,由编译器实现。
编译执行的过程
解释执行的过程
解释执行的语言相比编译执行的语言有什么优缺点?
-
解释执行的语言:
优点:
1.解释执行不依赖于平台,因为编译器会根据不同的平台进行解析
2.开发速度快,出现严重BUG的几率小
缺点:
1.解析需要时间,执行效率低。
2.源代码必须交给用户 -
编译执行的语言:
优点:
1.相比解释执行编译执行效率高,占用资源小,适合复杂程序。
缺点:
1.兼容性差,例如windows平台上写的编译程序一般不可以lunix平台上运行。当然,如果只是简单的scanf,printf是可以的,但是像指针,内存分配,文件操作,多线程等,在一些相对复杂的系统问题就严重了。 更可怕的是拿源码到unix环境下编译通过了,但是运行却出问题,这种问题最要人命。 所以一般的做法都是这个程序会用在什么系统,就到什么系统环境去开发。