zoukankan      html  css  js  c++  java
  • 循环语句及其控制语句

    资料引用地址来源:C 循环 | 菜鸟教程 https://www.runoob.com/cprogramming/c-loops.html

    1.while 循环

    定义:当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。

    语法:

    while(condition)

    {

       statement(s);

    }

    在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。

    condition 可以是任意的表达式,当为任意非零值时都为 true。当条件为 true 时执行循环。 当条件为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句。

    2.        for

    定义:for 循环允许您编写一个执行指定次数的循环控制结构。

    格式:for ( init; condition; increment )

    { statement(s); }

    for 循环的控制流:

    1)        init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。

    2)        接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。

    3)        在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。

    4)        条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止

    5)        ***while重点是循环条件,for重点是循环次数。

    6)        笔记:

    #include <stdio.h>

    int main ()

    {

    /* for 循环执行 */ for( int a = 10; a < 20; a = a + 1 ) {

    printf("a 的值: %d ", a); }

    return 0;

    }

    有的编译器会报错,应改为:int a=10;

    for(; a<20; a=a+1){

    }

    3.        do...while 循环

    定义:不像 for 和 while 循环,它们是在循环头部测试循环条件。在 C 语言中,do...while 循环是在循环的尾部检查它的条件。

    do...while 循环与 while 循环类似,但是 do...while 循环会确保至少执行一次循环。

    例子:int main ()

    {

       int a = 10;

       do{

           printf("a 的值: %d ", a);

              a = a + 1;

       }while( a < 10 );

    运行结果:a 的值: 10

    4 .嵌套循环

    定义:您可以在 while、for 或 do..while 循环内使用一个或多个循环。

    4.1  嵌套 for 循环

    语法:for (initialization; condition; increment/decrement)

    {

        statement(s);

        for (initialization; condition; increment/decrement)

        {

            statement(s);

            ... ... ...

        }

        ... ... ...

    }

    例子:找出质数的程序:int main ()

    {

       int i, j;

       for(i=2; i<100; i++) {

          for(j=2; j <= (i/j); j++)

            if(!(i%j)) break; // 如果找到,则不是质数

          if(j > (i/j)) printf("%d 是质数 ", i);

       }return 0;

    }

    4.2  嵌套 while 循环

    语法:while (condition1)

    {

        statement(s);

        while (condition2)

        {

            statement(s);

            ... ... ...

        }

        ... ... ...

    }

    例子:int main()

    {

        int i=1,j;

        while (i <= 5){

            j=1;

            while (j <= i ){

                printf("%d ",j);j++;

            }printf(" ");

            i++;

           }return 0;

    }

    运行结果

    1

    1 2

    1 2 3

    1 2 3 4

    1 2 3 4 5

     4.3嵌套 do...while 循环 

    语法:do

    {

        statement(s);

        do

        {

            statement(s);

            ... ... ...

        }while (condition2);

        ... ... ...

    }while (condition1);

    例子:int main()

    {

        int i=1,j;

        do{

            j=1;

                  do{

                printf("*");j++;

            }while(j <= i);

            i++;printf(" ");

        }while(i <= 5);

        return 0;

    }运行结果:

    *

    **

    ***

    ****

    *****

    2.循环控制语句continue,break,goto

    2.1 Continue语句

    定义:C 语言中的 continue 语句有点像 break 语句。但它不是强制终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。

    对于 for 循环,continue 语句执行后自增语句仍然会执行。对于 while 和 do...while 循环,continue 语句重新执行条件判断语句。

     

    例子:int main ()

    {

       int a = 13;

       do{

          if( a == 15){

             /* 跳过迭代 */

             a++;printf("跳过迭代 ");

             continue;

          }

          printf("a 的值: %d ", a);

          a++;

       }while( a < 17);

       return 0;

    }

    运行结果:

    a 的值: 13

    a 的值: 14

    跳过迭代

    a 的值: 16

    例子:int main ()

    {

       int a = 13, i;

       for(i=0;i<4;i++){

           if(i==1){

                  printf("跳过 ");continue;

           }printf("i=%d ", i);

       } 

    }运行结果:

    i=0

    跳过

    i=2

    i=3

  • 相关阅读:
    WINCE串口打印信息的屏蔽与打开
    WINCE系统时间设置
    WINCE调试常见错误
    今天开始研究arcgisserver
    今天开始,放弃项目管理,做技术了
    java数据库连接
    [转]建一个XMLHttpRequest对象池
    Linux下jsp开发环境,apache,tomcat服务器配置过程
    div+css布局漫谈
    新图纸总结
  • 原文地址:https://www.cnblogs.com/bihua/p/12029214.html
Copyright © 2011-2022 走看看