计算机的程序设计语言有很多种,以至于怎么都学不完(bushi)。
下图是小编在百度百科里搜到的一些主要的编程语言(真的很多)
那么,在众多的程序语言中,我们应该如何选择呢?今天,小编来给大家介绍一种虽然历史有些些悠久,但仍旧有很多人在用的一种语言——C语言。
C语言作为计算机编程语言,具有功能强、语句表达简练、控制和数据结构丰富灵活、程序时空开销小的特点。它既具有诸如Pascal、FORTRAN、COBOL等通用程序设计语言的特点,又具有汇编语言(AssembleLanguage)中的位(bit)、地址(Address)、寄存器(Register)等概念,拥有其他许多高级语言所没有的低层操作能力;它既适合于编写系统软件,又可用来编写应用软件。C语言的这些特点与其发展过程是密不可分的。
C语言天下第一!!!
早期的系统软件(包括操作系统)主要用汇编语言编写,因而程序与计算机硬件的关系十分密切,使程序编写难度大、可读性差、难于移植。这样就要求有一种与硬件关系不紧密的高级语言(High-levelProgrammingLanguage)用于编程,但早期高级语言缺少汇编语言的某些操作功能,使系统软件的编写十分困难。
年,工作于贝尔实验室的DennisRitchie(膜拜大神)在B语言的基础上设计并实现了C语言。随后,DennisRitchie又和KenThompson一起设想使用C语言来构造一批软件工具。作为软件工作者的开发平台,这些平台包括不太依赖于计算机硬件的操作系统和语言编译软件。UNIX操作系统就是由他们两人用汇编语言编写而成的,并成为一种典型的分时操作系统。他们在年对UNIX作了重写,其中90%以上的代码是用C语言改写的,增加了多道程序设计能力,同时大大提高了UNIX操作系统的可移植性和可读性。(这就是人与人之间的差距吧,小编滚去学习了)
在以后的若千年中,C语言经过多次修改,渐渐形成了不依赖于具体机器的C语言编译软件,成为如今广泛应用的计算机语言之一。
目前,在各种类型的计算机和操作系统下,有不同版本的C语言编译程序,这些C编译程序有各自的特点。一般来说,年B.W.Kernighan和DennisRitchie(简称KR)合著的TheCProgrammingLanguage是各种C语言版本的基础,称之为旧标准C语言。年,美国国家标准化协会(ANSI)制定了新的C语言标准,称ANSIC。目前使用的如MicrosoftC、TurboC等版本把ANSIC作为一个子集,并在此基础上做了合乎它们各自特点的扩充。
无论是哪种版本的C语言,都具有如下一些共同的特点。
(1)C语言是一种结构化语言
C语言的主要成分是函数。函数是C语言程序的基本结构模块,程序的许多操作可由不同功能的函数有机组装而成,从而容易达到结构化程序设计中模块的要求。另外C语言还提供了一套完整的控制语句(如循环、分支等)和构造数据类型机制(如结构、数组等),使程序流程与数据描述也具有良好的结构性。
(2)C语言语句简洁紧凑,使用方便灵活
C语言一共只有32个保留字和9种控制语句,程序书写形式自由,压缩了一切不必要的成分。例如,用大括号{}代替复合语句的开始与结束,用运算符++和--表示加1和减1,用三目运算符?:来表示一个简单的if-else语句,一行中可书写多个语句,一个语句可书写在不同行上,可采用宏定义和文件包含等预处理语句,等等。这些都使C语言显得非常简洁紧凑。
(3)C语言程序易于移植
C语言将与硬件有关的因素从语言主体中分离出来,通过库函数或其他实用程序实现它们。这特别体现在输入输出操作上,因为C语言不把输入输出作为语言的一部分,而是作为库函数由具体实用程序实现,这大大提高了程序的可移植性(Portability)。
(4)C语言有强大的处理能力
由于C语言引入了结构、指针(Pointer)、地址、位运算、寄存器存储等功能,在许多方面具有汇编语言的特点,从而大大提高了语言的处理能力。
(5)生成的目标代码质量高,运行效率高
用C语言编写的程序,经编译后生成的可执行代码比用汇编语言直接编写的代码运行效率仅低15%~20%。这是其他高级语言无法比拟的。
当然,C语言也有一些不足之处,这主要表现在数据类型检查不严格,表达式出现二义性,不能自动检查数据越界,初学者较难掌握运算符的优先级与结合性的概念等。
怎么样,了解了C语言的发展历史和基本特点后,有没有心动呢?
想要编程功底吗?请持续