for 循环允许您编写一个执行指定次数的循环控制结构。
For执行过程
它的一般形式为: for(表达式1; 表达式2; 表达式3)
for(循环变量赋初值; 循环条件; 循环变量增量)
for (int i = 1; i <= 10; i = i + (1)) {
}
它的执行过程如下:
省略
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(){
}
教程导航
- Mixly图形化系列教程(一)-Mixly软件安装及界面功能介绍
- Mixly图形化系列教程(二)-程序的基本结构
- Mixly图形化系列教程(三)-变量
- Mixly图形化系列教程(四)-运算符
- Mixly图形化系列教程(五)-if……else……与逻辑运算
- Mixly图形化系列教程(六)-for循环
- Mixly图形化系列教程(七)-while与do……while
联系我们
扫码或者点这里加群了解更多!
Created by qdprobot