C语言的优缺点
2015-08-01 06:37
295 查看
C语言是当前最受欢迎的程序设计语言之一。然而由于C语言用以编写操作系统和其他系统软件的预期用途及自身的基础理论体系,C语言也具有其固有的优缺点。
C语言的优点主要包括以下几个方面:
高效性。C语言生成目标代码的效率高,一般只比汇编程序生成的目标代码效率低10%-20%,执行快速且占用内存少。
可移植性。标准化有效地促进了C程序在各类C语言编译器间的可移植性。同时C语言编译器规模小且容易编写也有力地支撑了C程序跨硬件、跨操作系统的可移植性。
功能强大。C语言具有丰富的数据类型和运算符,表达能力、计算能力和逻辑判断功能强大。
灵活性。C语言具有精简的关键字和控制语句,语言简洁紧凑。语法灵活,书写形式自由。允许直接访问物理地址,支持直接操作硬件。
标准库。C语言是小型语言,具有功能多样的标准库,支持输入输出,字符串处理和存储分配等操作。
C语言的缺点主要有以下两点:
灵活性。C语言的灵活性是把双刃剑,用得不好的话会使C程序漏洞百出,安全性难以保证。C语言的灵活性也带来了应用方式的多样性,造成程序可能难以理解。
难以修改。C语言缺乏封装机制,如果在后期发现设计中的问题,程序将难以修改。C语言缺乏对数据的封装,也是出现安全性问题的一个重要原因。
面对C语言的优势和缺点,如何高效地使用C语言呢?K.N. King在《C Programming: A Modern Approach》(中文译名:C语言程序设计-现代方法)一书中提出了以下7条建议:
规避C语言的缺陷
利用软件工具(lint等)使程序更可靠
利用现有的代码库
采用一套切合实际的编码规范
避免投机取巧和极度复杂的代码
使用标准C,少用K&R C
避免不可移植性
K.N. King 著,吕秀峰 译. C语言程序设计-现代方法. 人民邮电出版社
https://en.wikipedia.org/wiki/Lint_(software)
C语言的优点主要包括以下几个方面:
高效性。C语言生成目标代码的效率高,一般只比汇编程序生成的目标代码效率低10%-20%,执行快速且占用内存少。
可移植性。标准化有效地促进了C程序在各类C语言编译器间的可移植性。同时C语言编译器规模小且容易编写也有力地支撑了C程序跨硬件、跨操作系统的可移植性。
功能强大。C语言具有丰富的数据类型和运算符,表达能力、计算能力和逻辑判断功能强大。
灵活性。C语言具有精简的关键字和控制语句,语言简洁紧凑。语法灵活,书写形式自由。允许直接访问物理地址,支持直接操作硬件。
标准库。C语言是小型语言,具有功能多样的标准库,支持输入输出,字符串处理和存储分配等操作。
C语言的缺点主要有以下两点:
灵活性。C语言的灵活性是把双刃剑,用得不好的话会使C程序漏洞百出,安全性难以保证。C语言的灵活性也带来了应用方式的多样性,造成程序可能难以理解。
难以修改。C语言缺乏封装机制,如果在后期发现设计中的问题,程序将难以修改。C语言缺乏对数据的封装,也是出现安全性问题的一个重要原因。
面对C语言的优势和缺点,如何高效地使用C语言呢?K.N. King在《C Programming: A Modern Approach》(中文译名:C语言程序设计-现代方法)一书中提出了以下7条建议:
规避C语言的缺陷
利用软件工具(lint等)使程序更可靠
利用现有的代码库
采用一套切合实际的编码规范
避免投机取巧和极度复杂的代码
使用标准C,少用K&R C
避免不可移植性
参考文献
http://langpop.com/K.N. King 著,吕秀峰 译. C语言程序设计-现代方法. 人民邮电出版社
https://en.wikipedia.org/wiki/Lint_(software)
相关文章推荐
- 深入理解C语言和面向对象
- 《C++编程思想》第八章 内 联 函 数 (原书代码+知识点+习题+解答)
- C/C++内存分区及各区区别
- Box2D C++ 教程 第二节:环境设置
- c++ 虚函数和纯虚函数
- C语言的图形函数笔记
- 【黑马程序员】C语言之函数
- 【leetcode c++】113 Path Sum II
- JDK结构以及java基本字符类型与c/c++区别
- 函数探幽
- C++修改文件名
- C++标准库:bitset 用法整理
- poj 2315 最小费用最大流入门题
- 关于C++虚函数和纯虚函数
- More Effective C++:Item 27
- 【leetcode c++】 112 Path Sum
- 【leetcode c++】111 Minimum Depth of Binary Tree
- [V1.0]小木虫路径搜索问题C语言处理方案
- Silver Cow Party
- VC++内存泄漏定位(依赖MFC)