米思齐(Mixly)图形化系列教程(六)-for循环

for 循环允许您编写一个执行指定次数的循环控制结构。

For执行过程

它的一般形式为: for(表达式1; 表达式2; 表达式3)
for(循环变量赋初值; 循环条件; 循环变量增量)

  for (int i = 1; i <= 10; i = i + (1)) {
  }

在这里插入图片描述

它的执行过程如下:

Created with Raphaël 2.2.0 上一步程序 循环变量赋初值 循环条件? 重复程序 循环变量增量 下一步程序 yes no

省略

for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是选择项,即可以缺省,但分号(;)不能缺省。(这里只针对代码编程,?米思齐暂未提供相关功能块)

省略’循环变量赋值’

省略’循环变量赋值’,可在外部对其进行初始化.

volatile int item;
void setup(){
  item = 0;
  Serial.begin(9600);
  int i = 1;//在前面对其进行初始化,效果和前面一个程序是一样.
  for (; i <= 10; i = i + (1)) {
    item = item + i;
  }
  Serial.println(item);
}
void loop(){
}

省略’循环条件’

省略’循环条件’,可做为死循环使用。也可在循环体内使用break跳出循环。如下所示程序为例1相同效果

volatile int item;
void setup() {
  item = 0;
  Serial.begin(9600);
  for (int i = 1;; i = i + (1)) {
    item = item + i;
    if (i >= 10)
      break;
  }
  Serial.println(item);
}
void loop() {
}

省略“循环变量增量”

省略“循环变量增量”之后。。增量放入循环体内可达到相同效果。

volatile int item;
void setup(){
 item = 0;
 Serial.begin(9600);
 for (int i = 1; i <= 10; ) {
 	i++;
   item = item + i;
 }
 Serial.println(item);
}
void loop(){
}

FOR循环使用举例

遍历数组

输出mylist数组内的内容。
在这里插入图片描述

int mylist[] = {2, 4, 6};
void setup() {
  Serial.begin(9600);
  for (int i = (1); i <= (sizeof(mylist) / sizeof(mylist[0])); i = i + (1)) {
    Serial.println(mylist[(int)(i - 1)]);
  }
}
void loop() {
}

顺序输出数据

打印1~10。
在这里插入图片描述

void setup() {
  Serial.begin(9600);
  for (int i = 1; i <= 10; i = i + (1)) {
    Serial.println(i);
  }
}
void loop() {
}

指定程序重复执行次数

开机LED闪烁10次
在这里插入图片描述

#include <QDPport.h>

void blink() {
  digitalWrite(QDPport[1][1], HIGH);
  delay(1000);
  digitalWrite(QDPport[1][1], LOW);
  delay(1000);
}
void setup() {
  pinMode(QDPport[1][1], OUTPUT);
  for (int i = 1; i <= 10; i = i + (1)) {
    blink();
  }
}

void loop() {
}

死循环

代替while循环

#include <QDPport.h>

void blink() {
  digitalWrite(QDPport[1][1], HIGH);
  delay(1000);
  digitalWrite(QDPport[1][1], LOW);
  delay(1000);
}

void setup() {
  pinMode(QDPport[1][1], OUTPUT);
  for (;;) {//所有参数都被省略
    blink();//程序永远重复执行blink函数
  }
}
void loop() {
}

也可以使用break指令跳出循环。

#include <QDPport.h>

void blink() {
  digitalWrite(QDPport[1][1], HIGH);
  delay(1000);
  digitalWrite(QDPport[1][1], LOW);
  delay(1000);
}

void setup() {
  pinMode(QDPport[1][1], OUTPUT);
  int i=1;
  for (;;) {
    blink();
    i++;		//i加1
    if (i >= 10)//如果大于等于10跳出for循环
      break;
  }
}

void loop() {
}

求和

求1~10的和
在这里插入图片描述

volatile int item;
void setup(){
  item = 0;
  Serial.begin(9600);
  for (int i = 1; i <= 10; i = i + (1)) {
    item = item + i;
  }
  Serial.println(item);
}
void loop(){
}

教程导航

  1. Mixly图形化系列教程(一)-Mixly软件安装及界面功能介绍
  2. Mixly图形化系列教程(二)-程序的基本结构
  3. Mixly图形化系列教程(三)-变量
  4. Mixly图形化系列教程(四)-运算符
  5. Mixly图形化系列教程(五)-if……else……与逻辑运算
  6. Mixly图形化系列教程(六)-for循环
  7. Mixly图形化系列教程(七)-while与do……while

联系我们

扫码或者点这里加群了解更多!
在这里插入图片描述
Created by qdprobot

  • 9
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值