for循环的执行顺序?
4个回答
展开全部
在高级语言,脚本语言中循环语句的使用可带来简便高效的效率。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语句的执行顺序在其他语言中也可以通用了。
开启分步阅读模式
工具材料:
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语句的执行顺序在其他语言中也可以通用了。
展开全部
for循环的执行顺序
这是怎么执行的
首先需要明确的一点是,for循环语句的执行顺序
先举一个简单的例子,
i<10 进行判断,如果条件为真,则继续执行
执行循环体代码
i++ 变量i自增
回到第2步,一直循环下去,直到第2步为假, 退出循环.
总结一下:
for(条件①;条件②;条件③){
循环体④
}
执行顺序如下:
①②④③ ②④③ ②④③... ..
然后执行第三个getchar(),得到c=3;
(此时一轮循环结束,回到for循环的条件②执行第二轮循环)
执行第二个getchar(),得到c=4
然后执行循环体输出3;
然后执行第三个getchar(),得到c=5;
(第二轮循环结束,再次回到for循环的条件②执行第三轮循环)
执行第二个getchar(),得到c=#,判断 ‘#’= '#' ,循环结束;
这是怎么执行的
首先需要明确的一点是,for循环语句的执行顺序
先举一个简单的例子,
i<10 进行判断,如果条件为真,则继续执行
执行循环体代码
i++ 变量i自增
回到第2步,一直循环下去,直到第2步为假, 退出循环.
总结一下:
for(条件①;条件②;条件③){
循环体④
}
执行顺序如下:
①②④③ ②④③ ②④③... ..
然后执行第三个getchar(),得到c=3;
(此时一轮循环结束,回到for循环的条件②执行第二轮循环)
执行第二个getchar(),得到c=4
然后执行循环体输出3;
然后执行第三个getchar(),得到c=5;
(第二轮循环结束,再次回到for循环的条件②执行第三轮循环)
执行第二个getchar(),得到c=#,判断 ‘#’= '#' ,循环结束;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于,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,退出第一个循环
执行第 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,退出第一个循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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[]={"
}
因为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[]={"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询