2.for循环语句(常用):
for循环语句格式:
for (表达式1; 表达式2; 表达式3)
{
循环语句;
}
表达式1:初始化部分,用于初始化循环变量的。
表达式2:条件判断部分,用于判断循环是否终止。
表达式3:调整部分,用于循环条件的调整。
({}还是养成习惯,能用就用,不然会跟之前的if一样,默认只能执行一个语句)
//利用for循环打印1~10 #include <stdio.h> int main() { int i = 0; //表达式1的变量最好在for循环外部声明 //在表达式1中声明可能会出问题,C++可以这么用(C99) for ( i = 0; i <= 10; i++) // 表达式1 表达式2 表达式3 { printf("%d ", i); //循环语句 } return 0; }
*重点补充:
1. for循环中的break和continue:
(break:)
//for循环中的break #include <stdio.h> int main() { int i = 0; for (i = 1; i <= 10; i++) { if (i == 5) { break; } printf("%d ", i); } return 0; }
(continue:)
//for循环中的continue #include <stdio.h> int main() { int i = 0; for (i = 1; i <= 10; i++) { if (i == 5) { continue; } printf("%d ", i); } return 0; }
2. for循环语句的循环控制变量:
建议:
(1).不要在for循环体内修改循环变量,防止for循环失去控制:
//在for循环体内修改循环变量 #include <stdio.h> int main() { int i = 0; for ( i = 0; i <= 10; i++) { if (i = 5) { continue; } printf("%d ", i ); } return 0; }
(2).建议for语句的循环控制变量的取值采用“前闭后开区间”写法:
//for语句的循环控制变量的取值采用“前闭后开区间”写法 #include <stdio.h> int main() { int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; //下标: 0 1 2 3 4 5 6 7 8 9 int i = 0; //[0 , 10) for ( i = 0; i < 10 ; i++) // 这里 i = 0 是 闭区间,i < 10 是 开区间,即“前闭后开区间”写法,[0 , 10). // 可以清楚地看到 循环次数是 10次 { printf("%d ", arr[i]); } return 0; }
3.一些for循环的变种:
(1).for循环中的初始化部分(表达式1),判断部分(表达式2),调整部分(表达式3)是可以省略的,但是不建议初学时省略,容易导致问题。
//for循环的变种1 #include <stdio.h> int main() { //初始化(表达式1)和 调整部分(表达式3)的省略就是啥都不做 //判断部分(表达式2)省略了,意味着判断是 恒为真 的 for ( ; ; ) { printf("hehe\n"); } return 0; }
(2).省略掉初始化部分:
//省略掉初始化部分 #include <stdio.h> int main() { int i = 0; int j = 0; for ( ; i < 4; i++) { for ( ; j < 4; j++) { printf("hehe\n"); } } return 0; }
(3).使用多于一个变量控制循环:
//使用多于一个变量控制循环: #include <stdio.h> int main() { int x, y; for ( x = 0, y = 0 ; x<2 && y<5 ; ++x, y++ ) { printf("hehe\n"); } return 0; }
3.do while循环语句(较少用):
do while循环语句的格式:
do
{
循环语句;
}
while (表达式);
(不管三七二十一,先执行一次循环语句,循环语句至少被执行一次是do while的特点)
//使用do while语句打印1~10 #include <stdio.h> int main() { int i = 1; do { printf("%d ", i); i++; } while ( i <= 10 ); return 0; }
(使用的场景有限,所以不是经常使用)