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取消了指针操作,提高了安全性;

类型查看机制相对较弱、短少支撑代码重用的语言结构。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171220A0DKG200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券