流程控制
1.什么是流程控制
程序代码执行的顺序
2.流程控制的分类
循环执行
顺序执行
选择执行
定义
某些代码可能执行,也可能不执行,有选择的执行某些代码
分类
if
1).if最简单的用法
if(表达式)
语句
功能:
如果表达式为真,执行语句
如果表达式为假,语句不执行
2).if的范围问题
(1).if (表达式)
语句A;
语句B;
解释:if只能控制语句A的执行或不执行
无法控制语句B的执行或不执行(语句B一定会执行)
(2)if(表达式)
{
语句A;
语句B;
}
此时可以控制语句A和语句B
由此可见:if默认只能控制一个语句的执行或不执行
如果想控制多个语句的执行或不执行
就必须把这些语句用{ }括起来
3).if...else...的用法
4).if...else if...else...的用法
格式:
if(1)
A;
else if(2)
B;
else if(3)
C;
else
D;
5).C语言对真假的处理
非零是真
零就是假
真用1表示
假用0表示
6).if举例————求分数的等级
举例2 互换两个数字(重点:t = i ; i = j ; j = t)
举例3 对任意三个数字排序
7).if的常见问题解析
(1).
空语句的问题
if(3>2);
等价于
if(3>2)
; //这是一个空语句
(2).
if(表达式1)
A;
else
B;
是正确的
if(表达式1);
A;
else
B;
是错误的
(错误原因:if后在没有大括号的情况下只能连带执行后一行语句。if后有“ ; ”代表有空语句,已经有一行语句了。相当于A和if能不能执行无关,导致else与if不能配对,没有if的else不能单独执行,所以有语法错误)
(3).
if(表达式1)
A;
else if(表达式2)
B;
else
D;
(注意:即使表达式1和2都成立,也只会执行A语句)
(4).
if(表达式1)
A;
else if(表达式2)
B;
else if(表达式3)
C;
(这样写语法不会出错,但逻辑上有漏洞)
(5).
if(表达式1)
A;
else if(表达式2)
B;
else if(表达式3)
C;
else(表达式4)------------- *
D;
(这样写不正确,(正确的写法是:(方案一)去掉(*)中的(表达式4)。(方案二)在(*)中else后面加if。))
(如果在(*)中(语句4)后加“ ; ”,这样写语法不会出错,但逻辑上错误(D语句就从if语句中分割开了,和else没有关系了。else语句此时只能控制表达式4。))
switch
举例:电梯程序