第一章 程序设计和C语言
1.1 什么是计算机程序
程序是一组计算机能识别和执行的指令。一个特定的指令序列用来完成一定的功能。
计算机的本质是程序的机器,程序和指令是计算机系统中最基本的概念。
1.2 什么是计算机语言
计算机语言简单说是人与计算机交流的语言,人通过计算机语言来控制计算机做出相应的指令。
计算机语言的发展历程
机器语言→符号语言→高级语言
机器语言
计算机能够识别和接受的二进制代码称为机器指令。机器指令的集合就是 该计算机 的机器语言。 特点:难学、难记、难检查、难修改、难推广使用。
符号语言
符号语言是用一些英文字母和数字表示一个指令。
由于符号语言计算机不能直接识别和执行,所以需要用一种被称为汇编语言的软件将符号语言的指令转换成机器指令。(一般,一条符号语言的指令对应转换成一条机器指令。转换过程称为“代真”或“汇编”。所以符号语言又被称为符号汇编语言或汇编语言)
高级语言
这种语言的功能很强,且不依赖具体的计算机,用它写的程序适用性广,故被称为“高级语言”。
同样,高级语言也不能直接被计算机识别和执行。因此,我们运用一种称为编译程序的软件把高级语言编写的程序(称为“源程序”)转换成机器指令的程序(被称为“目标程序”),然后让计算机识别和执行。【高级语言的一个语句往往对应多条机器指令。】
高级语言的发展历程
#非结构化语言:没有严格的规范要求,后期难以阅读和维护
#结构化语言:由具有良好特性的基本结构(顺序结构、选择结构、循环结构)构成,有一定的规范要求。特点:结构清晰,易于编写、阅读和维护。
#面向对象的语言
1.3 C语言的发展及其特点
C语言的发展
1972年,D.M.Ritchie在B语言的基础上设计C语言。
1973年,KenThompson和D.M.Ritchie合作用C语言改写UNIX的90%。
1978年以后,C语言先后被移植到大、中、小和微型计算机上。
1983年,美国国家标准协会(ANSI)制定了第一个C语言标准草案(’83 ANSI C)
1989年,ANSI公布了一个完整的C语言标准—ANSI X3.159-1989(常称为ANSI C或 C 89)。
1990年,国际标准化组织ISO 接受C 89作为国际标准ISO/IEC 9899:1990
1999年,ISO对C语言标准进行修订,在基本保留原来C语言特征的基础上,针对应用的需要,增加一些功能,并在2001年和2004年进行技术修正,该版本被称为C 99。
C语言的特点
- 语言简洁、紧凑,使用方便、灵活
- 运算符丰富
- 数据类型丰富
- 具有结构化的控制语句
- 语法限制不太严格,程序设计自由度大
- C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作
- 编写的程序可移植性好
- 生成的目标代码质量高,程序执行效率高
1.4最简单的C语言程序
#include<stdio.h> //编译预处理指令
int main() //定义主函数
{
printf("This is a C program.\n"); //输出所指定的一行信息
return 0; //函数结束
}