把之前的专栏删了,回头一看发现自己曾经写的东西挺,算了从头开始写专栏和博客。笔者喜爱看一些修仙小说,这个专栏就写以C入道,恭祝各位道友成就C之大道^ ^(写完回看发现写的修仙又不修仙,专业又不专业的
文章中的一些词汇会解释,不会的名词含义也可以在评论区提问。所以本专栏即便是小白也可以轻松阅读理解。
如文章中有错误内容,欢迎来指正。
目录
C语言是什么?
C语言是一种广泛使用的高级程序设计语言,在编程领域可谓远近闻名。
- 高级程序设计语言:独立于机器,接近人类的自然语言和数学公式。因此比较易学易用,可移植性较强(不依赖于硬件),表达能力强(能够更好的描述复杂的逻辑关系),开发效率高(减少工作量,开发周期短),可读性和可维护性好(便于后续人员的阅读和理解)。
C语言的起源与发展
任何事物都有它的发展起源,那么C语言的起源和发展又是怎样的呢?
起源
古籍记载,上世纪六十年代中叶的美国齐聚三方大宗:MIT(麻省理工学院)、AT&T贝尔实验室和通用电气,三方大宗共同协商准备为GE-645大型机开发(叫)Multics的分时操作系统,但是这个操作系统过于臃肿和庞杂,于是贝尔实验室逐渐跑路。
- 分时操作系统:使一个计算机同时为多个终端用户服务,也就是让多个用户能够同时使用计算机资源
- 操作系统:管理计算机硬件与软件资源的程序,是计算机系统的核心与基础
在贝尔实验室还没跑路之前,它的一位名叫Ken Thompson(肯·汤普森)的开发人员,在工作之余开发了一款小游戏:星际旅行。为了让小游戏在小型机上运行,他叫上了自己的好友Dennis Ritchie(丹尼斯·里奇)一起为星际旅行一起奋斗——让星际旅行能够在小型机上运行。在1969年,他们俩完成了UNIX系统(极简的Multics操作系统),后来他们就专门搞UNIX了。
如今的MacOS、Linux以及安卓等的发展都与UNIX有着很大的关系。
- MacOS:苹果公司为Mac系列电脑开发的操作系统
- Linux:是一款开源、多用户、多任务的操作系统
- 安卓(Android):一种基于Linux内核的开源的移动操作系统
最初UNIX的大部分核心是由汇编语言写的,汇编语言的抽象程度较低,不能进行高效的编写。Ken Thompson找了一个名叫Fortran的编程语言,后来又找到了一个叫BCPL的编程语言,他简化BCPL,并且写了一个将简化后的BCPL代码翻译成汇编代码的编译器。Ken Thompson把这个简化后的语言称为B语言。
- 汇编语言:面向机器的低级程序语言
- 抽象程度:编程语言在表达程序逻辑和操作时,对底层硬件和具体细节的封装和概括程度。换而言之,抽象程度越高,开发者就能更简洁更通用更远离底层细节进行编程,抽象程度越低,就越接近计算机硬件的实际操作。
但是B语言无法完全发挥那台小型机的特性。这时候Dennis Ritchie帮助修改了Ken Thompson的B语言,Dennis Ritchie改造出的这个语言就是早期的C语言。
- 特性:计算机所具有的各种独特属性和特点,能够高效地处理信息、执行各种任务并与用户进行交互。
发展
在1978年,Brian Kernighan(布莱恩·柯林翰)和Dennis Ritchie出版了《C程序设计语言》(The C Programming Language)第一版,也被称为K&R C(黑皮书)。后为了统一C语言的标准,ANSI(美国国家标准协会)在1989年制定了第一个C语言标准,即ANSI C,也称为C89。之后ISO(国际标准化组织)也采用了这个标准,称为ISO C,后续又陆续推出了C99、C11、C17等标准,不断为C语言引入新特性和功能。
C语言的应用范围
C语言在众多领域如操作系统、嵌入式系统、游戏开发、数据管理系统等领域有着广泛且重要的应用,归根结底,只要计算机的架构不变,那么C语言就会一直流行下去。
- 嵌入式系统:一般是为特定的应用场景或任务而设计的,用于实现对其他设备的控制、监视或管理等功能
- 游戏开发:创造好玩的电子游戏的综合性过程
- 数据库管理系统:是一种用于管理和维护数据库的软件系统,是数据管理的核心工具
- 架构:计算机体系结构,是计算机系统的整体设计框架和组织方式
小结
恭喜你,道友,初步认识了C大道