第一章 程序设计与C语言
1,程序与程序设计语言
机器语言:采用二进制,由0和1组成的二进制指令代码。特点:难学、难写、难记、难修改
汇编语言:采用助记符来代替机器指令的二进制串。特点:依赖于机器硬件,可移植性不好
高级语言:功能很强,且不依赖于具体机器,用它编写的程序几乎可以在任何型号的机器上运行,按照语言的特性,高级语言又经历了不同的发展阶段。
- 非结构化的语言
- 编程风格比较随意,没有编程规范可以遵循,程序中的流程可以随意跳转。
- 结构化的语言
- 结构化程序设计方法规定:程序由具有良好特性的基本结构(顺序结构、分支结构、循环结构)构成
- 程序中的流程不允许随意跳转,程序总是由上而下顺序执行各个基本结构。
- 面向对象的语言
- 对象是由数据以及对数据所进行的操作的封装体
- 采用面向对象的程序设计方法开发应用程序变得更容易,耗时更少,效率更高。
2,程序设计语言的功能
1.数据表达
对程序中用到的数据进行声明。
数据是计算机处理的对象,在解决实际问题时,通常需要申明各种类型的数据,数据类型就是对某些具有相同性质的数据集的总称
2.流程控制
对不同类型的数据进行处理。
按照结构化程序设计的观点,任何程序的基本结构都可以通过三种基本的控制结构进行组合来实现,分别是顺序结构、分支结构、循环结构
这三种结构的共同特点是:
1.只有单一的入口和单一的出口;
2.结构中的每个部分都有被执行的可能;
3.结构内不应出现永不终止的死循环。
3,程序的算法表示
软件的主体是程序,程序的核心是算法。通俗地讲,算法就是解决问题的方法与步骤。
4,算法的特征
1.确定性:算法的每条指令必须有明确的含义,不能有二义性,对于相同的输入必须得出相同的执行结果。
2.有穷性:一个算法应包含有限个操作步骤,也就是说,在执行若干个操作步骤之后,算法将结束,而且每一步都在有限的时间内完成。
3.可行性:算法中指定的操作都可以通过已经实现的基本运算执行有限次后实现
1.有零个或多个输入
2.有一个或多个输出
算法的目的是为了求“解”,“解”只有通过输出才能得到
5,C语言程序设计的特点
1.C语言语句简洁紧凑,使用方便灵活
2.运算符丰富,表达能力强
3.C语言程序可移植性好
4.生成的目标代码质量高,运行效率高
5.语言处理能力强
6.C语言是一种结构化语言
6,C语言中的约定
1.标识符:由字母、数字和下划线组成,其中第一个字符必须是字母或下划线,例如,_00、print、FOR均是合法的标识符,而&a、-123、a b均是不合法的标识符。英文字母的大小写是有区别的命名最好做到“见名知义”,增加程序的可读性,标识符的有效长度为1~255个字符。
2.关键字
数据类型关键字(12个):char,double,enum,float,int,long,short,signed,struct,union,unsigned,void。
控制语句关键字(12个):break,continue,case,do,default,else,for,goto,if,return,switch,while。
存储类型关键字(4个):auto,extern,register,static。
其它关键字(4个):const,sizeof,typedef,volatile。
3.用户自定义标识符:程序中定义的变量名、数据类型名、函数名和符号常量名
4.预定义标识符:头文件和库函数中定义的一些标识符(例如scanf、printf等)
5.分隔符:逗号:分隔变量名 空格:分隔各单词
7,C语言的语法成分
1.常量:常量是有数据类型的,例如,整型常量2、实型常量2.0、字符型常量’2’ 、字符串常量”C Programming.”等。
2.变量
变量定义的一般形式是:类型名 变量名
3.运算符
算术运算符:+(加)、-(减)、*(乘)、/(除)、%(求余);
关系运算符:>(大于)、>=(大于等于)、==(等于)、<(小于)、<=(小于等于)。
4.表达式:运算符有优先级,例如,表达式 b*b-4*a*c>0
中,由于算术运算优先于关系运算,所以先计算 b*b-4*a*c
,再做关系比较运算 >
。
5.语句:在C语言中,语句是程序最基本的执行单位,以分号结尾。
6.函数定义与调用:函数十完成特定功能的小模块,是C语言中唯一的种子程序。
7.输入与输出:C语言没有提供用于数据输入及输出的语句,所有的输入与输出都是通过系统提供的有关函数(如scanf()和printf()函数)来实现的。
8,C程序的编辑、编译、链接、运行
1.编辑:编写代码,制作C语言的源文件。
2.编译:是由编译程序将C语言源文件转换成二进制中间文件,对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。
3.链接:将编译中生成的中间文件组合成二进制可执知行文件,这一步会对文件之间的关联做检查,如果出错,将不会生成可执行文件,也就无法执行。
4.执行:运行可执行文件,这一步道是编写代码的最终目的。