第一章
计算机和编程语言
计算机工作的基本原理原理
现代计算机可以分为几个部分:中央处理单元(CPU);随机访问存储器(RAM);永久存储器;外围设备
Cpu从内存中获取指令并执行
Cpu有很多寄存器作为工作区,一个寄存器可以保存一个数,保存了下一条指令的内存地址
计算机中存储的一切都是数字
编程语言
机器语言->汇编语言->高级编程语言
程序的执行
解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行
编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机能真正懂的语言–机器语言,写程序,然后,这个机器语言写的程序就能直接执行
总的来说:解释器解释编写的程序后,之后执行编写的程序还是要再解释;而编译则会生成一个新的程序,可以反复使用
注意:语言本身没有解释和编译之分
常说的解释\编译型语言只是它的常用执行方式
解释型语言具有特殊的计算能力
编译型语言有确定的运算性能
随着计算机的发展这两种类型的执行方式已经没有太大的区别
C语言
使用C语言的步骤
定义程序目标->设计程序->编写代码->编译->运行程序->测试和调试->维护和修改程序
注意:编译分为两步:编译和链接
编译器将程序生成目标代码(中间文件),然后链接器将源代码所需的启动代码和库代码的机器码添加到中间文件,最终生成可执行文件
源代码:
目标代码:缺少启动代码和库代码,不能执行
可执行代码:源代码对应的完整的机器码
C语言的特性
高效性
C语言表现出通常汇编语言才具有的精细控制能力
可移植性
可以不加修改或少量修改,然后在其它系统上运行
强大的功能和灵活性
很多系统上的编译器是由C语言编写,所以最终都是以C程序负责生成最后的可执行文件
常识
现代的编程语言语法相差不大,可以说是C-like语言
Fortran(第一个高级编程语言)->BCPL->B->C
BCPL和B都支持指针间接方式,所以C也支持
C还受PL/I和PDP-11的影响
工业语言:底层开发工作者常使用
C的发展与标准
1989年ANSI发布第一个标准-ANSI C
1990年ISO接受ANSI的标准-C89
C89-C95-C99
C语言的作用
在某些方面具有不可替代的地位,如操作系统
嵌入式系统
驱动程序
底层驱动,图像引擎,图像处理,声音效果
编程软件
1.编辑器+编译器
2.IDE
推荐:MS Visual studio Express
Dev C++
Xcode
Eclipse-CDT
geany(和MinGW一起)
Sublime(和MinGW一起)
vim/emacs(和MinGW一起)
第一个程序
1 |
|
/n为将光标移到输出的下一行
#include:C预处理指令(编译器编译之前需要预处理)
stdio.h:C编译包的一部分,是头文件(指引编译器把你的程序正确结合在一起)