目录
3.循环语句
3.2 for循环
for(表达式1;表达式2;表达式3)
{
循环语句;
}
表达式1:初始化部分,用于初始化循环变量
表达式2:条件判断部分,用于判断循环是否终止
表达式3:调整部分,用于循环条件的调整
3.2.1 for循环执行流程
3.2.2 循环控制变量注意事项
1.不可在for循环体内修改循环变量,即i++的位置不可随意挪动,防止for循环失去控制
2.建议for语句的循环控制变量的取值采用前闭后开区间的写法(i = 0; i < 10; i++)
3.2.3 for循环的变种
代码1:for循环的初始化部分,判断部分,调整部分是可以省略的,但不建议
for循环判断部分省略,意味着判断恒为真
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
for ( ; ; )
{
printf("hehe\n");
}
return 0;
}
代码2: 可以打印100个hehe
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
int num = 0;//用于计数
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
num++;
printf("hehe %d\n",num);
}
}
return 0;
}
输出如下:
代码3:省略初始化部分,打印10个hehe
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
int num = 0;//用于计数
for (; i < 10; i++)
//第一次循环,i=0,进入循环;第二次循环,i=2,j=10,进入循环,不会执行printf("hehe %d\n",num);
{
for (; j < 10; j++)
//第一次循环,j=0,打印hehe;第二次循环,j=1,打印hehe;
//......
//第十次循环,j=9,打印hehe.j++,j=10,循环结束
{
num++;
printf("hehe %d\n",num);
}
}
return 0;
}
输出如下:
代码4:使用俩个变量控制循环
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
for (i = 0, j = 0; i < 2 && j < 5; ++i, j++)
{
printf("hehe\n");
}
return 0;
}
代码5:请判断循环执行多少次?
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i = 0;
int k = 0;
for (i = 0, k = 0; k = 0; i++, k++)
{
k++;
}
return 0;
}
解:循环执行0次,注意循环的判断条件是k=0,表示把0赋给k,这个判断部分表达式的值就恒为0,所以不会进入循环
3.3 do while循环
do
{
循环语句
}while(表达式);
do while循环:循环至少执行一次
do while循环执行流程
例:打印1~10
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i = 1;
do
{
printf("%d\n", i);
i++;
} while (i<=10);
return 0;
}