C语⾔是结构化的程序设计语⾔结构指的是顺序结构、选择结构、循环结构今天我们要学的是循环结构。其实想一下我们日常生活中的习惯每天都要去做的一个事情是否相当于一个循环呢C语言中循环分类 for循环while循环和do-while 循环一、for循环for循环是我们在写代码过程中使用最多的一个循环。for循环的语法形式如下#includestdio.h int main() { for(表达式1表达式2表达式3) { //里面是执行语句 } return 0; }如果循环体想包含更多的语句可以加上花括号。表达式1用于循环变量的初始化。表达式2用于循环结束条件的判断。表达式3用于循环变量的调整。for循环的执行流程首先执行的是表达式1初始化循环变量接下来执行的是表达式2判断这个变量是否满足条件表达式为真执行循环表达式为假结束循环。表达式为真的时候进入循环循环里面的语句执行完之后再去执行表达式3调整循环变量然后再去用表达式2进行判断为真则执行为假循环结束。整个循环过程中表达式1初始化部分只被执行一次剩下的就是在表达式2、循环、表达式3里面循环。for循环的实践当我们想在屏幕上面打印1~9的数字的时候就能用到循环。​ ​ ​ #includestido.h int main() { int i 1;//变量初始化 for(i1;i10;i)//表达式1、表达式2、表达式3之间用分号隔开。 { printf(%d ,i); } return 0; } ​ ​ ​下面为打印出来的效果。二、while循环while循环的语法形式如下​ #includestdio.h int main() { while(表达式 { 语句;//当你想要循环体包括更多的语句可以像这样加上花括号 } return 0; } ​while循环执行流程首先执行的是while括号里面的判断表达式表达式为真进入循环表达式为假则不进入循推。环循环结束循环体里面的语句执行完之后再次进入while循环里面进行判断为真则进入表达式为假不进入以此类推直到判断为假结束循环。同理我们用while循环在屏幕上面打印我们的1~9数字。#includestdio.h int main() { int i 1;//初始化 while(i10)//判断 { printf(%d ,i); i;//让i自增加1 } rerurn 0; }三、 do-while 循环do-while循环的语法形式#includestdio.h int main() { do { 语句;//同理当你想要控制多天语句的时候可以像这样加上花括号 }while(判断); return 0; }do-while循环的执行流程在do-while循环中先执行的是do花括号{ }里面的语句然后再去while括号里面判断是否满足条件为真则进入循环为假则退出循环循环结束。在do-while循环里面语中循环体是至少执行一次的这是do-while与for、while循环的特殊点。do-while循环的实例同理打印1~9的数字在屏幕上。#includestdio.h int main() { int i 1; do { printf(%d ,i); i; }while(i10); return 0; }⼀般情况下do while 使⽤在循环体⾄少被执⾏⼀次的场景下所以较少⼀些。谈完我们的循环那么我们就要说说break与continue这两个关键字。break与continue语句在循环过程中有些情况需要提前终止这个过程在我们写代码中是很常见的现象。C语言里面提供了这两个关键字是应用在循环中的。break作用是在这个循环过程中永久性的终止循环只要break被执行就会跳出循环终止循环然后继续向下执行。continue作用是跳过continue后面所以的代码。在for循环与while循环里面有所差异。while循环中的break和continuebreak​ ​ #includestdio.h int main() { int i 1; while(i10) { if(i6) { break;//当i6的时候就终止停止了。 } printf(%d ,i); i; } return 0; } ​ ​当想让循环在什么条件下终止循环的时候我们就能用我们的break语句。continue#includestdio.h int main() { int i 1; while(i10) { if(i6) { continue;//当i等于6的时候就会执行continue语句continue后面的语句就会被跳过 } printf(%d ,i); i; } return 0; } ​ ​ ​当i6的时候执行continue 会造成无线循环死循环因为continue将循环里后面的语句全部跳过了无法使变量i不断增加不断进行判断造成死循环。for循环中的break和continuebreak#includestdio.h int main() { int i 1; for(i1;i10;i) { if(i6) { break; } printf(%d ,i); } return 0; } ​ ​ ​ ​ ​其实可以看见break在for循环内和while循环内是相同的。continue:#includestido.h int main() { int i 1; for(i1;i10;i) { if(i6) { break; } printf(%d ,i); } return 0; } ​这⾥ continue 跳过了后边的打印来到了 i 的调整部分而不是结束循环。continue跳过的是循环体内的代码。do-while中的break和continuebreak:#includestdio.h int main() { int i 1; do { if(i6) { break; } printf(%d ,i); i; }while(i10); return 0; } ​do-while中的continue#includestdio.h int main() { int i 1; do { if(i6) { continue; } printf(%d ,i); i; }while(i10); return 0; } ​ ​可以看见do-while循环中这个代码加上continue变成死循环了原因是continue讲循环体内的代码跳过了i不会执行而i会一直小于等于6不断进行判断造成死循环。这三种循环能够相互嵌套。这就是循环嵌套。简单的循环嵌套找出100~200之间的素数并打印在屏幕上。注素数⼜称质数只能被1和本⾝整除的数字。#include stdio.h int main() { int i 0; //循环产⽣1~100的数字 for(i1;i100;i) { //判断i是否为素数 //循环产⽣2~i-1之间的数字 int j 0; int flat 1; for(j 2;ji;j) { if(i % j 0) { flag 0; break; } } if(flag 1) { printf(%d , i); } } return 0; }这就是简单的循环嵌套。最后还有一种是go to 语句go to 语句C语⾔提供了⼀种⾮常特别的语法就是从go to语句和跳转标号go to语句可以实现在同一个函数内内跳转到设置好的标号处。#includestdio.h int main() { for(......) { for(......) { for(......) { go to error; } } } return 0; } error ......本来for循环用break只能跳出一重循环但是用go to 能跳出多重循环能跳到你想要跳到的位置。所以这种情况下用go to语句比较快捷。好了讲到这里我们的循环就已经全部讲完了。谢谢大家的观看---正在不断进步的菜鸟