#include<stdio.h> intmain() { int i = 0;//初始化 while (i<10) {//判断 //... i++;//调整 } return0; }
for循环实现i自增到10
1 2 3 4 5 6 7 8 9 10
#include<stdio.h> intmain() { int i = 0; //初始化,判断,调整 for (i=1; i<=10; i++) { printf("%d\n",i); } return0; }
break
1 2 3 4 5 6 7 8 9 10 11 12
#include<stdio.h> intmain() { int i = 0; //初始化,判断,调整 for (i=1; i<=10; i++) { if(i == 5) break; printf("%d ",i);//打印的结果是1 2 3 4 } return0; }
打印的结果是1 2 3 4,当i==5时,跳出了for循环。
continue
1 2 3 4 5 6 7 8 9 10 11 12
#include<stdio.h> intmain() { int i = 0; //初始化,判断,调整 for (i=1; i<=10; i++) { if(i == 5) continue;//continue 跳过了打印5,又回到了for循环的判断 printf("%d\n",i);//打印的结果是1 2 3 4 6 7 8 9 10 } return0; }
continue 跳过了打印5,又回到了for循环的判断。
不可以在for循环内部改变循环变量,防止for循环失去控制
1 2 3 4 5 6 7 8 9 10
#include<stdio.h> intmain() { int i = 0; for (i=0; i<10; i++) { if(i = 5)//这里不是判断,是赋值。这里修改了for循环内部的循环变量,导致死循环 printf("haha\n"); printf("hehe\n"); return0; }
建议for语句的循环控制变量的取值采用“前闭后开区间”写法
1 2 3 4 5 6 7 8 9 10 11
#include<stdio.h> intmain() { int arr[10] = {1,2,3,4,5,6,7,8,9,10}; int i = 1; for (i=0;i<10;i++)//这里尽量写i<10,而不是i<=9。虽然运行结果一致,但显然前面的写法是有意义的,代表10次打印(循环、元素) { printf("%d",arr[i]); } return0; }
for (i=0;i<10;i++){...}这里尽量写i < 10,而不是i <= 9。虽然运行结果一致,但显然前面的写法是有意义的,代表10次打印(循环、元素)。