目录
一、循环介绍:
1. 概念介绍:
在循环条件下,反复执行被称为“循环体”的程序段的过程
![](https://img-blog.csdnimg.cn/direct/597a0bbeccd24058b2855e9f1e1897da.png)
2. 分类:
(1)循环语句分类:
循环类型 | 语句介绍 |
for 循环 | 多次执行一个语句序列,简化管理循环变量的代码。 |
while 循环 | 当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。 |
do while 循环 | 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 |
嵌套循环 | 您可以在 while、for 或 do..while 循环内使用一个或多个循环。 |
(2)控制语句分类:
控制语句(关键字) | 语句介绍 |
break 语句 | 终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。 |
continue 语句 | 告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。 |
go to 语句 | 将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。 |
二、循环语句介绍:
1. for 循环介绍:
(1)基础介绍:
a.流程图:
![](https://img-blog.csdnimg.cn/direct/e19141621795474bb0a736acc9129193.png)
b.用法:
常用于循环次数已知的循环,也可以用于循环次数不确定而只给出循环结束条件的循环。
![](https://img-blog.csdnimg.cn/direct/a84ba92f234944d9bf24895381416bc6.png)
c.介绍:下面图解是对for循环的基本介绍
说明1:循环初始条件A可以定义循环初始进行的数值,详细见下面代码。
说明2:循环条件B每一次循环检测是否符合条件,条件符合继续进行循环,不符合跳出循环
说明3:修改循环条件C每进行一次循环执行一次
#include <stdio.h>
int main(){
for(int i = 1;i<10;i++){
printf("%d\n",i); //每执行一次循环输出 i 的值
}
return 0;
}
//A:设置循环初始条件定义 i 为 int 类型,并赋值为 0
//B:甚至循环条件,将条件设置为 i<10 时进行循环
//C:修改循环条件每次循环让 i+1
(2)详细介绍:
a.for语句中的 A 可以省略,此时应在for语句之前给循环变量赋初值。
b.for语句中的 B 如果省略,就认为表达式2始终为真。
c.for语句中的 C 也可以省略,但此时程序员应设法保证循环能正常结束。
#include <stdio.h>
int main(){
//下面为A省略的情况
int i = 0; //省略了 A 需要再循环结构之前对其进行赋值,此时i对整个main函数有效
for(;i<10;i++){ //如果没有上面的int i程序会报错
printf("%d\n",i); //每执行一次循环输出 i 的值
}
printf("---分割线---");
//下面为B省略的情况
for(int i = 0;;i++){ //没有循环条件此循环会一直执行,为死循环
printf("%d\n",i); //每执行一次循环输出 i 的值
}
printf("---分割线---");
//下面为C省略的情况
for(int i = 0;i<10;){ //没有 C 循环也会一直执行,这时需要在循环体中加入条件,否则为死循环
printf("%d\n",i); //每执行一次循环输出 i 的值
i++; //每循环一次i+1
}
return 0;
}
d.for循环语句中 A 可以进行多赋值
e.for循环语句中 B 有多个条件,仅只以最后一个条件为准
f.for循环语句中 C 可以有多个修改循环条件
#include <stdio.h>
int main(){
//下面为A多赋值的情况
for(int i = 0,j = 0;i<10;i++){ //同时对 i 与 j 赋值为整型变量
printf("%d %d\n",i,j); //每执行一次循环输出 i 与 j 的值
}
printf("---分割线---");
//下面为B多条件的情况
for(int i = 0,j = 0;i<5,j<10;i++,j++){ //当有两个循环条件时,以最后一个条件为准
printf("%d %d\n",i,j); //每执行一次循环输出 i 与 j 的值
}
printf("---分割线---");
//下面为C多条件的情况
for(int i = 0,j = 0;i<10;i++,j++){ //对 i 与 j 同时进行相加
printf("%d %d\n",i,j); //每执行一次循环输出 i 与 j的值
}
return 0;
}
2.while 循环介绍:
(1)基础介绍:
a.流程图:
![](https://img-blog.csdnimg.cn/direct/8aca2c976f2a427e8eacbb94d1276a3d.png)
b.用法:
当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。
3.do...while 循环介绍:
4.嵌套循环介绍:
(1)基础介绍:
a.概念:
一个循环(称为“外循环”)的循环体内包含另一个循环(称为“内循环”)。内循环中还可以包含循环,形成多层循环。
![](https://img-blog.csdnimg.cn/direct/be8981fb39364d8bbeb6c99c78e6017e.png)
三、控制语句介绍:
四、习题练习:
五、知识扩展:
1.死循环:
(1)概念:循环条件一直为真且无法改变为假,循环无法终止导致循环体内容一直被执行的过程。
(2)方式:当循环条件始终为真时会执行死循环。
(3)举例:死循环一般用于单片机的正常
for( //循环初始条件 ; //循环条件 ; //修改循环条件 ){ //循环体 }
//仅只需要循环条件始终为真,就会一直执行循环
//下方为示例代码
for(int i = 0; ;i++) //循环条件为空,默认循环条件为真
{
printf("%d",i); //死循环会一直输出i的值,退出可以按 Ctrl + C 退出
}
(4)注意:当进入死循环后,您可以按 Ctrl + C 键终止一个无限循环。
(5)特殊:利用关键字 goto 来实现死循环,代码如下:
LOOP: //goto语句开始表示
printf("你已经在死循环里面了\n"); //输出内容
goto LOOP; //跳转到LOOP语句
六、资料引用:
1.C语言|菜鸟教程:https://www.runoob.com/cprogramming/c-loops.html
2.C语言 循环_w3cschool:https://www.w3cschool.cn/c/c-loops.html