流心
发布于 2024-04-23 / 0 阅读
0

C 多路分支和循环

switch(多路分支)

switch语句是一种基于计算跳转,计算控制表达式的值后,程序会跳转到相匹配的 case(分支标号),分支标号只是说明 switch nei位置的路标,在执行完分支中最后一条语句后,如果后面没有 break,就会顺序执行到下面的 case 里去,知道遇到一个 break 或者 switch 结束为止

下面这段 C 语言假设 type = 1; 那么就从 case 1 的路标进去,里面没有任何语句,那程序从上往下走,来到 case 2 的路标,最终程序打印出 ... 然后走到 break 执行退出

switch  (type)
{
case 1:
case 2:
	printf("...\n");
	break;
case 3:
	printf("...\n");
	break;
case 4:
	printf("...\n");
	break;
default:
	printf("。。。\n");
	break;
}

四大循环

  1. do...while() 循环

    1. 图示流程

    2. 代码流程

  2. while() 循环

    1. 图示流程

    2. 代码流程

  3. for() 循环

    1. 图示流程

    2. 代码流程

  4. goto 循环

    1. 图示流程

    2. 代码流程

一、do...while() 循环

图示流程

do...while() 语句流程 -> do...while() 语句进入循环体执行内容,然后进行条件判断,条件为真就继续循环,条件为假就退出 do...while() 语句,do...while() 语句至少会执行一次循环体内容

代码流程

do {
	语句;
} while (表达式);

二、while 循环

图示流程

while() 循环语句会先判断条件,如果条件为真就执行循环体内容,如果条件为假就退出循环体,do...while() 循环会至少执行一次循环体内容,而 while() 则不会,这就是两种语句的区别

代码流程

while(表达式)
{
	语句块;
}

三、for() 循环

图示流程

for() 循环和 while() 循环差不多,for 循环会执行表达式1,然后表达式2,然后再表达式3, 表达式1的 i = 0,然后判断 i 是否小于等于100,如果不是输出语句块同时 i++,等到 i++ 到100的时候;才不走循环体

int i;
for(i = 0; i <= 100; i++)
{
	语句块;
}

代码流程

for (表达式1; 表达式2; 表达式3)
{
	语句块;
}

四、goto 循环

代码流程

标签;

goto 标签;

当程序走到 goto 的时候,标签内容是什么就跳转到该标签内容的地方,这种跳转是强制跳转