00:01
来看一下C语言的发展历程,呃,现在为什么有这么多人在学这个C语言呢?原因非常的简单,如果有兴趣的同学呢,你们可以在网上搜一下C语言目前在世界上使用的一个广泛度,我查了一查了一下啊,就是。截止到2018年十月份的时候呢,同学们看到编程语言排行榜第二名,第一名是Java这个。是Java这个语言。第二名呢,就是C语言。目前他占有的这个份额是百分之十五点七十五点三,已经很高了,也就是说现在使用C语言来进行编程和开发的。这个公司或者是个人是非常多的。排在第二名。所以说我们学C语言呢,其实也是为我们将来学习其他编程语言打下一个良好的基础,那我们现在来简单看一下C语言它是怎么诞生的,时间不会太长,我说几分钟就可以了,做一个必要的了解。
01:10
那么首先我们要知道语言之父是谁,是这个人大胡子,这个大胡子的名字叫丹尼尔里奇UN,他,他是C语言之父,也是unix之父,这个人呃,名气很大,他是怎么样来发明这个C语言的呢?他是这样子的。C语言的诞生了,它跟一个操作系统叫unix操作系统是有密切关系的。那如果说你们不了解unix也没有关系,你你就知道C语言的诞生跟unix操作系统有关,原因是这样子的。因为原先有一个操作系统叫unix,这个unix操作系统呢,最早是用汇编语言写的。但是汇编语言的开发效率实在是太低了。所以说这个。
02:00
丹尼斯啊丹,丹尼斯里奇呢?他决定把把这个unix操作系统重写一遍,他不想用汇编语言了。那这个时候呢,他就涉及到去用一种新的编程语言来改写。于是乎呢,他就。用他就自己发明了一个语言叫C语言,但C语言呢,其实还有一个人叫汤姆啊汤姆,汤姆son是他的一个同事,这里面我没写出来,他们两个一起来做这个事情的,然后呢,他们把这个C语言发明了,过后呢,他们就把unix操作系统的核心用C语言改写了,从此以后,C语言就成为编写操作系统的主要语言了,也就是说现在主流的操作系统底层有很多都是C语言来编写的。这点大家清晰,第二点呢,C语言因为它出现的比较早,所以说后面产生的新的编程语言。
03:00
都会去参考C语言的一种创造模式,因此C语言呢,对其他编程语言也有很多影响,这就是为什么我们说学完C语言以后,你在学别的编程语言会比较方便呢,比如说大家看很多的编程语言都深受C语言的影响,你比如说C加加。C加加其实就是在C语言的基础上进行一个扩展的。增加了这一个类和对象。比如再比如说cup Java PHP jascript等等等等,这些语言的出现呢,都会。参考这个C语言,因此呢,也受到C语言的这种影响。第三点,我们要知道学完这个C语言的人其实有一个优势,同学们有什么优势呢?如果你学完C语言再去学,比如说Java呀,或者PHP呀,Javascript啊等等,你会觉得非常容易的上手。触类旁通了,所以说这就是为什么我们大学里边。
04:02
大大学里边为什么让大家学习C语言的根本原因就是因为你学完这个C语言过后呢。再去学别的编程语言,其实是比较比较轻松的,明白这意思吧,好的。那么这个就是C语言的诞生,诞生的一个小故事,这个要记住它的一个创始人,或者叫发明叫丹尼斯里奇。那有一点还要给大家讲一讲,就是它的发展历程是怎么来的,实际上是七二年。这个C语言就诞生了,那么他没有正式发布。他自己在用到了七八年以后呢,贝尔实验室就发布了这个C语言,为什么是贝尔实验室发布的呢?因为丹尼斯里奇是在贝尔实验室工作,这个人是在贝尔实验室工作的,所以他是七八年发布的,到了这个八三年过后呢。有一个有一个组织叫an SI,这个这个组织翻译过来是American national national standards institute,这个是简,这是它的一个简称叫an SI,实际上就是全称,就叫美国国家标准局,这个美国国家标准局呢,在八三年的时候就对这个C语言进行标准化。
05:17
进行标准化,到了这个八九年呢,他就把这个标准化的这个任务就做完了啊做的做了好多年了,然后呢,就给他命名了一个名称叫做na c或者叫标准C,就或者有些地方叫什么叫做C89。比如说你跟别人交流的时候,别人问你说你用这个C语言用的是标准C呢,还是什么什么,你你要知道说的是什么,比如他说标准C,或者叫C89,指的就是889年出的这个版本,明白吧,就C语言它有自己的版本。那么到了这个九零年的时候呢,另外一个组织又加入了,这个组织叫做国际化标准组织,简称ISO。
06:03
这个国际化标准组织呢,他他觉得这个标准CR做的还是不错的,所以说他就把他采纳了,采纳过后呢。这个国际化标准组织觉得你这个还不够完善,于是乎他在九九年的时候呢,它增加了一些新的内容,就增加了一些新的内容,对他进行了一个改进,或者叫升级,于是在1999年呢,他又发布了一个新的版本,叫C99这个标准,这个C99跟八九跟C89比起来呢,增加了一些新的内容。那有些同学就要问了,说老师,那我们现在哪一个版本用的比较多呢?其实两个都差不多,现在主流的同学们注意听,现在主流的C呢,一个就是标,就是标准C,或者叫做C89这个版本用的比较多,还有一个呢,就C99这个标准也用的比较多,就这两个版本是目前比较主流的。
07:02
比较主流的好,这一点大家清晰了啊,就说你一定要明白,我们C语言有几个重要的版本,其实就两个重要版本,记住就行了,一个呢叫做C89,是八九年发布的,也叫标准C,有些地方人家就直接叫标准C。啊叫标准C这样子这样的一个叫法。还有一个呢,叫C99 C99是九九年的时候发布的一个标准。就是这两个标准,大家要有一个印象,好,现在呢,我们再简单的给同学们介绍一下C语言的特点,但现在我给同学们说C语言的特点呢,大家也不知道我在说什么,因为你现在还没有学C,所以说我这我这里呢,就给大家过一下啊,回头我们可能还回头再提到C语言的这些特点,第一个特点呢,就是C语言是代码级别的跨平台。呃,什么叫做代码级别的跨平台呢?简单的讲就是你在简单的讲啊,比如说你在这个A,比,比如说你在这个操作系统A操作系统。
08:09
或者A这个电脑开发了一个C程序。在这里做了一个C程序。然后呢,你把这个C程序呢,放到了另外一台电脑,BB电脑,这个B电脑呢,是另外一个操作系统。可能是Linux,可能是Windows哦,这个不管,就说你你你在A这台机上开发的C程序呢,拿到这个BB这个。电脑上面或者机器上面去,就还是同样一段C程序,你只需要重新编译一把就可以运行了,就说。这个就叫代码级的跨平台。当然要重新编译啊,要编译一下。好,就是这说的这个代码级别跨平台,第二个呢,C语言你要注意它是允许访问物理地址的,它可以对硬件进行直接操作,这点是它的一个非常大的特性,现在有些高级语言呢,不能对硬件进行操作了。
09:07
而C语言是可以的,因此我们说C语言具有高级语言的函这个功能,比如说它有函数对吧?它有结构体,那么它同时又具备具备低级语言的功能,比如它可以对硬件操作,因此呢,C语言经常用来做系统软件,什么叫系统软件呢?我举个例子,比如。比如操作系统。哦,操作系统,一般来讲操作系统呢,都会采用C语言开发,再比如说数据库,数据库也是一个软件,比如说你们经常用的杀毒软件。啊,比如杀毒。杀毒软件,再比如说防火墙。防火啊。防火墙这样的软件,再比如说什么呢?再比如说驱动,有些驱动呢,也可能用这个C语言来写,当然汇编也可以用哈,就是它适合写这个系统软件,再比如说我们在后面的这个服务器程序。
10:04
服务器。服务器程序很多呢,也是用这个C语言来做的。这点大家有一个基本的认识,另外呢,我们要知道C语言呢,它是一个结构化程序,因此呢,它有作用域,变量的作用域,而且它支持递归,了解一下同学们。还有一点同学们要清晰的知道,C语言呢,它传递参数有两种形式,一个叫值传递,一个叫一个是值传递,一个叫传递指针。值传递呢,它的本质传的就是值。他传的就是这个词,而传递指针,它的本质传的就是递子。这个后面我们还会详讲,同学们现在听不懂没有关系啊,我说了大家不用着急,因为你现在还没开始学呢,另外一个呢,要跟大家说清楚,C语言没有对象,也就是说我们C语言它不是一个oop的语言。有,它不是面向对象编程的语言。
11:00
那么它这个呢?不同的变量类型可以放在结构体里面进行组合。就是他没有对象,只有结构体,这点大家清晰一下,比如说有些同学听过Java语言,对不对啊,说Java语言是面向对象的,那么我告诉大家C没有对象。他不是面向对象的,它其实是更偏重于过程化编程。另外一个呢,C语言,它支持这个预编译处理。生成的目标代码的指令比较高,程序执行的速度比较快,那这点大家要有一个清晰认识,好了,同学们,那关于C语言的这个特点,还有它的一个发展历程呢,我就先给同学们介绍到这里,这点大家做一个了解哈,大家不用担心,就说诶说老师我现在听的有点不太明白,没有关系,因为我说了现在只是一个介绍。因为我在讲课的时候,我必须跟你说一下这个语言有什么特点嘛,对不对,后面呢,我们会一一个一个的进行讲解,好同学们关于这一章的内容,我们就先给同学们聊到这里。
我来说两句