1.为什么要学习C语言
1>.C语言的起源和发展
程序设计语言的发展:机器语言(低级语言)——汇编语言(中级语言)——高级语言
低级语言:使用的是一串二进制代码
中级语言:使用助记符(英文单词)来代替一串二进制代码(容易记忆,不容易出错)
高级语言:
结构化语言:Fortran、Basic、C、Pascal
结构化是一种思想,但是这种语言有缺陷,所以从80年代开始我们开始研究另一种语言叫面向对象思想的语言。因为C++太复杂了,SUN公司对C++进行改写研究出JAVA语言。JAVA语言与C#语言是一个级别的语言。
结构化语言的缺陷:它的数据和操作是分离的,导致写大项目的时候就容易导致各种各样的问题。
面向对象语言:Algo、Ada、Simula67、Smalltalk、C++、JAVA、C#
结构化语言中最重要的是C语言,面向对象语言中最重要的是C++语言。
运行速度对比:低级语言>中级语言>高级语言
语言发展历程:
最早ALGOL 60语言:1960年产生的,是一种算法语言,这种语言离硬件比较远
1963年:剑桥+伦敦 大学从 ALGOL 60 的基础上研究出CPL语言,这种语言离硬件比较近,但是功能不强,离硬件还是很远。
1967年:剑桥大学对 CPL语言 进行简化研究出 BCPL语言
1970年:贝尔实验室肯汤森在BCPL语言的基础上进一步简化研究出B语言,并使用B语言写出了世界上第一个操作系统UNIX OS。B语言主要用来开发UNIX OS,他还有一些缺点:比如不能处理数据类型和结构体等。为了解决这些问题,贝尔实验室丹尼斯·里奇在1972年设计了C语言,随后两人合作用C语言重新编写了UNIX OS的第5个版本。(UNIX OS 使用场景:大型机、商务机。)
C语言的流行是因为UNIX OS,因为当时UNIX OS是世界上第一个操作系统,并且是开源的,使用的人很多,很多人在使用UNIX OS的时候会发现UNIX OS有很多的问题,又因为UNIX OS是C语言编写的,所以有越来越多的人开始学习C语言。
BPL(B语言,前身是BCPL语言)、C、C++语言都是贝尔实验室(相当于公司性质)研究出来的
C++语言的发展历程:
世界上第一种计算机高级语言是诞生于1954年的FORTRAN语言。之后出现了多种计算机高级语言。1970年,AT&T的Bell实验室的D.Ritchie和K.Thompson共同发明了C语言。研制C语言的初衷是用它编写UNIX系统程序,因此,它实际上是UNIX的“副产品”。它充分结合了汇编语言和高级语言的优点,高效而灵活,又容易移植。
1971年,瑞士联邦技术学院N.Wirth教授发明了Pascal语言。Pascal语言语法严谨,层次分明,程序易写,具有很强的可读性,是第一个结构化的编程语言。
20世纪70年代中期,Bjarne Stroustrup在剑桥大学计算机中心工作。他使用过Simula和ALGOL,接触过C。他对Simula的类体系感受颇深,对ALGOL的结构也很有研究,深知运行效率的意义。既要编程简单、正确可靠,又要运行高效、可移植,是Bjarne Stroustrup的初衷。以C为背景,以Simula思想为基础,正好符合他的设想。1979年,Bjame Sgoustrup到了Bell实验室,开始从事将C改良为带类的C(C with classes)的工作。1983年该语言被正式命名为C++。自从C++被发明以来,它经历了3次主要的修订,每一次修订都为C++增加了新的特征并作了一些修改。第一次修订是在1985年,第二次修订是在1990年,而第三次修订发生在c++的标准化过程中。在20世纪90年代早期,人们开始为C++建立一个标准,并成立了一个ANSI和ISO(Intemational Standards Organization)国际标准化组织的联合标准化委员会。该委员会在1994年1月25曰提出了第一个标准化草案。在这个草案中,委员会在保持Stroustrup最初定义的所有特征的同时,还增加了一些新的特征。
在完成C++标准化的第一个草案后不久,发生了一件事情使得C++标准被极大地扩展了:Alexander stepanov创建了标准模板库(Standard Template Library,STL)。STL不仅功能强大,同时非常优雅,然而,它也是非常庞大的。在通过了第一个草案之后,委员会投票并通过了将STL包含到C++标准中的提议。STL对C++的扩展超出了C++的最初定义范围。虽然在标准中增加STL是个很重要的决定,但也因此延缓了C++标准化的进程。
委员会于1997年11月14日通过了该标准的最终草案,1998年,C++的ANSI/IS0标准被投入使用。通常,这个版本的C++被认为是标准C++。所有的主流C++编译器都支持这个版本的C++,包括微软的Visual C++和Borland公司的C++Builder。
2>.C的特点
3>.C的应用领域
4>.C的重要性
2.怎样学习C语言
3.学习目标
4.常见问题
1.学习JAVA为什么建议先学C语言
5.课程计划
标签:语言,STL,C++,C语言,UNIX,概述,OS From: https://www.cnblogs.com/shandian-fox/p/17872778.html