for循环的执行顺序?

如题所述

高级语言,脚本语言中循环语句的使用可带来简便高效的效率。for是一个使用率较高的一种循环语句。小编就用js给大家详细讲述for循环语句的执行的顺序。

开启分步阅读模式
工具材料:
js脚本语言

文本编辑器(如超级记事本),浏览器

操作方法
01
首先打开,记本本,输入以下内容.
<script>
for(var i=0;i<5;i++)
{
document.write("this is for test<br> ");
}
</script>
保存成html格式的文件。用浏览器打开,查看执行后的结果。

02
输出结果是打印出了5行this is for test。
那么这个是什么工作原理呢?也就是它是什么样的顺序执行出这个结果的呢?
首先从for这个语句中的这些内容分别代表什么意思呢?先看看小括号中的内容,其中var i=0这是声明一个变量并赋值,这是for语句首先且只运行一次的部分。要注意运行一次,这是关键。整个for语句中只有它是只运行一次。

03
i<5;这是条件表达式。这是进入循环执行第一步且可执行多次,也是决定控制循环次数的表达式。从顺序角度来讲声明表达式之后执行。

04
document.write("this is for test<br> ");这是循环体,执行顺序是条件表达式之后执行。且可根据条件执行多次。

05
i++;这是循环最后一个执行的部分。这里的最后,指的是单次循环中的最后。上面的例子中for语句执行了5次也就是循环了5次。每次循环的最后都是以i++结束。

06
下面图例表现for循环顺序。

特别提示
for在很多高级语言中的用法都是一样的,所以了解了js中for语句的执行顺序在其他语言中也可以通用了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-27
for循环的执行顺序
这是怎么执行的

首先需要明确的一点是,for循环语句的执行顺序

先举一个简单的例子,
i<10 进行判断,如果条件为真,则继续执行

执行循环体代码

i++ 变量i自增

回到第2步,一直循环下去,直到第2步为假, 退出循环.

总结一下:

for(条件①;条件②;条件③){

循环体④

}

执行顺序如下:

①②④③ ②④③ ②④③... ..

然后执行第三个getchar(),得到c=3;

(此时一轮循环结束,回到for循环的条件②执行第二轮循环)

执行第二个getchar(),得到c=4
然后执行循环体输出3;

然后执行第三个getchar(),得到c=5;

(第二轮循环结束,再次回到for循环的条件②执行第三轮循环)

执行第二个getchar(),得到c=#,判断 ‘#’= '#' ,循环结束;
第2个回答  2020-11-27
对于,for(;;) {}语句的执行过程如下:

执行第 1 个分号之前的语句,然后 跳到第 2 步,如果为空,直接跳到第 2 步
判断第 2 个分号之前的语句,如果不成立,退出循环,否则跳到第 3 步,如果为空,直接跳到第 3 步
执行大括号里的语句,如果遇到 continue,直接跳到第 4 步,如果遇到 break 终止当前循环,如果为空,直接跳到第 4 步
执行第 2 个分号之后的语句,然后跳到第 2 步,如果为空,直接跳到第 2 步
举个例子说明一下:

for(int i = 0; i != 2; ++i)
for (int j = 0; j != 2; ++j)
printf("%d %d\n", i, j);
程序执行如下:

int i = 0;
判断 i != 2成立,此时,i == 0继续
int j = 0;
判断 j != 2成立,此时,j == 0继续
printf("%d %d\n", i, j);输出:0 0
++j
判断 j != 2成立,此时,j == 1继续
printf("%d %d\n", i, j);输出:0 1
++j
判断 j != 2不成立,此时,j == 2,退出第二个循环
++i
判断i != 2成立,此时,i == 1继续
int j = 0;
判断 j != 2成立,此时,j == 0继续
printf("%d %d\n", i, j);输出:1 0
++j
判断 j != 2成立,此时,j == 1继续
printf("%d %d\n", i, j);输出:1 1
++j
判断 j != 2不成立,此时,j == 2,退出第二个循环
++i
判断i != 2不成立,此时,i == 2,退出第一个循环
第3个回答  2020-11-27
h>
}
因为s[0]=0;a'n",所以按理说循环体应该不会被执行#include < int i;;s[i];=' &&s[i]<z'stdio,但为什么最后输出的n是2呢!=0;
}
}

printf(")
{
n++;i++)
{

if(s[i]>012xy"%d\,n), n=0;};='
for (i=0;
main()
{
char s[]={"
相似回答