初识C语言——1(C语言是什么及其演变历史)

C语言是一门面向过程的通用程序设计语言,由丹尼斯·里奇发明。它经历了从B语言发展到K&R标准,再到ANSIC(C89/C90)、C99和C11等多个标准的演变,广泛应用于底层开发和各种平台。面向过程与面向对象是两种不同的编程思想,C语言因其高效和跨平台特性而备受青睐。
摘要由CSDN通过智能技术生成

1.什么是C语言

C语言是我们大多数同学掌握的第一门编程语言,但是关于C语言到底是什么 ,大家也可能知识知道它是一门学习起来最简单的编程语言而已。那么这一篇文章,小杨就来带大家重新认识一下C语言。

1)语言
我们讲到人与动物最大的区别就是人有独特的语言交流系统。多年来,随着人们社会活动的产生,人们在社会生活中就有了交流的必要,于是产生了语言这一交流工具。在后续的人类文明向不同的方向发展,根据不同文明的交流习惯与需求,也就形成不同的人与人之间用于交流的语言,这种用于人与人之间交流的语言我们称之为“自然语言”。后来伴随着计算机的出现,人们开始使用计算机解决生活中生产中遇到的一些问题,在这个过程中就需要人去教计算机做事,但是计算机并听不懂人们所讲的语言,哪怕是最简单的你问计算机1+1等于几。你可以轻易地用人类的语言问别人问题,但是再简单的问题你都不能以同样的方式问计算机

你要教计算机做事,就必须讲计算机听的懂得语言,这种语言也就是我们所说的计算机语言,亦称为程序设计语言,至今世界上已有几千种程序设计语言,C语言就是其中一种典型的面向过程的程序设计语言。

2)C语言
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

C语言的与其他语言的区别可以简单认为是汉语与英语等其他语言的区别,有着不同的优缺点,但是存在的目的都是为了交流(人与计算机的交流)。

3)面向过程与面向对象
面向过程和面向对象编程是两种不同的解决问题的思想,面向过程简单说就是根据要问题需求,设计好工作步骤,然后按照步骤一步一步去进行,知道完成这项工作,比如炎炎夏日,小杨想喝一杯冰镇可乐,其步骤是先找买一瓶可乐,然后去冰箱准备一杯冰块,最后混合二者,这是你设计的步骤,后面你按照步骤一步步去执行即可;而面向对象将有共性的一类事物放在一起,封装成一个类,然后调用对象里面的属性与行为去解决问题,例如你把喝冰镇可乐里面的行为(买可乐,取冰块,混合)和属性(冰冰凉凉,美味可口,夏日必备)封装为一个类,你要喝水的时候,你就调用喝可乐这个类里面的行为。请添加图片描述

2.C语言的演变历史

我们今天所熟悉的C语言是1972年由美国的丹尼斯.里奇(DennisRitchie)发明的,后来又经过几轮修改与新的标准的制定,C语言才演变成了我们现在看到的样子。

1)C语言的出现
众所周知,计算机的世界只有“0”和“1”,换句话说就是计算机只认识由“0”和“1”组成的一串数字,后来科学家们发现,计算机的每一个行为,都可以用一串独特的数字串来表示,也就是说人们可以通过数字串来控制计算机,这种语言也被称为机器语言。但是后来人们认为这种方式学习成本极大且人们用于解决问题的效率很低,于是开发了一种新的语言来教计算机解决问题——汇编语言,汇编语言是将一些固定的二进制代码串编写成一些人类能看得懂的符号(比如说人们将加法定义成Add),以下是一个汇编语言写的代码:

尽管汇编语言在当时已经很先进了,但是随着由于代码的冗长以及编写的困难、容易出现BUG、调试起来也不容易、后期维护需要大量时间以及兼容性差等原因,人们迫切需要一种新的编程语言,于是在1969年前后美国贝尔实验室的电脑科学家肯尼斯·蓝·汤普森在丹尼斯·里奇的支持下设计出了一门新的编程语言——B语言,并且用B语言写了初版UNIX操作系统(叫UNICS)。1971年,同样酷爱一个汤普森编的,模拟在太阳系航行的电子游戏——Space Travel的丹尼斯·里奇为了能早点儿玩上游戏,加入了汤普森的开发项目,合作开发UNIX。他的主要工作是改造B语言,使其更成熟。1972年,美国贝尔实验室的丹尼斯·里奇在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
至此,C语言也就正式诞生了,在C语言诞生后,B语言也基本被废弃;

2)K&R标准
1978年,丹尼斯.里奇和布莱恩.科尔尼汗联合出版了《C程序设计语言》(The C Programming Language)的著作,这本书被C语言开发者称为“K&R”,很多年来被当作C语言的非正式的标准说明,人们称这个版本的C语言为“K&RC”。K&R标准主要用于重新实现 Unix 操作系统。

3)ANSI C标准(American National Standards Institute C)/C89标准
1987年,随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行的C语言标准。因为其在1989年正式称为C语言的官方标准,所以也叫做C89标准。
C89标准具体内容

4)C90标准
ANSI把“C89”标准提交到ISO(国际化标准组织),1990年被ISO采纳为国际标准,称为“ISOC”标准。又因为这个版本是1990年发布的,因此也被称为“C90”标准。ANSIC(C89)和ISOC(C90)内容基本相同,主要区别在于格式组织不一样而已。

5)C99标准
在1995年,C语言工作设计组对C语言的标准进行了一系列调整,并于1999年正式称为C语言的标准,故称为C99标准.
C99具体内容

6)C11标准
2007年,C语言标准委员会又重新开始修订C语言,在2011年正式发布了ISO/IEC9899:2011标准,简称为“C11”标准。

本期分享就到这里,后面小杨也会继续跟大家分享一些自己的学习心得体会,总结学到的知识点。

学习编程的路很长,小杨还在路上,希望看到这条博客的同学们能在学习的道路上越走越远,学有所成,小杨在与大家的分享中也能有所收获!

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值