所有的语言都是顺序执行的,自上而下,自左而有。程序从外循环执行下去,遇到内循环后就执行内循环语句。内循环语句执行完成后,继续往下执行,遇到外循环的语句时,进入下一次外循环。
跟大家说下c语言循环的知识,以下以for循环为例,内循环与外循环的区别在于{}的位置:
for(int i = 0i<10i++){
for(int j=0j<10j++){
}
}
其中for(int j=0j<10j++)为内循环,for(int i = 0i<10i++)为外循环,执行过外循环之后才会执行内循环。
在C语言中,if-else、while、do-while、for这些循环语句都可以相互嵌套循环。就是一条语句里面还有另一条语句,例如for里面还有for,while里面还有while,或者for里面有while,while里面有if-else,这都是可以使用的。1.对于循环结构来说有两种方法可以终止一种是在条件中加限定,另一种是在循环体中加break
2.break终止循环continue(终止本次循环)后面的代码不执行
3.循环的嵌套在于找规律外循环与内循环使用字符应该不同。
①例子
#include<stdio.h>
main()
{int i,j,x=0
/*第一层*/
for(i=0i<2i++)
{x++
/*第二层第二句*/
for(j=0j<=3j++)
/*第三层第一句*/
{if(j%2)continue
/*第三层第二句*/
x++}
/*第二层第三句*/
x++}
/*三层循环嵌套完毕后才输出*/
printf("x=%d\n",x)
}
~
②层次分析
本题有3个嵌套层次,
不按顺序计算只会头晕,
三层都循环完毕才输出结果。
第一层,1个语句。
for(i=0i<2i++)
(i=0,1,即循环两次。)
第二层,3个语句。
x++
for(j=0j<=3j++)
(j=0,1,2,3,即循环四次。)
x++;
第三层,2个语句。
if(j%2)continue
(continue跳出本局循环。)
x++
~
③计算顺序
初始值:i,j,x=0
第一层:i==0
第二层第一句:(x++)==0,x==1
第二层第二句:j=0
第三层第一句:if为假,执行下一句
第三层第二句:(x++)==1,x==2
第二层第二句:j=1
第三层第一句:if为真,跳出本句循环
第二层第二句:j=2
第三层第一句:if为假,执行下一句
第三层第二句:(x++)==2,x==3
第二层第二句:j=3
第三层第一句:if为真,跳出本句循环
第二层第三句:(x++)==3,x==4
~
第一层:i==1
第二层第一句:(x++)==4,x==5
第二层第二句:j=0
第三层第一句:if为假,执行下一句
第三层第二句:(x++)==5,x==6
第二层第二句:j=1
第三层第一句:if为真,跳出本句循环
第二层第二句:j=2
第三层第一句:if为假,执行下一句
第三层第二句:(x++)==6,x==7
第二层第二句:j=3
第三层第一句:if为真,跳出本句循环
第二层第三句:(x++)==7,x==8
~
最后输出:8