专栏首页编程C语言发展历史,C语言特点,C语言利于弊,入门须知三招

C语言发展历史,C语言特点,C语言利于弊,入门须知三招

C语言的发展历史:

20世纪70年代初,贝尔实验室的Dennis Richie 等人在B语言基础上开发出C语言,最初是作为UNIX的开发语言;

20世纪70年代末,随着微型计算机的发展,C语言开始移植到非UNIX环境中,并逐步成为独立的程序设计语言;

在1978年,Kernighan和里奇的《C程序设计语言》第一版出版,在这本书中,C语言通常被表述成“K&R C”;

1988年ANSI(美国国家标准协会)对C语言进行了标准化,产生了“ANSI C”;

在ANSI标准化自己的过程中,一些新的特征被加了进去。ANSI也标准了函数库。ANSI C标准被ISO(国际标准化组织)采纳成为ISO 9899。ISO的第一个版本文件在1990年出版,诞生了“ISO C”;

标准在90年代才经历了改进,这就是ISO9899:1999(1999年出版)。这个版本就是通常提及的C99。它被ANSI于2000年三月采用。

C语言的特点:

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

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

C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件、三维、二维图形和动画,支持多种显示器和驱动器;

C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。

C语言的优点:

既有高级语言的结构和编程环境,又有类似于低级语言(如汇编语言)的系统资源操纵能力。目标代码的执行效率只比汇编低10~20% ,比其他高级语言高,适合解决有实时要求的问题;

有丰富的运算符、数据类型和表达式,对程序设计有良好的适应性;

支持以函数为基础结构化程序设计、多文件构成及文件独立编译,适合大型复杂程序设计;

语言简洁、紧凑,使用方便、灵活,书写形式自~由;

代码及可执行程序的可移植性好。

C语言的缺点:

C语言它的最大的缺点就是,如果你的项目很复杂,大量的开发人员互相之间需要更新大段代码时,C语言可能会使事情变得异常麻烦。因为C是在面向对象方法流行之前开发的,这大大降低了C语言复杂设计的可能性。(不要以为C语言做不了大项目 - -世界上有太多的经典都是用C语言完成的,如果你想了解C语言的能力,不妨看看QUAKE3的源代码——很敬佩ID的无私,这份代码完全是公开的,任何人都可以使用它与修改它。);

输入输出相对很多语言都较为复杂。对于字符串的处理,只能通过字符数组实现。绘图操作较为复杂;

C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别;

C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握;

指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。C++在这方面做了很好的改进,在保留了指针操作的同时又增强了安全性。Java取消了指针操作,提高了安全性;

类型检查机制相对较弱、缺少支持代码重用的语言结构。

本文来自企鹅号 - 程序员港湾媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • R语言的最好资源,一个就够!

    本来我可以起个骚气一点的名字 那一晚,我灌醉了这个男人,逼他说出了所有真相 但是那样很无聊,而且我不觉得有趣,我现在想做的就是,如何成为一位优秀的称职的R语言讲...

    企鹅号小编
  • C语言到底有多牛!你知道多吗?

    有人说C语言是世界上最牛逼的语言,因为操作系统就是用C语言编写的,学好了C才能更好的学习其他编程语言。为此,有人分享了下面一段代码,说是很牛逼的c语言代码,看得...

    企鹅号小编
  • ESR:程序语言设计的要诣和真谛

    为什么一些语言会成功,另一些语言会失败。 -- Eric Raymond 当你真正掌握了整体化的工程设计思维时,你就会发现高屋建瓴的工程设计已经远远超越了技术优...

    企鹅号小编
  • 学会了C语言,能开发什么?

    看招聘职位要C语言的比例真不多了,是不是C语言真的过时了? 看看很多招聘网站有关找纯粹的C语言开发的比例真的不是很多,都被Java,php,python等等语言...

    程序员互动联盟
  • C语言常用的知识没多少之C语言的入门

    C语言自1972年问世以来,历经40多年而不衰。现在依旧在机器语言排行榜中排名前三,可见C语言的重要性!C语言既是高级语言,也是少有的面向过程的语言。学习C语言...

    用户5935416
  • C语言到底有多牛!你知道多吗?

    有人说C语言是世界上最牛逼的语言,因为操作系统就是用C语言编写的,学好了C才能更好的学习其他编程语言。为此,有人分享了下面一段代码,说是很牛逼的c语言代码,看得...

    企鹅号小编
  • R语言的最好资源,一个就够!

    本来我可以起个骚气一点的名字 那一晚,我灌醉了这个男人,逼他说出了所有真相 但是那样很无聊,而且我不觉得有趣,我现在想做的就是,如何成为一位优秀的称职的R语言讲...

    企鹅号小编
  • R语言的好与坏丨讲座中字视频丨附讲座PDF

    R是一种用于分析数据的领域特定语言。为什么数据分析需要自己的领域特定语言(DSL) ? R语言擅长些什么,不擅长什么?开发人员该如何利用R语言的优势并减轻其弱点...

    CDA数据分析师
  • 哪种编程语言又快又省电?有人对比了27种语言

    当能耗也成为了一个重要指标,我们要怎么选择编程语言?2017 年,由 6 名葡萄牙研究者组成的团队决定对这一问题进行调查并发表了一篇名为《Energy Effi...

    CDA数据分析师
  • 谷歌翻译VIP版本?MIT科学家开发机器翻译新算法,专为破译消失的古语言

    语言是文化的有机组成部分,也是文化的载体,世界文明的多样性在很大程度上表现为世界语言的多样性。而在 21 世纪的今天,语言学家们显然已经不满足于传统的、对已知语...

    大数据文摘

扫码关注云+社区

领取腾讯云代金券