第1章 C语言概述
{% markmap %}
第1章 C语言概述
C语言的历史
- 起源
- C语言是贝尔实验室的Ken Thompson、Dennis Ritchie等人开发的UNIX操作系统的“副产品”。
- 进化史
- 基于
- Algol60语言->BCPL语言
- Thompson改造
- BCPL语言->B语言
- Ritchie加入
- B语言->N(New)B语言=C语言
- 基于
- C语言取代汇编的重要特点:可移植性
- 标准化
- K&R标准
- ISO标准
- C89/C90
- C99
- 继承
- C++
- 包括了C所有特性,增加了类及其他面向对象的特性
- Java
- 基于C++的,也继承了C的很多特性
- C#
- 由C++和Java发展而来的
- Perl
- 采用了很多C的特性
- C++
C语言的优缺点
- 自身特性
- C语言是一种底层语言
- C语言是一种小型语言
- C语言是一种包容性语言
- 优点
- 高效
- 除了汇编之外最接近底层的语言
- 可移植
- 优于汇编的一点
- 功能强大
- 和下面标准库一样,有一些提前写好的代码可以调用
- 灵活
- 没有那么多语法约束,相比一些高级语言C++而言
- 标准库
- 与UNIX的集成
- 现代Linux系统则是UNIX继承而来的
- 甚至windows,mac也参考了UNIX的设计
- 高效
- 缺点
- 更容易隐藏错误
- 可能会难以理解
- 可能会难以修改
- 高效使用的方法
- 学习如何规避C语言陷阱
- 使用软件工具使程序更加可靠
- 利用现有的代码库
- 例如一些热门的网络库可以直接拿来用,自己造轮子的话,容易有一些bug查不出来
- 采用一套切实可行的编码规范
- 避免投机取巧和极度复杂的代码
- 不要秀操作,代码以读得懂为准,例如比较符多加括号
- 紧贴标准
- 为了可移植性
一些有用的工具
- lint
- 静态代码分析工具
- bounds-checker
- 越界检查工具
- leak-finder
- 内存泄漏监测工具

浙公网安备 33010602011771号