for循环执行顺序?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for循环执行顺序?相关的知识,希望对你有一定的参考价值。
两个for循环执行顺序如下:
1、外层判断循环条件,满足进入外层循环体。
2、内层判断循环条件。
3、内层循环体执行。
4、内层循环变量累加,回到2执行,直到不满足内层条件。
5、外层循环变量累加,回到1执行,直到不满足外层循环条件,彻底退出循环。
扩展资料:
语句最简形式为:for( ; ; )
一般形式为:
for(单次表达式;条件表达式;末尾循环体)
中间循环体;
指针最优,单目运算优于双目运算。如正负号。
先算术运算,后移位运算,最后位运算,逻辑运算最后计算。请特别注意:1 << 3 + 2 && 7等价于 (1 << (3 + 2))&&7。
Java中&&和&都是表示与的逻辑运算符,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false。
&可以用作位运算符,当&两边的表达式不是Boolean类型的时候,&表示按位操作。
参考技术A例子如:
for(int i=0;i<99;i++)
//循环体
循环解析顺序:
1、i=0 初始化初值
2、i<99进行判断,如果条件为真,则继续执行
3、执行循环体代码
4、i++ 变量i自增
5、回到第2步,一直循环下去,直到第2步为假,退出循环。
扩展资料
for循环与while循环区别
一、执行条件的判断方式不同
1、for循环执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。
2、while循环当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体内全部语句后再跳出,而不是立即跳出循环。
二、语法不同
1、for循环的语法为:for (变量 = 开始值;变量 <= 结束值;变量 = 变量 + 步进值) 需执行的代码 。
2、while循环的语法为:while (<条件>) 需执行的代码 。
参考技术B首先打开,记本本,输入以下内容.
<script>
for(var i=0;i<5;i++)
document.write("this is for test<br> ");
</script>
保存成html格式的文件。用浏览器打开,查看执行后的结果。
i<5是条件表达式。这是进入循环执行第一步且可执行多次,也是决定控制循环次数的表达式。从顺序角度来讲声明表达式之后执行。
扩展资料
注意事项
1、for循环中的变量可以是一个也可以是多个。
2、for循环中语句可以为语句体, 语句体外加大括号""将参加循环的语句括起来。
3、for循环中的"单次表达式"、"条件表达式"和"循环体语句"都是选择项, 即可以缺省成只剩下“;”的空语句,。
为啥for 循环不执行?
#include<stdio.h>
int yesORno(int year)
if(year%4==0&&year%400!=0) return 1;
return 0;
void main ()
int day[2][12]=31,28,31,30,31,30,31,31,30,31,30,31,
31,29,31,30,31,30,31,31,30,31,30,31;
int y1,y2,m1,m2,d1,d2;
int count;
scanf("%d.%d.%d",&y1,&m1,&d1);
scanf("%d.%d.%d",&y2,&m2,&d2);
for(count=0;y1==y2&&m1==m2&&d1==d2;count++)
d1++;
if(d1>day[yesORno(y1)][m1])
d1=1;
m1++;
if(m1>12)
m1=1;
y1++;
printf("%d\n",count);
#include<stdio.h>
int yesORno(int year)
if(year%4==0&&year%100!=0||year%400==0) return 1;
return 0;
void main ()
int day[2][12]=31,28,31,30,31,30,31,31,30,31,30,31,
31,29,31,30,31,30,31,31,30,31,30,31;
int y1,y2,m1,m2,d1,d2;
int count;
scanf("%d.%d.%d",&y1,&m1,&d1);
scanf("%d.%d.%d",&y2,&m2,&d2);
for(count=0;!(y1==y2&&m1==m2&&d1==d2);count++)
d1++;
if(d1>day[yesORno(y1)][m1-1])
d1=1;
m1++;
if(m1>12)
m1=1;
y1++;
printf("%d\n",count);
1.day[2][12]=31,28,31,30,31,30,31,31,30,31,30,31,
31,29,31,30,31,30,31,31,30,31,30,31;
要改成day[2][13]=0,31,28,31,30,31,30,31,31,30,31,30,31,
0,31,29,31,30,31,30,31,31,30,31,30,31;
2.if(year%4==0&&year%400!=0) return 1;要改为if(year%4==0 && year%100!=0 || year%400==0) return 1;
3.控制表达式y1==y2&&m1==m2&&d1==d2要改为y1!=y2 || m1!=m2 || d1!=d2. 参考技术A int day[2][12]=31,28,31,30,31,30,31,31,30,31,30,31,
31,29,31,30,31,30,31,31,30,31,30,31;
1、赋值错误
int day[2][12]=31,28,31,30,31,30,31,31,30,31,30,31,
31,29,31,30,31,30,31,31,30,31,30,31;
2、循环条件不对
如果d1==d2,y1=y2,m1=m2,经过下面的一轮计算后,d1 和d2不相等了,自然循环不循环了 参考技术B y1==y2&&m1==m2&&d1==d2
这个条件为假时,就不执行了,
以上是关于for循环执行顺序?的主要内容,如果未能解决你的问题,请参考以下文章