优点

  1.简洁紧凑、灵活方便

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

  2.运算符丰富

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

  3.数据结构丰富

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

  4. C是结构式语言

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

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

  虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。

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

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

  7.生成目标代码质量高,程序执行效率高

  一般只比汇编程序生成的目标代码效率低1020%

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

  C语言有一个突出的优点就是适合于多种操作系统,如DOSUNIX;也适用于多种机型。C语言具有强大的绘图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。

缺点

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

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

  [C语言指针]

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