目录
1.for循环语法
2.for循环执行原理
3.for循环中的break和continue
3.1 break
3.2 break
4.for循环的一些变种体
4.1 缺失初始条件,判断条件,调整语句
4.2 初始条件省略
4.2.1 一个for循环的情况
4.2.2 嵌套for循环缺失初始条件的情况
4.2.3 使用多个变量控制循环
1.for循环语法
for(表达式1;表达式2;表达式3){循环语句;}//表达式1:为初始化部分,用于初始化循环变量//表达式2:为条件判断部分,用于判断循环什么时候终止//表达式3:为调整部分,用于循环条件的调整
//表达式1:为初始化部分,用于初始化循环变量
//表达式2:为条件判断部分,用于判断循环什么时候终止
//表达式3:为调整部分,用于循环条件的调整
2.for循环执行原理
下面附上流程图:
执行语句进入for循环,先执行expr1语句,然后执行expr2判断语句,若为真就进入for循环体,否则就跳过循环。
进入循环体后开始执行循环体内的语句,然后再执行expr3调整语句,如此往复。。
当初始条件不满足expr2判断语句时便可结束循环。
【注】为了保证for循环的可控性,尽量不要改变循环体中的变量
3.for循环中的break和continue
3.1 break
当for循环中执行到if语句中的break时,会直接跳出当前的for循环。
3.2 continue
目录
1.for循环语法
2.for循环执行原理
3.for循环中的break和continue
3.1 break
3.2 continue
4.for循环的一些变种体
4.1 缺失初始条件,判断条件,调整语句
4.2 初始条件省略
4.2.1 一个for循环的情况
4.2.2 嵌套for循环缺失初始条件的情况
4.2.3 使用多个变量控制循环
当i==5为真时,代码进入if中,当执行到continue时,会跳过continue下一个语句,也就是跳过printf(”%d “, i)—-> 跳过输出5。
4.for循环的一些变种体
4.1 缺失初始条件,判断条件,调整语句
int i = 0;for (;;){printf("hello\n");//for循环的判断部分省略意味着判断会成为真}
这种情况执行起来会如何?
答:死循环
原因:for循环的判断部分省略意味着判断会成为真,所以循环会一直执行下去。
4.2 初始条件省略
4.2.1 一个for循环的情况
for ( ; i < 3; i++){printf("hello\n");}
缺少初始条件时系统执行的时候会默认 i=0.
4.2.2 嵌套for循环缺失初始条件的情况
int j=0;for ( ; i < 3; i++){for ( ; j < 3; j++){printf("hello\n");}}return 0;
原理:系统执行到for①时,默认i=0,然后进入for②,默认j=0,进入for②执行三次printf 输出三个hello,然后判断条件为假,跳出for②;接着回到for①中使 i++,判断条件为真,再次进入for②,但是因为for②中没有给j初始化,所以此时 j = 3,不满足 j<3,所以直接跳过for②;下面循环同理
4.2.3 使用多个变量控制循环
原理和一个变量相同