二大流程(if else、switch)
三大循环(while、do-while、for)
四大跳转(break、continue、return、goto)
1、选择
1.1 if else
if else if 针对于范围的多路选择。
流程框图:
注意:
1、if else 连用的时候, if 和 else 之间,不能用其它语句, if 和 else之后,只有一条语句属于它,如果有多条语句,就要用 {}进行打包,打包的意义就在于,将多条语句并为一条。
2、多路分支,要么写清分支层次关系,要么,明确各分支 (不依赖层次 )。
3、2中的问题,多存在于多路范围 的选择,如果是 多路点 的选择,就不存在这问题了。点的选择,多采用 switch。
4、else 亦不能单独使用。
1.2 switch
switch 是针对点的多路选择,亦可以小范围选择。
结构:
注意:
1.switch(表达式 ),中的表达式,必须为整型和字符型。
2.case 只能为常量表达式。
3.case 分支是互斥的。
4.case 分支要同 break连用,跳出 switch,不然匹配一次后,不再匹配 。
5.两 case块之间,可以用不大括号。
2、循环
可控循环三要素:循环变量初始化、循环变量的变化(趋向终止条件)、循环终止条件 。
2.1 while “当”型循环
如果条件在开始时就为假,那么不执行循环体语句直接退出循环。
流程:
语法:
while(表达式)
{
语句;
}
2.2 do-while "直到"型循环
do while 至少执行一次,而 while可 能一次都不执行。
流程:
语法:注意while()后面有;号
do
{
语句;
}while(表达式);
2.3 for “列表”型循环
流程:
语法:
for(表达式; 表达式; 表达式)
{
语句;
}
循环建议:
1. 先外后内的循环嵌套写法
2. 半开半闭区间写法:与后面的数组下标,完全吻合
3. 嵌套的优化:在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最
外层,以减少 CPU 跨切 循环层的次数。
小结:
1. 一种循环可以解决的问题,使用另外两种同样可行,只是方便程度不同。
2. while循环一般用于循环次数不定的情况, for循环一般用于循环次数确定的情况(也可以用于循环次数不定的情况, do while循环一般用于至少需要执行一次的情况。
3. for循环和 while循环是先判断条件是否为真,再执行循环体,因此,可出现循环一次也不执行的情况; do while循环是先执行循环体,再判断条件是否为真,因此,循环体至少执行一次。
3、跳转
前两种跳转是发生在循环内部的,也就是说break(switch), continue只能出现在循环中。后两者则没有限制。
3.1 break
break:跳出当前循环,且只能跳出一重循环。多与switch一起连用。
流程:
3.2 continue
continue:在于结束当前本轮循环,进入下一轮循环。
特点:只能结束当前循环提前进入下一轮循环。
流程:
3.3 return
return:结束当前函数,返回调用。
3.4 goto
goto语句, 仅能在本函数内实现跳转,不能实现 跨 函数跳转 (短跳转 )。
goto会破坏结构化程序设计流程,慎用!
学习资料:《零基础入门C语言--王桂林》