目录
1.1计算机和编程语言
1.1.1计算机与编程语言:计算机是怎么做事情的,编程语言是什么
计算机如何解决问题?
计算机只能将每一步完美的完成,无法将步骤串起来,而我们要做的是告诉计算机怎么将每一步串起来也就是说当我们面对人的时候就是What to do,面对计算机的时候就是How to do。
计算机语言
程序是用特殊的编程语言写出来表达如何解决问题的
不是用编程语言来和计算机交流,而是描述要求它如何做事情的过程或方法
算法
- 我们要让计算机做计算,就需要找出计算的步骤,然后用编程语言写出来
- 计算机做的所有的事情都叫计算
- 计算的步骤就是算法
1.1.2计算机的思维方式:重复是计算机最擅长的
程序的执行
解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行
编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言----机器语言----写的程序,然后,这个机器语言写的程序就能执行了
解释语言VS编译语言
- 语言本无编译/解释之分
- 常见的执行方式而已
- 解释型语言有特殊的计算能力
- 编译型语言有确定的运算性能
1.2C语言
1.2.1为什么是C:C语言在工业界占有重要地位,在很多领域无可替代
C语言是在工业界使用非常广泛的语言
其他语言?
现代的编译在语法上的差异很小
几乎都是C-like语言
语言的能力/适用领域主要是由库和传统所决定的
1.2.2简单历史:关于C语言和版本的极其简单的历史
C语言
C语言是从B语言发展而来的,B语言是从BCPL发展而来的,BCPL是从FORTRAN发展而来的
BCPL和B都支持指针间接方式,所以C也支持了
C语言还受到了PL/I的影响,还和PDP-11的机器语言有很大的关系
1973年3月,第三版的Unix上出现了C语言的编译器
1973年11月,第四版的Unix(System Four)发布了,这个版本是完全用C语言重新写的
C的发展与版本-K&R
经典C
又被叫做“K&R the C”
The