1972年,美国贝尔实验室D.M Ritchie在B语言基础上开发出C语言。最初的C语言只是为了描述和实现UNIX操作系统提供的工作语言而设计的。1978年以后,C语言先后移植到大,中,小和微形计算机上;成为了世界上广泛使用的计算机语言之一。
C语言的标准发展过程:ANSI X3-----ANSI C/C89-----C99
特点:
1.语言简洁,紧凑,使用方便灵活
2.运算符丰富
3.具有结构化的控制语句
3.1用函数作为程序的模块单位,实现程序的模块化
3.2C语言是完全模块化和结构化的语言
4.数据类型丰富
5.语法限制不太严格,程序设计自由度大
6.C语言允许直接访问物理地址,能进行位(bit)操作。能实现汇编语言的大部分功能,可以直接对硬件进行操作。
7.C语言程序可移植性好
8.生成目标代码质量高,程序执行效率高
程序结构:
1.一个程序由一个或多个源程序文件组成
1.1预处理指令
1.2全局声明
1.3函数定义
1.3.1函数是C语言程序的主要组成部分
1.3.2一个函数包括两个部分(函数首部,函数体)
1.3.3函数体 包括(声明部分和执行部分)
2.程序总是从main函数开始执行的
3.程序中要求计算机的操作是由函数中的C语句完成的
4.在每个数据中声明和语句的最后必须有一个分号
5.C语言本身不提供输入输出语句
6.程序中应当包含注释
1.程序是一组计算机能够识别和执行的指令;
2.程序设计是指从确定任务到得到结果的过程;
3.为了解决人类与计算机的交流问题,创造的一种计算机和人类都能够识别的语言,称为计算机语言。
4.计算机语言的发展过程:
4.1机器语言
基于二进制的0和1组成的指令,计算机能够直接识别和接受的代码;机器指令的集合就是该计算机的机器语言。
4.2符号语言
为克服机器语言的缺点,而发展成用英文字母和数字表示一个或一条指令的语言;因计算机并不能直接识别和执行符号语言的指令,而是要用汇编语言将符号语言转换为机器语言;
一条符号语言的指令对应一条机器语言的指令;因此符号语言又称符号汇编语言和汇编语言
机器语言和符号语言是完全依赖于具体机器特性的,是面向机器的语言;也称为计算机低级语言;
4.3高级语言
为克服低级语言的缺点,继而开发计算机的第一个高级语言-----FORTRAN语言;高级语言所使用的语句和指令都是用人们容易理解的英文单词表示的。高级语言的功能很强大,它不依赖具体的机器,它的程序对任何型号的计算机都可以匹配。
计算机并不能直接识别高级语言的程序,而要通过一种编译程序将高级语言程序(源程序)转换为机器语言程序(目标程序);一条高级语言的指令往往对应多条机器语言指令;
4.3.1高级语言的发展阶段:
(1)非结构化的语言
早期的BASIC,FORTRAN和ALGOL属于非结构化语言;它的编写风格比较随意,只要符合语法规则就可以了;它没有严格的规范要求。
(2)结构化语言
在非结构化语言做了提升,结构化语言规定程序必须要有良好的基本结构(顺序结构,选择结构,循环结构)组成;程序中的流程不可以随意跳转,规定程序必须由自上而下的顺序执行各个基本结构; QBASIC,FORTRAN 77和C语言都属于这种结构化语言;
(3)面向对象的语言
面向对象的语言称为面向对象程序设计(OOPL),它是由对象,类及其它概念所进行的程序设计;主要有PHP,JAVA,C++,EIFFEL,Smaltalk等语言。
5.高级语言的特点:
5.1高级语言的数据结构要比汇编语言和机器语言丰富
5.2高级语言与具体机器结构的关联没有汇编和机器语言密切
5.3高级语言更接近自然语言
5.4高级语言编写的程序必须先经过编译为机器语言,计算机才能执行