版权归原作者所有,如有侵权,请联系我们

for循环

百度百科
原创
全球最大中文百科全书
收藏

for循环语法

1.语句最简形式为:

for( ; ; )

2.一般形式为:

for(单次表达式;条件表达式;末尾循环体)

{

中间循环体;

}

for ( init; condition; increment ){ statement(s);}

其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。1

for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。

“;”号之间的条件表达式是一个关系表达式,其为循环的正式开端,当条件表达式成立时执行中间循环体。

执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。

执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。1

3.for循环流程图

执行过程为:

求解表达式1;

求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第5步;

求解表达式3;

转回上面第2步继续执行;

循环结束,执行 for 语句下面的语句。

执行过程中,“表达式1”只执行一次,循环是在“表达式2”“表达式3”和“内嵌语句”之间进行的。1

四种运行模型

(1)三角基本模型:2

示例:

<pre data-lang="cpp">#include<stdio.h>int main(){int a,b,c;scanf("%d,%d",&a,&b);for(;a<b;b=c){c=a;a=b;}printf("由大到小排序:%d,%d",a,b);}

(2)中间循环体被省略,只剩下“;”空语句时的左右往返模型:21

条件表达式——末尾循环体

示例:

<pre data-lang="cpp">#include<stdio.h>int main(){int a,b,c;scanf("%d,%d",&a,&b);for(;a<b;c=a,a=b,b=c);printf("由大到小排序:%d,%d",a,b);}

(3)末尾循环体被省略后的上下往返模型条件表达式——中间循环体

示例:

<pre data-lang="cpp">#include<stdio.h>int main(){int a,b,c;scanf("%d,%d",&a,&b);for(;a<b;)c=a,a=b,b=c;printf("由大到小排序:%d,%d",a,b);}

(4)条件表达式被省略得只剩下“;”空语句时,中间循环体或末尾循环体带有跳出语句时的模型:32

示例:

<pre data-lang="cpp">#include<stdio.h>int main(){int a,b,c;scanf("%d,%d",&a,&b);for(c=a;;){break;}if(a<b)a=b,b=c;printf("由大到小排排序:%d,%d",a,b);}

(3)注意事项

1.for循环中的变量可以是一个也可以是多个。

2.for循环中语句可以为语句体, 语句体外加大括号"{}"将参加循环的语句括起来。

3. for循环中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句,。

其他用法

1. for循环可以有多层嵌套。示例:

<pre data-lang="cpp">#include<stdio.h>int main(void){int i,j,k;printf("ijk\n");for(i=0;i<2;i++) for(j=0;j<2;j++) for(k=0;k<2;k++)printf("%d%d%d\n",i,j,k);return 0;}

输出结果为: i j k 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

2. for循环中的变量生存周期为一次循环迭代。

<pre data-lang="cpp">#include<stdio.h>int main(void){int i;for(i=0;i<9;i=i+1){int a=i;printf("%d\n",a);}return 0;}

C语句中变量必须声明在前才能使用,在定义语句之前使用变量是不合法的。4

和while的功能比较

一、循环的结构不同

for循环的表达式为:

for(单次表达式;条件表达式;末尾循环体)

{

中间循环体;

}

while循环的表达式为:while(表达式){循环体}

二、执行条件的判断方式不同

for循环执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环(遇到不满足的条件就立刻退出)。5

while循环当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体内全部语句后再跳出,而不是立即跳出循环(计算条件不满足时,也仍会执行完当前循环)。5

三、语法不同

for循环的语法为:for (变量 = 开始值;变量 <= 结束值;变量 = 变量 + 步进值) {需执行的代码 }。

while循环的语法为:while (<条件>) {需执行的代码 }。1

内容资源由项目单位提供