控制循环的意义

  • 有很多问题都是有明显规律的,如果不使用循环就真的相当于手动苦力搬砖了

**

  1. - 循环语句在任何语言中都起这举足轻重的地位,比如说,你要计算1+2+3+4+....+100的程序,你不可能将这些一起都写出来,为什么 ?很简单,麻烦,累人,或者你说加到100写的不累 ,那如果程序的要求是加到100000000呢?怎么办?不可能在一个一个的写了吧。
  • 所以,我们常需要使用循环来简化多次执行同一块代码的操作,常见C循环如下

**

  1. - while循环
  2. - for循环
  3. - do....while循环

while 循环

  • 简介

**

  1. - 只要给定的条件为真(不为数字0即可),C 语言中的 **while** 循环语句会重复执行一个目标语句。
  2. - ![](https://cdn.nlark.com/yuque/0/2020/jpeg/710889/1596434459496-8dd4fd45-f4db-40ab-b2ed-e4dfd8653c8c.jpeg#align=left&display=inline&height=463&margin=%5Bobject%20Object%5D&originHeight=463&originWidth=414&size=0&status=done&style=none&width=414)
  • 语法 ```c //1. 这里的 statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。 //2. condition 可以是任意的表达式,当为任意非零值时都为 true。 //3. 当条件condition为 true 时执行循环。 //4. 当条件condition为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句。

while(condition) { statement(s); }

  1. - **用法示例**
  2. ```c
  3. #include <stdio.h>
  4. int main ()
  5. {
  6. //局部变量定义
  7. int a = 10;
  8. //while 循环执行
  9. while( a < 20 )
  10. {
  11. printf("a 的值: %d\n", a);
  12. a++;
  13. }
  14. return 0;
  15. }
  16. //会输出10....19

do…while 循环

  • 简介:

    1. - **do...while** 循环与 while 循环类似,但是 do...while 循环会确保至少执行一次循环。
    2. - ![](https://cdn.nlark.com/yuque/0/2020/jpeg/710889/1596434846458-357a2eea-550f-4d98-ac17-f97429f5bbd2.jpeg#align=left&display=inline&height=468&margin=%5Bobject%20Object%5D&originHeight=468&originWidth=391&size=0&status=done&style=none&width=391)
  • 语法 ```c //1. 条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。 //2. 如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s),否则中断执行。 //3. 这个过程会不断重复,直到给定条件变为假为止。 do { statement(s);

}while( condition );

  1. - 例子
  2. ```c
  3. #include <stdio.h>
  4. int main ()
  5. {
  6. // 局部变量定义
  7. int a = 10;
  8. // do 循环执行
  9. do
  10. {
  11. printf("a 的值: %d\n", a);
  12. a = a + 1;
  13. }while( a < 20 );
  14. return 0;
  15. }
  16. 输出10...19

for 循环

  • 简介:

    1. - for循环就类似于简化的while循环,是用来执行指定次数的循环,让代码的结构更加清晰了
    2. - ![](https://cdn.nlark.com/yuque/0/2020/jpeg/710889/1596435062200-8b8d39f5-7008-4ad9-b1d1-376e7b525713.jpeg#align=left&display=inline&height=543&margin=%5Bobject%20Object%5D&originHeight=543&originWidth=512&size=0&status=done&style=none&width=512)
  • 语法 ```c //1. init 仅在循环开始时执行一次,用于定义变量。也可以不写任何语句,仅留一个分号。 //2. 接下来判断 condition。如果为真,则执行循环主体。如果为假,则跳出 for 循环,继续执行之后语句。 //3. 在执行完 for 循环主体后,跳回上面的 increment 语句,并执行,常用于更新init处变量,也可以只留分号。 //4. condition 再次被判断。如果为真,则执行循环。、

//0. 这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止

for ( init; condition; increment ) { statement(s); }

  1. - 示例
  2. ```c
  3. #include <stdio.h>
  4. int main ()
  5. {
  6. // for 循环执行
  7. for( int a = 10; a < 20; a = a + 1 )
  8. {
  9. printf("a 的值: %d\n", a);
  10. }
  11. return 0;
  12. }
  13. //输出是10...19



部分引用莱鸟教程内容,有兴趣可自行前往学习