精华内容
下载资源
问答
  • C语言while循环语句 do while语句 for循环语句

    万次阅读 多人点赞 2019-06-10 14:17:53
    一、循环结构的思想及意义: 知道了循环结构,那么在生活中也一样,我们每天都在重复做着相同的事情,例如:吸气呼气的过程;又如夏天开电扇,电扇一圈一圈的转,这都是在重复。现在大家玩个游戏,一个人A来说一个人...

    一、循环结构的思想及意义:
    知道了循环结构,那么在生活中也一样,我们每天都在重复做着相同的事情,例如:吸气呼气的过程;又如夏天开电扇,电扇一圈一圈的转,这都是在重复。现在大家玩个游戏,一个人A来说一个人B来做,一个人A说命令“敬礼,礼毕”,另一人B做动作十遍;第一种思维那就是说一下命令就让B执行动作,B执行完动作后,A再继续说命令,B再继续做动作,同样的事情重复十遍。如果利用所学的知识,让你输出十遍“敬礼,礼毕”,你会怎么写程序呢?

    /* 输出敬礼礼毕十遍 */
    #include "stdio.h"
    void main()
    {
        printf("1.敬礼、礼毕\n");
        printf("2.敬礼、礼毕\n");
        printf("3.敬礼、礼毕\n");
        printf("4.敬礼、礼毕\n");
        printf("5.敬礼、礼毕\n");
        printf("6.敬礼、礼毕\n");
        printf("7.敬礼、礼毕\n");
        printf("8.敬礼、礼毕\n");
        printf("9.敬礼、礼毕\n");
        printf("10.敬礼、礼毕\n");    
    }
    

    那A要让B说一万遍呢,显然如果还是用上面的程序来写的话,那么今天你一个小时不用做别的了,你就在这里慢慢复制粘贴吧!所以肯定有好的办法:A应该对B说执行命令动作“敬礼、礼毕”十遍。同样的问题大家来看第二段程序代码:

    /* 输出敬礼礼毕十遍 */
    #include "stdio.h"
    void main()
    {
    	int i;
    	i=1;
        while(i<=10)
    	{
    printf("%d.敬礼、礼毕\n",i);
    i=i+1;
    	}   
    }
    

    二、while的基本格式
    while的基本格式:(流程图如右图所示)
    while(表达式)
    {
    语句1;
    ……
    语句 n;
    }
    其中表达式代表了循环条件,整个复合语句为循环体。
    while语句规范:
    1:{和}自成一行
    2:语句1—语句n自动缩进
    while循环属于当型循环,也就是先判断表达式的值是否为真的(也可以理解为条件是否成立),若为真则循环,否则退出循环。
    它的格式变形如下;
    表达式1;
    while(表达式2)
    {
    语句;
    表达式3;
    }
    其中表达式1代表了程序循环前的初始值,表达式2代表了控制条件,表达式3代表了增量变化
    拿输出1到100为例分析。
    最初始的值(假设变量为i)应该是i=1;条件是i<101(或i<=100);语句是输出相应的变量值 printf(“%d ”,i);而表达式3应该是输出一个后进入下一个数,也就是i++;
    所以它的代码也就很容易就出来了:

    void main()
    {
        int i;
        i=1;
        while(i<101)
    {
      printf(“%d ”,i);
      i++;   
    }
    }
    

    do—while循环语句
    do–while语句
    在循环中有当型循环,还有直到型循环。接下来我们就来学习下直到型循环。
    一、do—while语句格式
    1.do—while语句格式1
    表达式1;
    do
    {
    语句;
    表达式3;
    } while(表达式2);
    其中表达式1代表了程序循环前的初始值,表达式2代表了控制条件,表达式3代表了增量变化
    这种格式在程序中已经很少用了。主要应用于下种变形格式:
    2.do—while语句格式变形
    do
    {
    语句;
    } while(条件表达式);
    二、do-while语句的思想及意义
    do英文翻译成中文是做的意思,那么从上面的结构我们也能看出,do语句后判断条件表达式,如果条件还表达式成立,再次执行语句,直到条件表达式不成立,往下继续执行。所以do—while的中心思想是至少执行一次循环语句。
    三、do-while循环结构实例
    下面我们一些操作实例来讲解循环结构的逻辑思维过程。
    1.求1+2+3+4±—+100和是多少?
    (1)步骤1,首先我们应该分析的是,我们要求一个数即和,那么和初值是几呢? sum=0
    (2)sum+=1;
    (3)sum+=2;
    (4)sum+=3;
    (5)假如我们如一个变量i来代表值的变化的话那么我们应该也能推算去,求和其实就是
    (6)sum+=i;只是i要从1变化到100
    (7)while代码参考代码如下

    /*求1+2+3+---+100的和*/
    #include "stdio.h"
    void main()//求各
    {
    	//定义变量并初始化
    	int i=1;
    	int sum=0;
    	while(i<=100)  //条件表达式
    	{
    		sum+=i;
    		i+=1; //步长
    	}	
    	printf("和是%d",sum);
    }
    

    (8)do–while代码参考代码如下

    /*求1+2+3+---+100的和*/
    #include "stdio.h"
    void main()//求各
    {
    	//定义变量并初始化
    	int i=1;
    	int sum=0;
    	do
    	{
    		sum+=i;
    		i+=1; //步长
    	}	while(i<=100); //条件表达式
    	printf("和是%d",sum);
    }
    

    2.输入qq的密码;输入正确则显示登录成功,否则可以一直输入密码直到对为至,假设密码为123456
    (1)那么我们分析题目,应该是先输入后判断的一种循环方式,那么应该选择do—while语句
    (2)程序中要求我们输入密码,密码可以变,所以要给密码定义成一个变量,我们假设int password;
    (3)因为密码是输入的,所以没有初始值
    (4)输入密码以后我们应该判断密码是否和默认密码相同
    (5)相同则登录成功
    (6)不相同则重新
    (7)do–while代码参考代码如下

    /*判断qq密码*/
    #include "stdio.h"
    void main()//登录
    {
    	//定义变量并初始化
    	int password;
        do	
    	{
    		printf("请输入qq登录密码:");
    		scanf("%d",&password);
    	}while(password!=123456);  	//条件表达式
    	printf("登录成功");
    }
    

    (8)do—while语句是可以被while()替换,其实循环之间的语句都可以相互替换,哪种方法更适合你,就选那种,也就是说一定要有一种是自己专长的。

    (9)参考代码如下
    /*登录*/
    #include "stdio.h"
    #include "stdlib.h"
    void main()//登录
    {
    	//定义变量并初始化
    	int password;
        while(1)
    	{
    		printf("请输入qq登录密码:");
    		scanf("%d",&password);
    		if(password==123456)
    		{
    			printf("登录成功");
    			break;
    			}
    	}
    	
    }
    

    3.while 与do—while的相同与不同总结?
    (1)while 语句是先计算表达式的值,再执行循环体,do…while是执行完一次循环体,再计算表达式的值
    (2)当表达式的值第一次为假时,while的循环体一次都不执行,do…while则执行一次循环体;
    (3)当表达式的值为真时,两者无区别
    (4)在不确定条件次数的情况下,程序一般用while比较多

    for循环语句
    for 循环为当型循环。for循环最容易实现计数控制循环方法。for循环的使用最为灵活,且适合应用在循环次数确定的情况下。
    for循环的思想是,先分析清楚循环的初始值,循环的控制条件,循环变量的步长变化,然后直接把语句再写到for的循环体里即可,这样可以让问题想的很清楚,流程也很清楚。
    二、for循环语句的应用
    for语句是c语言所提供的功能更强,使用更广泛的一种循环语句。
    1.for语句的一般格式
    (1)第1种情况
    for(表达式1;表达式2;表达式3)
    语句;
    (2)第2种情况
    for(表达式1;表达式2;表达式3)
    {
    语句块;
    }
    2.for语句的注意事项
    (1)各表达式之间分号不能省略
    (2)表达式1与表达式2与表达式3均可省略,一般是不省略的。
    ①当表达式1省略时,相当于省去了为循环变量赋初值,此时应在for语句之前给循环变量赋初值
    ②当表达式2省略时,表示不判断循环条件,也就是认为表达式2始终为真, 这时应在循环体内设法结束循环,否则将成为死循环
    ③当表达式3省略时,即省去修改循环变量的值,但此时应在循环体内设法结束循环
    (3)虽然说表达式可以省略,但是在使用for时,还是要正常使用的,也就是该有的都有。
    三、for的逻辑思维过程
    for语句和while语句一样,它的思想是在做循环之前,也是先有一个初值表达式1,然后判断条件表达式2是否成立,如果成立就执行{}里的语句然后跳转到表达式3,表达式3再跳转到表达式2,再次判断表达式2,如若成立再次,执行{}里的语句语句然后跳转到表达式3,表达式3再跳转到表达式2,如果成立就再重复执行,如果不成立就退出循环。
    for的流程图走向和while语句一模一样,但是for的思维过程,可以直接先分析从第一次开始执行,执行条件是什么,步长是多少,然后执行的语句是什么,套用for的结构即可。

    展开全文
  • Java中do…while循环语句用法详解

    千次阅读 2020-07-08 10:33:08
    Java中do…while循环语句用法详解  程序的优势是可以解放人的双手去做其他更有意义的事情,重复的劳动都交给编写好的... do while循环语句和while循环语句功能类似,其语法结构如下:  do {  执行语句  } wh

      Java中do…while循环语句用法详解

      程序的优势是可以解放人的双手去做其他更有意义的事情,重复的劳动都交给编写好的程序去完成。在Java中有一种特殊的语句叫做循环语句,它可以实现将一段代码重复执行,例如循环打印100位学生的考试成绩。循环语句分为 while循环语句、do while循环语句和for循环语句三种。叩丁狼学院小编接下来介绍do while循环语句的用法。

      do while循环语句和while循环语句功能类似,其语法结构如下:

      do {

      执行语句

      } while(循环条件);

      在上面的语法结构中,关键字do后面{}中的执行语句是循环体。do while循环语句将循环条件放在了循环体的后面。这也就意味着,循环体会无条件执行一次,然后再根据循环条件来决定是否继续执行。例如下面案例:Example13.java。

      public class Example13 {

      public static void main (String[] args){

      int x=1; //定义变量x,初始值为1

      do{

      System.out. println ( x= +x); //打印x的值

      x++; //将x的值自增

      }while (x //循环条件

      }

      }

      以上程序运行结果为:

      X = 1

      X = 2

      X = 3

      X = 4

    展开全文
  • 4.1任务1:打印数字(时间:25分钟) 4.1.1 任务描述 编程求一个四位自然数ABCD,它乘以A后变成DCBA。 4.1.2 任务目的 逐渐建立使用循环进行编程的思路:寻找...掌握while,do-while,for循环语句结构和执行流程

    4.1任务1:打印数字(时间:25分钟)
    4.1.1 任务描述
    编程求一个四位自然数ABCD,它乘以A后变成DCBA。
    4.1.2 任务目的
    逐渐建立使用循环进行编程的思路:寻找规律;写出循环体中需要重复操作的部分,其中包括改变修改变量值的语句;确定循环判断条件;完善循环结构,定义循环变量;完善整体程序,添加输入输出操作。
    掌握while,do-while,for循环的语句结构和执行流程。
    复习面向过程编程的编程思路。
    4.1.3 任务要求
    分别使用while,do-while,for循环完成此任务,
    添加适当的注释信息。
    给出人性化的输入输出提示信息。
    4.1.4 难点提示
    注意循环体中语句的顺序,先进行相关条件判断再进行其它操作。
    注意循环语句中的循环判断条件应为逻辑或关系表达式。
    注意在循环体中应有使循环结束的设置,即有改变循环变量的值的操作。
    4.2任务2:查找数字(时间:25分钟)
    4.2.1 任务描述
    编写一个程序,从键盘上接收一个整数,并且从1-100之间找到能被它整除的整数,并输出找到的整数。
    4.2.2 任务目的
    复习关系和逻辑表达式的使用。
    掌握如何使用while、do-while、for循环完成上面要求。
    建立使用循环完成面向过程编程的思路。
    4.2.3 任务要求
    要求分别使用while和for循环完成此任务。
    使用关系、逻辑运算符与if语句结合使用完成查找判断。
    4.2.4 难点提示
      注意: 能被整除的意思是:除以从键盘上接收的整数,判断余数是否为0。
    4.3任务3:模拟银行输入密码操作(时间:30分钟)
    4.3.1 任务描述
      模拟XX银行输入密码的操作,在程序开始时提示用户输入密码,如果密码输入不正确(可以事先自己随意确定一个密码,如果输入不是这个密码,就认为是错误的),则要求用户重新进行输入;如果输入正确,可以直接输出“密码输入正确,请选择其他操作.”即可,然后程序结束。如果用户连续三次输入错误,程序也将结束,可以提示用户“密码输入有误超过3次,您的帐户已经被冻结,请明天再输入.”。
    4.3.2 任务目的
    掌握在循环中使用if语句实现具体功能。
    掌握break语句和continue语句在循环中的使用。
    4.3.3 任务要求
    用户输入正确,则输出“密码输入正确,请选择其他操作.”即可
    用户输出错误,则提示用户重新输入。
    如果用户连续3次输入错误,则将用户帐号进行冻结,要求用户明天再输入。
    4.3.4 难点提示
      提示:可以通过循环的判断条件限定用户的输入次数,如果循环正常结束,说明用户已经连续输入错误三次,则应提示用户帐号已经被冻结。在循环中可以通过设置标志位的方式标识循环是正常结束,还是由于输入正确后而跳出循环。然后再在循环体后面判断标志位来进行判断输出是输入正确还是帐户冻结。
    4.4任务4:打印图形(时间:15分钟)
    4.4.1 任务描述
    使用循环语句实现下面的图形:
    *****
    ****
    ***
    **
    *

    4.4.2 任务目的
    理解二重循环的意义,以及循环的流程。
    理解如何使用二重循环完成程序实现。
    4.4.3 任务要求
    先完成此图形,然后修改程序,使程序可以根据用户输入的数据进行打印,例如:上图是用户输入5时打印的结果。
    4.4.4 难点提示
      提示:最外层循环确定的是行数,而内层循环则确定每行有多少个”*”。且内层循环的取值或判断条件一般都取决于最外层循环变化。
      
    五、课后作业
    5.1 作业1 打印图形(时间:30分钟)
    5.1.1 作业任务
    使用循环语句输出一个以*号组成的菱形。要求行数从键盘接收。
    5.1.2 任务要求
    (1)在输出数据前,应给出用户提示信息。
    (2)程序在编写时,注意程序的格式,例如:缩紧、空行、空格的使用。
    (3)编程原则:程序应保证结清晰,容易理解,并添加适当的注释说明信息。
    5.1.3 难点提示
    内层循环和外层循环格子要完成的任务。
    5.2 作业2 打印图形(时间:30分钟)
    5.2.1 作业任务
    编写一个程序,它能够读入一个正方形的边长,然后输出一个由星号和空格组成的边长为刚刚读入的边长的空心正方形。例如,程序读入的边长是5,那么它应输出边长为5的空心正方形。
    5.2.2任务要求
      同作业1
    5.2.3 难点提示
    同作业1。



    5.3 作业3 进制转换(时间:25分钟)
    5.3.1 作业任务
      设计一个程序,该程序能将一个十进制整数,输出将其转化为二进制数以后有多少个1.例如3转化为二进制是11,有两个1,就输出2;5转化为二进制是101,也输出2.
    5.3.2任务要求
    1.要求用户从键盘接收该十进制数。
      2.程序在编写时,注意程序的格式,例如:缩紧、空行、空格的使用。
      3.编程原则:程序应保证结清晰,容易理解,并添加适当的注释说明信息
    5.3.3难点提示
    十进制转换为二进制的方法:
    以45为例
    47/2=23 余数1
    23/2=11 余数1
    11/2=5 余数1
    5/2=2 余数1
    2/2=1 余数0
    1/2=0 余数1
    得到的余数最底层的作为最高位,最顶层的作为最低位 得到的二进制数是:101111.

    5.4 作业4 (时间:25分钟)
    5.4.1 作业任务
    有一条长阶梯,若每步跨2阶最后剩下1阶;若每步跨3阶最后剩下2阶;若每步跨5阶最后剩下4阶;若每步跨6阶最后剩下5阶;只有每步跨7阶,最后才正好1阶不剩。编程计算这条阶梯共有多少阶?
    5.4.2 任务要求
    分别用for循环和while循环编写程序。
    5.4.3 难点提示
    阶梯数目为n则:(n%2==1)&&(n%3==2)&&(n%5==4)&&(n%6==5)&&(n%7==0)

     

    答案:

     

    #include <stdio.h>

    int main()
    {

        /*4.1.1
         * 方法一
     int ABCD = 0;
        int DCBA = 0;
        int A = 0;
        int B = 0;
        int C = 0;
        int D = 0;

        for(ABCD = 1000; ABCD < 10000; ABCD++)
        {
            A = ABCD / 1000;
            B = ABCD / 100 - A * 10;
            C = ABCD / 10 - A * 100 - B * 10;
            D = ABCD - A * 1000 - B * 100 - C * 10;

            printf("ABCD=%d\n",ABCD);

            DCBA = D * 1000 + C * 100 + B * 10 + A;

            if ( ( ABCD * A ) == DCBA)
            {
                printf("The Number is %d\n",ABCD);
            }
        }

        return 0;
        *
        */

        /*
         * 方法二

     int ABCD = 0;
        int DCBA = 0;
        int A = 0;
        int B = 0;
        int C = 0;
        int D = 0;

        while(ABCD<10000){
          ABCD++;
           A=ABCD/1000;
           B=(ABCD-A*1000)/100;
           C=(ABCD-A*1000-B*100)/10;
           D=ABCD%10;
           //倒叙
           DCBA=D*1000+C*100+B*10+A;

          if((ABCD*a)==DCBA){
          printf("四位自然数ABCD,它乘以A后变成DCBA:%d\n",ABCD);}
         }

         return 0;
         *
         */

        /*
         * 方法三

     int ABCD = 0;
        int DCBA = 0;
        int A = 0;
        int B = 0;
        int C = 0;
        int D = 0;

           do{
          ABCD++;
          //分别得出个十百千位
          A=ABCD/1000;
          B=(ABCD-A*1000)/100;
          C=(ABCD-A*1000-B*100)/10;
          D=ABCD%10;
          //倒叙
          DCBA=D*1000+C*100+B*10+A;

           if((ABCD*A)==DCBA){
           printf("四位自然数ABCD,它乘以A后变成DCBA:%d\n",ABCD);}
          }while(ABCD<10000);
             return 0;
         *
         */
     /* 4.2.1
      *
     int a=0,b=0;
     printf("请输入一个整数:");
     fflush(stdout);
     scanf("%d",&a);

        while( b<=100){
      b++;
      if(a%b==0){
      printf("能被%d整除的数是%d\n",a,b);
      }
     }
     return 0;
    */

     /*
      * 方法二
     int a=0,b=0;
     printf("请输入一个整数:");
     fflush(stdout);
     scanf("%d",&a);

     for(b=0;b<=100;b++){
      if(a%b==0){
       printf("能被%d整除的数是%d\n",a,b);
      }
     }

     return 0;
      *
      */
    /*
     *4.3.1

     int a=123,b=0,n=1;

      while(n<=3){
       n++;
       printf("请输入密码:");
       fflush(stdout);
       scanf("%d",&b);
       if(b==a){
         printf("密码输入成功");
         }
       if(b==a)break;
       if(n>3){
        printf("密码输入有误超过3次,您的帐户已经被冻结,请明天再输入.");
        break;
       }
       if(b!=a){
        printf("密码输入有误");
        continue;
       }

      }
      return 0;
     *
     */

    /*
     * 4.4.1
      int i=0,j=0;
      fflush(stdout);


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

       for(j=i;j<=5;j++){

        printf("*");

       }
       printf("\n");
      }
      return 0;
     *
     */

    /*
     * 5.1.1
     int i,j,n;
      scanf("%d",&n);
      for(i=0;i<n;i++){
       j = n+i;
       while(j--){
        printf("%s",j>2*i?" ":"*");
       }
       printf("\n");
      }
      for(i=n-1;i>0;i--){
       for(j=0;j<n+i-1;j++){
        printf("%s",j<n-i?" ":"*");
       }
       printf("\n");

      }
      return 0;
     *
     */

      /*
       * 5.2.1
         int i,j,a;
      printf("输入一个正方形的边长:\n");
      fflush(stdout);
      scanf("%d",&a);
      for(i=1;i<=a;i++)printf("*");
      printf("\n");
      for(i=1;i<=a-2;i++)
      {
      printf("*");
      for(j=1;j<=a-2;j++)printf(" ");
      printf("*\n");
      }
      for(i=1;i<=a;i++)printf("*");
      printf("\n");

      return 0;

       *
       */


     /*
      * 5.3.1
         int x,count=0;
      printf("请输入一个整数:\n");
      fflush(stdout);
      scanf("%d",&x);
      while(x){
       x=x&(x-1);
       count++;
      }
      printf("一共有%d个",count);
      *
      */

     /*
      * 5.4.1
      int n=1;
       while(!((n%2==1)&&(n%3==2)&&(n%5==4)&&(n%6==5)&&(n%7==0))){
        ++n;
       }
       printf("这条阶梯共有 %d 阶。",n);

      return 0;
      
      *
      */

    }

     

    展开全文
  • shell作为一种脚本语言,同样包含循环、分支等...使用while循环语句时,可以根据特定的条件反复执行一个命令序列,直到该条件不再满足时为止。在脚本应用中,应该避免出现死循环的情况,否则后边的命令操作将无法执行。

    简介

    shell作为一种脚本语言,同样包含循环、分支等其他程序控制结构,从而能够轻松完成更加复杂的工作,具有强大的功能。

    1.for循环语句

    1.1 for语句的结构与使用条件

    • 读取不同的变量值,用来逐个执行同一组命令

    for循环语句结构:

    在这里插入图片描述
    命令格式:

    for 变量名 in 取值列表
    do
    	命令序列
    done
    

    for循环使用条件:

    • 使用for循环语句时,需要指定一个变量及可能的取值列表,针对每个不同的取值重复执行相同的命令序列,直到变量值用完退出循环。在这里,“取值列表”称为 for 语句的执行条件,其中包括多个属性相同的对象,需要预先指定(如通讯录、作黑名单)。

    1.2 for语句的应用示例

    1)根据IP列表检查主机的状态

    项目步骤:创建需要测试的主机列表;创建循环主体,根据ping的结果反馈,判断是否在线或下线(如果为真则认定在线,否则认定是下线)。

    [root@localhost~]# vim ipadds.txt	//用做测试的列表文件
    192.168.1.1
    192.168.1.10
    192.168.1.20
    [root@localhost ~]# vim chkhosts.sh	//循环检查各主机的脚本
    #!/bin/bash
    HLIST=$(cat /root/ipadds.txt)
    for IP in $HLIST
    do
    	ping -c 3-i 0.2 - W 3 $IP &> /dev/null	//-c发送包的数量;-i发送 ping包间隔;-W超时时间
     	if [ $? -eq 0 ]
     	then echo "Host $IP is up."
     	else 
     	echo "Host $IP is down."
     	fi
    done
    [root@localhost~ ]# chmod +x chkhosts.sh
    [root@localhost~ ]# ./chkhosts.sh	//测试并确认执行结果
    Host 192.168.1.1 is up.	
    Host 192.168.1.10 is up.
    Host 192.168.1.20 is down.
    

    2)根据姓名列表批量添加用户

    项目步骤:循环创建列表里这些用户,并给他们这些设定初始化密码,假设密码设为“123123”

    [root@localhost ~]# vim uaddfor.sh	//批量添加用户的脚本
    #!/bin/bash
    ULIST=$(cat /root/users.txt)
    for uname in $ULIST
    do
    	if [ $uname == `grep_ $uname /etc/passwd | awk -F: '{print $1)’` ]
    	then echo "姓名重复”
    	fi
    	useradd $uname
    	echo "123123" passwd --stdin $UNAME &>/dev/null
    done
    [root@localhost ~]# chmod +x uaddfor. sh
    [root@localhost ~]# ./uaddfor. sh	//测试并确认执行结果
    [root@localhost ~]# tail -2 /etc/passwd
    lindong:x :1006:1006: :/home/lindong:/bin/bash
    hanli:x :1007:1007::/home/hanli:/bin/bash
    

    2.使用while循环语句

    • for循环语句非常适用于列表对象无规律,且列表来源固定的场合。而对于要求控制循环次数、操作对象按数字顺序编号、按特定条件执行重复操作等情况,则更适合使用另一种循环–while循环。

    2.1 while循环语句结构

    使用while循环语句时,可以根据特定的条件反复执行一个命令序列,直到该条件不再满足时为止。在脚本应用中,应该避免出现死循环的情况,否则后边的命令操作将无法执行。

    while循环语句的语法结构如下:

    while 条件测试操作
    do
    	命令序列
    done
    

    在这里插入图片描述
    while语句的执行流程:

    • 首先判断while后的条件测试操作结果,如果条件成立,则执行do…done循环体中的命令序列;
    • 返回while后再次判断条件测试结果,如果条件仍然成立,则继续执行循环体;
    • 再次返回while后,判断条件测试结果…如此循环,直到while后的条件测试结果不再成立为止,最后跳转到done语句,表示循环结束。

    注意:

    使用while循环语句时,有两个特殊的条件测试操作,即true(真)和false(假)。使用true作为条件时,表示条件永远成立,循环体内的命令序列将无限循环下去,除非强制中止脚本(或通过 exit 语句退出脚本);反之,若使用 false 作为条件时,循环体将不会执行。

    2.2 while循环语句应用示例

    1)批量添加规律编号的用户
    若要添加20个用户,名称依次为sul、su2、…、su20

    [root@localhost ~]# vim uaddwhile.sh
    #!/bin/bash
    i=1
    while [ $i -le 20 ] 	//控制循环条件
    do	//重复循环执行的操作
    	uname="su$i"
    	if [ $uname ==`grep $uname /etc/passwd | awk -F: '{print $1]’` ]
    	then echo "姓名重复”
    	fi
    	useradd $uname
    	echo 123123 | passwd --stdin $uname &> /dev/null
    	let i++
    done
    [root@localhost ~]# chmod +x uaddwhile.sh
    [root@localhost ~]# ./uaddwhile.sh
    [root@localhost ~]# grep "su"/etc/passwd / tail -3
    su18:x:1022:1022::/home/su18:/bin/bash
    su19:x:1023:1023::/home/su19:/bin/bash
    su20:x:1024:1024::/home/su20:/bin/bash
    
    展开全文
  • python中的while循环语句

    万次阅读 多人点赞 2018-07-19 13:52:49
    程序的三大流程 在程序开发中,一共有三种流程方式: ...while循环语句 while 循环的基本使用 循环的作用就是让指定的代码重复的执行 while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执...
  • JavaScript中循环语句主要包含for循环和while循环两类。 for循环 for循环又分为for循环,for…in循环,for…of循环,其中for…of循环是es6中新增的,咱们后面讲es6时再讲,这次主要讲for循环和for…in循环。 1.for...
  • 5、while循环语句 1.格式 while 条件满足: 满足条件执行的语句 else: 不满足条件执行的语句 2、 while 死循环 只要满足 while的条件永远为真,就会进入无限循环 示例: while 2>1: print('@@@@...
  • while 和 do while 循环语句格式及用法

    万次阅读 2016-09-14 10:37:20
    class ifDemo {  public static void main(String[] args)  {  /*  循环语句介绍:  while 循环语句  while(条件表达式)  {  执行语句;  }
  • 知识点:while循环、do-while循环、forxufo循环、ach循环的使用。 1、while循环 特点:先判断条件,条件为真,执行循环语句。条件为假,直接结束循环语句。...while语句功能 计算表达式的值,...
  • 循环语句:通过循环语句可以反复执行一段代码多次。 while循环 语法格式: while(条件表达式){ 语句… } while循环在执行时,先对while后的条件表达式进行求值判断,如果值为true,则执行循环体,循环体执行完后,...
  • 1. if-esle流程判断语句 我们来直接看一个例子,如下,判断我们定义的用户名和用户输入的用户名是否一致。代码当中有几个注意点: 判断的时候用双等号表示判断是否一致(三个等号表示赋值) 你有没有注意到这里...
  • 好啦,咋们来了,继续吧。 本章学习点: while else break 与 continue ...在我们上节已经说过了while的运用,但是有趣的是,Python还有个while else 组合,其实这个组合是 if...else... 的亲戚呢。...
  • python中if语句和while循环语句的用法

    千次阅读 2019-04-07 15:26:07
    其实python中的if和while的使用和C语言中的if和while的使用并没有多大的差距,只不过在一些地方的的使用有所不同,相较之下python中的用法更为简便快捷些。 if语句 使用if语句要注意的还是缩进,if语句后面要加上...
  • Python的if条件语句及while循环语句

    千次阅读 2018-07-18 17:50:59
    一、if条件语句 1.Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 2.Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。 3.Python 编程中 if 语句用于...
  • Python学习(5)一、python的while 循环语句二、python的赋值运算符三、python的while 循环语句 示例四、python的 break 和 continue五、python的while 嵌套1、用嵌套打印小星星2、python 九九乘法表六、python的...
  • 循环语句  循环语句在程序设计中用来描述有规则重复的流程。在实际的程序中,存在很多需要重复执行的流程,为了简化这些重复的执行流程,在程序设计语言中新增了该类语句。  在学习循环语句时,最重要的就是发现...
  • Java循环语句while

    2015-02-06 17:27:09
    Java循环语句while 生活中,有些时候为了完成任务,需要重复的进行某些动作。如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈。在 Java 中实现功能时,也经常需要重复执行某些代码,例如,我们...
  • python循环语句forIn this tutorial you will learn about Python for & while loop, break & continue statement. 在本教程中,您将了解Python for&while循环,break和Continue语句。 Loops are a ...
  • 用一个循环语句实现嵌套循环功能 下列群内大学生的答题,构思也很巧妙,且在一行内完成,不过不是我的要求,且只理解了我出题的一半意思的一句循环语句,另一个意思是析题后如何高效算法,因此,我给他的评价是只...
  • 循环语句  循环语句在程序设计中用来描述有规则重复的流程。在实际的程序中,存在很多需要重复执行的流程,为了简化这些重复的执行流程,在程序设计语言中新增了该类语句。  在学习循环语句时,最重要的就是...
  • for循环: 先判断,只要条件成立,就重复不断的执行循环体代码 for(变量初始化 ; 条件判断 ; 变量更新){ 循环体代码;... 循环体代码:循环代码块,当有多条语句时,必须使用复合语句。 fo...
  • 文章目录流程控制一、接收用户输入二、执行结构概述三、if分支四、switch五、循环_while六、do while循环七、for循环八、循环嵌套图形打印九、break与continue十、如何退出多重循环十一、图形打印详解十二、判断用户...
  • 循环语句之for语句的使用 一般形式: for(表达式1;表达式2;表达式3) {语句;} 它的执行过程: 1.求解表达式1; 2.求解表达式2,若其值非0(真),则执行内嵌语句,转步骤3;若其值为0(假),转步骤4; 3.求解...
  • do…while语句实现直到型循环结构。其一般形式是: do 语句 while(表达式); 其特点是:先执行语句,后判断表达式。 执行过程: 1、执行内嵌语句; 2、计算表达式,当表达式的值为非0(真)时,转到步骤1;当...
  • 这些语言元素包括变量、运算符、函数、流程控制语句和注释等内容。 <br />1. 变量 变量对于一种语言来说是必不可少的组成部分。Transact-SQL语言允许使用两种变量:一种是用户自己定义的局部变量(Local ...
  • 和for循环有相同功能的还有while循环, while循环重复执行一段代码,直到某个条件不再满足。 while语句结构: while(判断条件) { 循环语句 } 使用while循环,完成从盒子里取球的动作,每次取一个,共6个球。 ...
  • 5.Python中循环语句的使用方法(for、while、嵌套)

    万次阅读 多人点赞 2019-04-10 11:29:15
    程序在一般情况下是按顺序...循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式 1.循环控制语句 在了解循环语句的使用方法之前,我们先来了解几个循环控制语句: 1)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 178,799
精华内容 71,519
关键字:

while循环语句的功能