while:while循环

while循环将会连续地无限地循环,直到圆括号()中的表达式变为假。被测试的表达式变量必须被改变,否则while循环将永远不会中止。

void setup() 
{
    // 初始化串口通讯
    Serial.begin(9600);
}
 
void loop() 
{
    int i=1, sum=0;
    while(i<=100)
    {   //判断i是否小于等于零
        sum+=i;  //当i小于等于零时,
        i++;     //执行循环体中的语句。
    }
    Serial.print ("sum = ");  //通过串口监视器输出
    Serial.println (sum);     //while循环结束后的sum值
    
    delay (5000); // 延迟5秒钟    
}
  1. 程序运行到while语句时,因为 i=1,所以i<=100 为真,于是Arduino将执行循环体(以上示例程序中第22行和第23行语句);执行结束后 i 的值变为 2,sum 的值变为 1。

  2. 接下来Arduino会继续判断 i=100 是否成立,因为此时 i=2,i<=100 成立,所以继续执行循环体;执行结束后 i 的值变为 3,sum 的值变为3。

  3. 重复执行步骤 2)。

  4. 当循环进行到第100次,i 的值变为 101,sum 的值变为5050;因为此时 i<=100 不再成立,所以Arduino将出循环,不再执行循环体,转而执行while循环后面的代码,延迟五秒钟。