● 程序:一组计算机能识别和执行的指令,用高级语言编写的程序称为“源程序(source problem)”
● 计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成
机器语言:由0和1组成的指令
符号语言:由英文和数字表示指令
面向过程的语言(非结构化的语言,结构化的语言)
面向对象的语言
● 最初C语言只是为了编写UNIX操作系统提供一种工作语言而设计的1978年开始风靡全世界
● 1983年,美国国家标准协会(ANSI)根据C语言问世依赖各种版本对C语言的发展和扩充,制定了新的标准草案,即83 ANSI C
● 1989年,ANSI又公布了一个新的C语言标准,简称C89
● 1990年,国际标准化组织(ISO)接受C89作为国际标准,简称C90。这与C89基本上是相同的
● 1995年,ISO对C90做了一些修订,称为C95
● 1999年,ISO又对C语言标准进行修订,增加了一些面向对象的特征,简称C99。
C语言特点: ● 功能强大,使用灵活,既可用于编写应用软件,也能用于编写系统软件。
● 语言简洁、紧凑,使用方便、灵活
• 只有37个关键词、9种控制语句
• 程序书写形式自由,源程序短
● 运算符丰富
• 有34种运算符
• 把括号、赋值、强制类型转换等都作为运算符处理
• 表达式类型多样化
● 数据类型丰富
• 包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、 共用体类型
• C99又扩充了复数浮点类型、超长整型(long long)、布尔类型(bool)
● 具有结构化的控制语句
• 如if···else语句、while语句、do···while语句、switch语句、for语句
• 用函数作为程序的模块化单位,以便实现程序的模块化
• C语言是完全模块化和结构化的语言
● 语法限制不太严格,程序设计自由度大
• 对数组下标越界不做检查
• 对变量的类型使用比较灵活,例如整型量与字符型数据可以通用
• C语言允许程序编写者又较大的自由度,因此放宽了语法检查 ● 允许直接访问物理内存,能进行位操作,可以直接对硬件进行操作
• 具有高级语言的功能和低级语言的许多功能,可以用来编写系统软件
• 这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言 ● C语言编写的程序移植性好
• 生成目标代码质量高,程序执行效率高
● 每一个C语言程序都必须有一个main函数
● 所有的语句最后都应有一个分号(;)
● C语言程序主要是由函数构成的
● 一个函数由两部分组成——函数首部和函数体 ,函数体一般包括声明部分和执行部分
● 一个C程序总是从main函数开始执行的
● C程序书写格式自由(一行可以写多个语句,一个语句可以写在多行上)
● 每个语句和数据声明的最后必须有一个分号(;)
● C语言本身没有输入输出语句(输入输出的操作是由库函数scanf和printf等函数来完成的)
● 可以用“//”对C程序中的任何一行或数行做注释
为了使计算机能执行高级语言源程序,必须先用一种称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序(object program)”,然后再将改目标程序与系统的函数库以及其它目标程序连接起来,形成可执行的目标程序。
编译好一个C源程序后,上机运行要经过这样几个步骤: 上机和编辑源程序 ➜(预编译)➜ 对源程序进行编译,得到目标程序 ➜ 将目标程序与库函数连接,得到可执行的目标程序 ➜ 运行可执行的目标 程序
第二章 数据的存储与运算