C语言的起源和简介

简介: C语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的DEC PDP-11 计算机上使用。

一、C语言的起源


       C语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的DEC PDP-11 计算机上使用。它由早期的编程语言BCPL(Basic Combind ProgrammingLanguage)发展演变而来。在1970年,AT&T贝尔实验室的KenThompson根据BCPL语言设计出较先进的并取名为B的语言,最后导了C语言的问世。随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行的C语言标准。





二、C语言的特点

       C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如DBASEIPLUS DBASEIV都是由C语言编写的。用C语言加上一些汇编语言子程序,就更能显示C语言的优势了,象PC-DOS WORDSTAR等就是用这种方法编写的。归纳起来C语言具有下列特点:



1.C是中级语言


       它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。


2.C是结构式语言


       结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。


3.C语言功能齐全


       C语言具有各种各样的数据类型,并引入了指针概念可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的。


4.C语言适用范围大


       C语言还有一个突出的优点就是适合于多种操作系统,如DOSUNIX,也适用于多种机型。


5.C语言的特性


       C语言是一门工程实用性极强的语言,提供了对操作系统和内存的精准控制,编译后的程序运行效率相比Java、Python等语言要高效的多,对理工科学生来说它也是一门必修课。C语言的特点概况如下;

       C语言是一种结构化语言,层次清,便于模块化方式组织程序,易于调试和维护。

       C语言功能强大,程序运行效率高,计算机操作系统一般都由C语言编写而成,如 Windows操作系统、Linux操作系统。

       C语言数据结构丰富,能实现各种复杂的数据类型的运算,引入指针可以直接操作硬件,把高级语言的基本结构和语句与低级语言的实用性结合起来。

       C语言可移植性强。它适合于多种操作系统编程,如WindowsDOS、UNIX Linux等等,在一种系统中编写的C程序稍作修改或不修改就能在其它系统运行。 C语言允许直接访问物理地址,能进行位(bit)操作,可以实现汇编语言的大部分功能,直接对硬件进行操作,特别适合于编写嵌入式程序和控制硬件的程序。



6.C语言的重要性


       C语言在编程语言中属于系统级语言,几乎所有的操作系统内核都用到了C语言,例如:Windows、Linux、macOS等等。只有学会了C语言,才能更好掌握数据结构、计算机组成原理、操作系统等计算机专业课程。另外,Java、C++、C#、Python、Go等语言都受到了C语言的影响,掌握了C语言,再学习其它高级语言就会容易得多,C语言在众多编程语言中,起到了承上启下的作用。

在人工智能、大数据、物联网持续发展的今天,嵌入式开发愈来愈重要,由于嵌入式开发技术门槛高,嵌入式开发人才缺乏,企业对嵌入式开发工程师需求旺盛。要学习嵌入式开发,必须要掌握C语言,C语言是开发嵌入式程序的基础。


三. 致敬先辈——伟大的C语言之父


       丹尼斯·麦卡利斯泰尔·里奇(英语:Dennis MacAlistair Ritchie,1941年9月9日-2011年10月12日),美国计算机科学家。C语言之父,UNIX之父。曾担任朗讯科技公司贝尔实验室下属的计算机科学研究中心系统软件研究部的主任一职。1978年与布莱恩·科尔尼干(Brian W. Kernighan)一起出版了名著《C程序设计语言(The C Programming Language)》。此书已翻译成多种语言,被誉为c语言的圣经(可惜我学的是谭老的红皮书)


克尼汉这样评价Dennis:牛顿说他是站在巨人的肩膀上,如今,我们都站在里奇的肩膀上。


       C语言横空出世后,便迅速在世界上传播开。从贝尔实验室到全世界的大学,也到了微软,一个在80年代异军突起的软件公司。一直到今天,我们也依旧在使用C语言,并且这门语言常年霸占在各大编程语言的榜首。正所谓吃水不忘挖井人,里奇值得人们去纪念。


四.为什么是C语言

简单来说(目前自己的认知):

1、他是结构化设计语言;

2、运算符多;

3、数据结构丰富;

4、操作系统配用起来非常方便;

5、程序执行效率高;

6、可移植性好;

五.C语言的未来


C语言过时了吗


经过几十年的风雨洗礼,C语言也踏入了老年阶段(按照人类寿命算的话),不少人觉得C语言已是暮年(将近50岁),而且想学懂也是非常的困难,加上被如今Python等热门语言抢了风头,上到高校,下到小学,全民皆可Python,心里会产生这样的疑问:C语言过时了吗,引用网上一组图片进行形象对比



“廉颇老矣,尚能饭否”?


可是,下面的数据告诉你,C语言宝刀未老,并且依旧坚挺,下图为今年最新编程语言排行榜:



       可以看到,在今年最新的排行榜中,C语言排在第二位,并非是大家以为的过时了,最后的最后,引用一位大佬说的话:


       只要计算机还是基于冯诺依曼体系结构(特意去查了下这是个什么玩意),芯片还是基于物理制程。那么,都会有一片C的天空。因为,她知道一个最接近天空的地方(C是最接近汇编、机器语言的高级语言之一)。


总结


       不知不觉就到了总结阶段了,写到这里,真的彷佛看见了C的一生- ̗̀(๑ᵔ⌔ᵔ๑)。


千里之行,始于足下。——老子《老子》


       每一步的积累,都是一个脚印一个脚印踏出来的,做任何事,其实都不应该贪图快捷,无论学编程,还


相关文章
|
7月前
|
Unix 关系型数据库 MySQL
C语言简介
C语言简介。
52 0
|
存储 安全 Unix
01 C语言 - 简介
01 C语言 - 简介
50 0
|
Unix 关系型数据库 MySQL
C语言简介
C语言简介。
71 0
|
C语言
C语言:二级指针简介
二级指针即为二级指针变量,用于存放一级指针变量的地址。 一级指针变量是用来存放普通变量的地址(地址其实就是一些数字),一级指针变量也是一个变量,存放普通变量地址的同时自身也是有地址的。那么一级指针变量的地址就需要二级指针变量来存放。
86 0
|
7月前
|
算法 编译器 C语言
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL(下)
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL
49 0
|
7月前
|
编译器 C语言 C++
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL(上)
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL
37 0
|
Unix 程序员 C语言
【C语言】-C语言简介
【C语言】-C语言简介
204 0
|
JavaScript 前端开发 Unix
1.C 语言简介
1.C 语言简介
177 0
|
编译器 Linux C语言
【C 语言】动态库封装与设计 ( Windows 动态库简介 | Visual Studio 调用动态库 )
【C 语言】动态库封装与设计 ( Windows 动态库简介 | Visual Studio 调用动态库 )
285 0
【C 语言】动态库封装与设计 ( Windows 动态库简介 | Visual Studio 调用动态库 )
|
算法 C语言
Algorithm:树相关算法(BBT/BST/B树/R树)简介(二叉查找树、二叉查找树的插入节点、二叉查找树的删除、二叉树的遍历、平衡二叉树)C 语言实现
Algorithm:树相关算法(BBT/BST/B树/R树)简介(二叉查找树、二叉查找树的插入节点、二叉查找树的删除、二叉树的遍历、平衡二叉树)C 语言实现
Algorithm:树相关算法(BBT/BST/B树/R树)简介(二叉查找树、二叉查找树的插入节点、二叉查找树的删除、二叉树的遍历、平衡二叉树)C 语言实现