一、C语言的起源
1972年,贝尔实验室的丹尼斯.里奇和肯.汤普逊在开发UNIX操作系统时设计了C语言C语言是在B语言的基础上进行设计的
二、C语言的优缺点
1、优点
- 设计特性
C语言融合了计算机科学理论和实践的控制特性,其设计理念可以让用户能轻松的完成自顶向下的规划、结构化编程和模块化设计,因此用C语言编写的程序更加易懂、更加可靠
- 高效性
用C语言编写的程序相对更加紧凑,运行速度更快
- 可移植性
在一种程序中用C语言编写的的程序稍作修改或者不用修改就可以在其他系统中运行
- 强大而灵活
应用范围广
- 面向程序员
C语言是为了满足程序员的需求而设计的,程序员可以利用C语言访问硬件、操控内存中的位
C语言拥有的丰富的运算符,可以让程序员简洁地表达自己的意图
C语言没有那么严格,这样的灵活性使得许多任务使用C语言来处理都非常简洁
2、缺点
C语言的灵活性会使得你在编写代码的过程中犯一些莫名其妙的错误
三、C语言的应用范围
应用范围广
四、计算机能做什么
1、计算机的构成
2、计算机工作原理
如果希望计算机做某些事情,就必须为其提供特殊的指令列表(程序),确切地告诉计算机要做的事情以及如何做,以及必须使用计算机能直接明白的语言
3、特别注意
- 存储在计算机中的所有内容都是数字
- 计算机的程序最终必须以数字指令码(机器语言)创建程序
五、高级计算机语言和编译器
1、高级编程语言以多种方式简化了编程工作的原因:
- 不必使用数字码表示指令
- 使用的指令更加贴切你如何想这个问题,可以在更加抽想的场面表达你的想法
2、编译器存在的意义
- 对于计算机而言,使用高级编程语言编写的指令(高级指令)就是一堆无法理解的数据,编译器就是把高级编程语言程序翻译成为计算机可以理解的机器语言指令集的程序
- 同时,不同的CPU制造厂商使用的指令系统和编码格式不同,使用合适的编译器或者编译器集,便可以把一种高级编程语言转换成共各种不同类型CPU使用的机器语言编辑程序
六、C语言标准
1、第1个ANSI/ISO C标准
美国国家标准协会(ANSI)于1983年组建了一个委员会(X3J11),开发了一套新的标准,并于1989年公布,该标准(ANSI C)定义了C语言和C标准库
国际标准化组织于1990年采用这套标准(ISO C),两者是完全相同的标准
该标准称之为C89(1989年)或者C90(1990年),又或者称之为ANSI C或者ISO C
2、C99标准
1994年,ANSI/ISO联合委员会(C9X委员会)开始修订C99标准,最终发布了C99标准
3、C11标准
标准委员会在2007年承诺C标准的下一个标准是C1X,2011年发布了C11标准
七、使用C语言的7个步骤
1、定义程序的目标
2、设计程序
3、编写代码
4、编译
5、运行程序
6、测试和调试程序
7、维护和修改代码
八、编程机制
1、编译机制
C编程的基本策略是,用程序把源代码文件转换为可执行文件编译器把源代码文件转换为中间代码,链接器把中间代码和其他代码合并,生成可执行文件
C语言使用这种方法方便对程序进行模块化,可以独立编译单独的模块稍后再用链接器合并已经编译的模块
通过这种方式,如果只更改某个模块,不必因此重新编译其他模块
另外,链接器还将你编写的程序与预编译的库代码合并
2、专有名词解释
- 源代码文件
用C语言编写程序时,编写的内容杯存储在文本文件中,该文件被称为源代码文件
文件名应该满足特定计算机操作系统的特殊要求
- 可执行文件
其中包含可直接执行的机器语言代码
- 目标代码文件
是一种普遍形式的中间文件,即把源代码转换为机器语言代码,并把结果放在目标文件中
因为目标文件中存储的是编译器翻译的源代码,其中缺失启动代码(启动代码充当着程序和操作系统中间的接口)和库函数,还不是一个完整的代码,所以并不能直接运行该文件
- 链接器:是将经过编译的目标代码和系统的标准启动代码和库代码合并成为一个可执行文件