【C语言学习系列一】 C 语言再学习!
1.C语言的历史
Dennis Ritchie
(1941-2011年)为了给在PDP-11
电脑上运行的Unix系统设计出一个系统级的编程语言,他在B语言的基础上创造了C语言,这是一门高级编程语言
。
1969-1973年:早期的C语言
1969年
:基于 BCPL 创建 B ,以作为 Unix 的系统程序语言替代 PDP-7 汇编器1971年
:于将 B 移植到PDP-11
时创建 NB (新“ B ”),也就是C语言的前身1972年
:语言更名为 C1973年
:Unix操作系统 的核心正式用C语言改写,这是C语言第一次应用在操作系统的核心编写上
PDP-11
上愈发显得不合适。PDP-11提供了多种不同规格大小的基本对象:一字节长的字符,两字节长的整型数以及四字节长的浮点数。B语言无法处理这些不同规格大小的对象,也没有提供单独的操作符去操作它们。
1974-至今:标准的C
1975年
:C语言开始移植到其他机器上使用1978年
:丹尼斯·里奇和布莱恩·柯林汉合作出版了《C程序设计语言 》( The C Programming Language )的第一版
下面给出一个C语言的发展时间轴:
1954年-Fortran
:是世界上第一个被正式采用并流传至今的高级编程语言 ,由IBM开发完成1958年-IAL(ALGOL)
:ALGOL被设计用来避免FORTRAN中一些已知的问题,最终引领了许多其它编程语言的兴起,包括PL/I、Simula、BCPL、B、Pascal及C1958年-ALGOL58
:由IAL(国际代数语言,International Algebraic Language)改名而来。ALGOL家族的第一个成员。它在1958年问世,ALGOL 60 即是它的基础上开发而成1960年-ALGOL60
:ALGOF60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序。1963年-CPL
:CPL是1963年剑桥大学发明的,CPL语言在ALGOL 60 的基础上更接近硬件一些,但规模比较大,难以实现1967年-BCPL
:是一种计算机程序设计语言,源自更早的CPL语言,1966年由剑桥大学的马丁·理察德所发展出来的。Richards试着移除了CPL中最复杂的组成,第一支BCPL compiler在IBM 7094 电脑中完成1969年-B
:贝尔实验室的Ken Thompson(肯·汤普森) 对BCPL又做了改进,设计出了简单的且接近硬件的B语言,并用B语言写了第一个UNIX OS。1971年-C
:贝尔实验室的另外一个人Dennis MacAlistair Ritchie(D.M.Ritchie - DM里奇)在B的基础上设计出了C语言。C 保持了B的优点(精炼、接近硬件),又克服了他的缺点(过于简单,数据无类型),至此C语言渐渐发展成为目前世界上最常用的编程语言之一。
2.重新学习C语言的理由
一个程序的变量被存放在哪里了?指针到底是个什么东西?
等等一系列问题,导致在学习过程中可谓困难重重,对计算机慢慢产生了畏难情绪。在经过一段时间的学习,我认为在学习C语言之前更应该先去学习计算机中的一些理念和想法,比如可执行文件的加载过程;程序是如何被运行的;在程序运行过程中,栈扮演了什么样的角色?
等等,所以在简单的了解了这些原理以后,我决定再来重新学习C语言,以便彻底的了解其整个运行机制和原理。
3.学习计划
第一期:数据类型 第二期:流程控制 第三期:函数和程序结构 第四期:数组 第五期:指针(上) 第六期:指针(下) 第七期:结构(体) 第八期:链表 第九期:文件 第十期:总结