流程控制
目录
1.顺序结构
自上至下,自左向右 依次执行
2.分支结构
当程序执行到某个位置时候,程序后续的执行方向 由某个条件决定
多选其一
1.if分支
if 简单分支
if (逻辑值 )
{语句块1;}
else
{语句块2;}
if可以单独使用,else if ,else必须结合使用
if后不能加;
if()或者else后边的{}在只有一行代码时可以省略(不建议使用)
if阶梯分支
if (逻辑值)
{
语句块1;
}
else if (逻辑值)
{
语句块2;
}
else if (逻辑值)
{
语句块3;
}
...s
阶梯判断顺序 ,一般根据需求改变排列顺序
if嵌套分支(避免使用)
if (逻辑值)
{
if (逻辑值)
{
if (逻辑值)
{
}
}
}
else
{
}
嵌套不能过深!!!
2.switch分支
switch 格式
switch (num)
{
case 0 :
case 1 : printf("num = 1\n"); break;
case 2 : printf("num = 2\n"); break;
case 3 : printf("num = 3\n"); break;
case 4 : printf("num = 4\n"); break;
case 5 : printf("num = 5\n"); break;
case 6 : printf("num = 6\n"); break;
case 7 : printf("num = 7\n"); break;
case 8 : printf("num = 8\n"); break;
case 9 : printf("num = 9\n"); break;
default :printf("num < 0 or num > 9\n"); break;
}
注意
1.num的值必须为整型
2.case 后值需要是一个确定的值
3.break 一般不能漏写
3.循环结构
循环结构 :当程序执行到某个位置时,程序会反复执行某段代码,直到循环满足退出条件。
1执行重复的语句
2执行有规律的代码
(1)for
for(表达式1;表达式2;表达式3)
{
语句块A
}
表达式1: 初始化 进入循环前的准备工作
表达式2:循环结束条件,决定循环什么时候退出
表达式3:循环变量自加自减 推动循环结束的代码
1 -> 2-> A -> 3 -> 2->A -> 3 -> 2
2.嵌套形式 外侧循环一次 内层循环一遍
for (表达式1; 表达式2; 表达式3)
{
for (表达式a; 表达式b; 表达式c)
{
语句块A;
}
}
1 -> 2(1)-> (a -> b -> A ->c
(2)while
while (表达式1(逻辑值))
{
语句块A;
}
for循环可以和while循环等价转换
for循环 明确循环次数或循环上下限 while循环 不明确 但是明确循环结束时的状态
(3) do while
do{
语句块A;
}while(表达式1);
}while(表达式);
DO SHIFT{}();
1.先执行一次循环体,从再去判断结束条件
2.循环的结束条件要依赖循环体的执行结果
(4)利用goto 语句实现的循环
(别用(出错处理))
goto :跳转到程序任意位置开始执行 过度使用goto语句 会严重破坏程序的逻辑结构 ,极大降低可读性
4.辅助控制
1.break;
在switch语句中用来作为case的出口,跳出switch
在循环体内,跳出离他最近的循环;
2.continue;
短路语句
在循环体里使用,仅仅短路当次循环体的后续执行
3.return;
函数结束,函数返回执行结果
主函数结束 程序结束