[Investor Relations]  |  官方微博

C/C++培训

美国上市公司 · 亿元级外企Java培训企业

  • 全国服务监督电话400-111-8989
C++培训 > C++资讯 > 什么是C语言,C语言优缺点和用途及发展历史
  • 什么是C语言,C语言优缺点和用途及发展历史

    发布:C++培训  来源:C++资讯  时间: 2017年04月11日

  • 什么是C语言,C语言优缺点和用途和发展历史...

  • 什么是C语言

    C语言是目前世界上流行、使用最广泛的高级程序设计语言。

    C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。

    C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。

    常用的编译软件有MicrosoftVisualC++,BorlandC++,WatcomC++,BorlandC++,BorlandC++Builder,BorlandC++3.1forDOS,WatcomC++11.0forDOS,GNUDJGPPC++,Lccwin32CCompiler3.1,MicrosoftC,HighC,等等......

    C语言的特点

    C语言属于比较低级的语言,仅次于汇编,这个低级主要指它和硬件关系比较紧密。

    1、应用广泛;几乎可以给任何电子设备编程,可以做很底层的开发如操作系统/驱动等。所以如楼上所说嵌入式等地方的开发会大量用到C语言。

    2、简单;因为是低级语言,所以不会提供很多的编程特性,如面向对象、多态、重载等等都不会出现。这也是为什么大学会大面积要求C语言课程而不是C++C#(当然,这指的是语言特性简单,不是指编写C语言程序简单,毕竟提出新的语言特性就是为了简化coding),用C语言写简单的程序来入门编程是个不错的组合。

    C语言的用处

    但也因为这两个特点,C语言与实际应用脱节。事实上学习完C语言并不能做什么(毕竟不是所有人都会去搞底层/嵌入式/单片机开发),但是可以利用C语言学习到的编程的规律去学习其他的编程语言,会轻松很多。如果搞开发的话建议去学习相关领域中通用的语言(如web开发中的php、http://asp.net等,win下的.Net系列,应用开发的C++、Java,ios下的ObjectC等)。当然C语言理论上来说是万能的。他可以实现你需要的大部分功能,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。

    C语言的发展历史

    C语言的发展颇为有趣。它的原型ALGOL60语言。

    1963年,剑桥大学将ALGOL60语言发展成为CPL(CombinedProgrammingLanguage)语言。

    1967年,剑桥大学的MatinRichards对CPL语言进行了简化,于是产生了BCPL语言。

    1970年,美国贝尔实验室的KenThompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。

    而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BGPL的第二个字母作为这种语言的名字,这就是C语言。

    为了使UNIX操作系统推广,1977年DennisM.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。

    1978年BrianW.Kernighian和DennisM.Ritchie出版了名著《TheCProgrammingLanguage》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。

    1988年,随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行的C语言标准3.C语言的主要特点。C语言发展迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如DBASEⅢPLUS、DBASEⅣ都是由C语言编写的。用C语言加上一些汇编语言子程序,就更能显示C语言的优势了,象PC-DOS、WORDSTAR等就是用这种方法编写的。

    C语言的优点

    1.简洁紧凑、灵活方便

    C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

    2.运算符丰富

    C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

    3.数据结构丰富

    C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

    4.C是结构式语言

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

    5.C语法限制不太严格、程序设计自由度大

    一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。

    6.C语言允许直接访问物理地址,可以直接对硬件进行操作

    因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。

    7.C语言程序生成代码质量高,程序执行效率高

    一般只比汇编程序生成的目标代码效率低10へ20%。

    8.C语言适用范围大,可移植性好

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

    C语言的缺点

    1.C语言的缺点主要是表现在数据的封装性上

    这一点使得C在数据的安全性上做的有很大缺陷,这也是C和C++的一大区别。

    2.C语言的语法限制不太严格

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

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

    C源程序的结构特点

    1.一个C语言源程序可以由一个或多个源文件组成。

    2.每个源文件可由一个或多个函数组成。

    3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。

    4.源程序中可以有预处理命令(include命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。

    5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。

    6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

    学习C语言在初学C语言时,可能会遇到有些问题理解不透,或者表达方式与以往数学学习中不同(如运算符等),这就要求不气馁,不明白的地方多问多想,鼓足勇气进行学习,待学完后面的章节知识,前面的问题也就迎刃而解了,这一方面我感觉是我们同学最欠缺,大多学不好的就是因为一开始遇到困难就放弃,曾经和好多同学谈他的问题,回答是听不懂、不想听、放弃这样三个过程,我反问,这节课你听过课吗?回答又是没有,根本就没听过课,怎么说自己听不懂呢?相应的根本就没学习,又谈何学的好?

    学习C语言始终要记住“曙光在前头”和“千金难买回头看”,“千金难买回头看”是学习知识的重要方法,就是说,学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是我们学生最不易做到的,然而却又是最重要的。学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C知识。
  • 上一篇:如何成为一名C++高级程序员

    下一篇:没有下一篇了

网站导航
2002-2018 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56