目录

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 使用多个变量控制循环

原理和一个变量相同