目录
循环语句
for循环
语法:
定义变量
for(表达式1;表达式2;表达式3)
{
//循环执行的语句块
}
表达式1:赋初始值
表达式2:控制循环执行的语句(进入循环的条件 或者 终止循环的条件)
表达式3:递增或者递减
流程:
//定义一个变量i
//i=0;i<10 ---》成立进入循环,执行printf 输出 完成之后执行i++
//i=1;i<10----》成立 进入循环执行printf 输出 完成之后执行i++
//i=2; i<10----》成立 进入循环执行printf 输出 完成之后执行i++
//....
//i=9;i<10----》成立 进入循环执行printf 输出 完成之后执行i++//i=10;i<10-----》不成立 循环结束
执行顺序:
定义变量,执行表达式1,判断表达式2是否成立,如果成立进入循环 执行完成循环语句块之后 执行表达式3,判断表达式2是否成立,如果成立进入循环 执行完成循环语句块之后 执行表达式3.......判断表达式2是否成立,如果不成立 结束循环。
变形
变形1:
int i=0
for(;表达式2;表达式3)
{
//循环执行的语句块
}
变形2:
int i=0
for(;表达式2;)
{
//循环执行的语句块
表达式3
}
变形3:
int i=0
for(;;) //死循环
{
if(表达式2)
{
//循环执行的语句块
表达式3
}else{
break;
}
}
嵌套结构
for(表达式1;表达式2;表达式3)
{
for(表达式4;表达式5;表达式6)
{
//循环执行的语句块
}
}
例:
#include <stdio.h> //引入头文件 std:标准 i:输入 o:输出 .h:库文件
int main(int argc, char const *argv[])
{
for (int j = 0; j < 5; j++)
{
for (int i = 0; i < 5; i++)
{
printf("*");
}
printf("\n");
}
//j=0;j<5----》成立 进入外层循环 i=0; i<5---》成立 进入内层循环 执行printf ×
// i=1; i<5----》成立 进入内层循环 执行printf ××
// i=2; i<5----》成立 进入内层循环 执行printf ×× ×
//。。。。。。
// i=5; i<5----》不成立 内层循环结束
//执行换行
//j=1;j<5 成立 进入外层循环 i=0; i<5---》成立 进入内层循环 执行printf ×
// i=1; i<5----》成立 进入内层循环 执行printf ××
// i=2; i<5----》成立 进入内层循环 执行printf ×× ×
//。。。。。。
// i=5; i<5----》不成立 内层循环结束
//.....
//j=5 ;j<5不成立 外层循环结束
return 0;
}
双层for特点
- 外层循环执行一次,内层执行完成全部
- 外层循环控制行数 内层循环控制列数
while
语法:
定义循环变量
while(判断条件)
{
//循环体
递增或者递减
}
do while
语法
do
{语句块;
递增或者递减;
}while(判断条件)
死循环:
for(;;){}
while(1){}
while(1);
循环控制语句
break;continue;
break:跳出循环(整个循环程序)
continue:跳出循环(结束本次循环 后续循环继续执行)