1.1C语言的起源
1972年贝尔实验室在开发UNIX操作系统时设计了C语言。
1.2选择C语言的理由
1设计特性:帮助用户完成自顶向下的规划,结构化编程,模块化设计
2高效性:具有汇编语言所具有的微调控能力
3可移植性:高级语言基本都具有,但是汇编语言不具有(如果CPU架构不同)
4强大而灵活:在很多领域都有建树
5面向程序员:可以利用C语言访问硬件,操控内存中的位等
1.3C语言的应用范围
非常广泛,开发游戏,制作电影特效,嵌入式设备,开发操作系统等
1.4计算机能做什么?
计算机会更具程序员编写的程序去执行。计算机的组成:输入输出设备(鼠标,键盘,屏幕,音响),运算器,控制器(这两个一起组成CPU),存储器。
CPU会从内存中获取并执行指令,再获取执行下一条指令。CPU内部有一些小的存储单元,叫做寄存器,有一个寄存器用来存储下一条指令的地址,CPU使用这个地址来获取并更新下一条指令。获取指令后,CPU在另一个寄存器中,存储这条指令并更新第一个寄存器里面的地址,让它指向(存储)下一条指令的地址。
这里涉及到计算机底层的工作原理,笔者水平有限,后续有新的理解会再更改。
1.5 高级计算机语言和编译器
C语言就是一个高级计算机语言,编译器可以把高级计算机语言翻译成计算机能够理解的机器语言指令集程序。一般不同的CPU制造商使用的指令系统和编码格式不同,使用编译器,可以把高级语言转变为与之相对应的机器语言程序。这里在学习了计算机的组成原理后,会有更深的理解。
1.6 语言标准
C90 C99 C11
1.7 使用C语言的七个步骤
定义目标程序:你的程序需要哪些信息?要进行哪些计算和控制?程序应该报告什么信息?
设计程序:思考如何来完成它,记住一直到这里都使用一般术语来描述,不要直接用C语言
编写代码:在设计好程序的前提下,把你的设计翻译为C语言
编译:在集成开发环境中可以可以很方便的实现
运行:在集成开发环境中可以可以很方便的实现
测试和调试:能运行但是会出错,也就是有bug,所以还要调试
维护和修改:程序有错或者想要拓展程序的用途
1.8编程机制
源代码文件:编写的内容所存储的文本文件中
目标代码文件:源代码文件经过编译器编译后形成目标代码文件
可执行文件:目标文件经过链接器于库代码,启动代码链接后形成可执行文件
一般都会在集成开发环境(IDE)中编写代码