流程控制
算法
著名计算机科学家沃斯提出了一个公式:
c
程序 = 数据结构 + 算法
- **数据结构:**对数据的描述
- **算法:**对操作步骤的描述
算法的定义
广义的来说,为解决一个问题而采取的方法和有限的步骤,就称为"算法"
例如:
将大象放入冰箱的算法就可以如下描述:
打开冰箱门 → 把大象装进去 → 关闭冰箱门
算法特征
- 有穷性:包含有限的操作步骤,不能无限制的执行下去。
- 可行性:算法中每一天指令必须是切实可执行的。
- 确定性:算法中每一条指令必须有确切的含义,不能产生歧义。
算法描述-流程图

案例
-
要求:对于计算 s=1+2+3+4+5+6+7+8+9+10(累加求和)
-
用流程图表示:

程序的三种基本结构(重点)
程序的三种基本结构包括顺序结构、分支结构(条件结构、选择结构)、循环结构(重复结构)
顺序结构
**特点:**各操作是按先后顺序执行的,是最简单的一种结构,这个结构是程序默认的。

其中A和B两个框是顺序执行的。也就是在A框所指定的操作后,必然接着执行B框所指定的操作。
分支结构
**特点:**根据是否满足给定的条件而从一组、两组、或者多组操作中选择一种进行执行。

- 如果P条件成立,就执行A操作,否则跳过这个结构。
- 无论会不会执行A操作,分支都会结束

- 无论P条件是否成立,A操作或者B操作中总有一个会执行。
- 无论执行完哪一个分支,分支都会结束
分支结构又分为:
① 单分支
② 双分支
③ 多分支
循环结构
**特点:**在满足一定条件下,反复执行某一部分操作,有两种类型:
当型循环
图示:

执行过程:
当给定条件P成立时,执行S操作,然后再判断P条件是否成立,如果仍然成立,再执行S操作,然后再判断...,如此反复,直到某一次P条件不成立为止,此时不再执行S,结束循环。
特点:
先判断,后执行,循环体(S)有可能一次都不执行。
代表:
while、for
直到型循环
图示:

执行过程:
执行S操作,然后判断条件P是否成立,如果成立,再执行S操作,然后再判断,......,如此反复,直到某一次P条件不成立不再执行S,结束循环。
特点:
先执行,后判断,循环体(S)最少执行一次。
代表:
do...while
C语句
定义
- C程序是以函数为基础单位的。
- 一个函数的执行部分是由若干条语句构成的。
- C语句都是用来完成一定的操作任务。
- C语句必须依赖于函数存在。
C程序结构

C语句分类
1. 控制语句
作用:用来完成一定的控制功能
举例:
if...else...、for...、while...、do...while、continue、break、switch、return、goto
2. 函数调用语句
由一个函数调用+分号组成,例如:
c
printf("这是一个函数调用语句");
test();
3. 表达式语句
由一个表达式+分号组成,最典型的表达式语句就是赋值语句,例如:
c
a = 3 // 表达式
score >= 90 // 表达式
score = 90; // 表达式语句
4. 空语句
只有一个分号,什么都不做,例如:
c
;
for(;;)
5. 复合语句
用{...}括起来的若干个语句,例如:
c
{
z = z +y;
t = z / 100;
printf("%f\n",t);
// 超过1条语句就是复合语句
}
都不做,例如:
c
;
for(;;)