iOS学习之C语言循环结构

时间:2021-09-28 09:48:45

一、while循环
    while (循环条件) {
        循环体;
    }
    // 1.定义循环变量
    int time = 1;
    // 2.循环条件
    while (time <= 3) {
        // 3.循环体
        printf("不能玩手机\n");
        // 4.循环增量
        time++;
    }
    // 定义循环变量
    int quan = 1;
    // 循环条件
    while (quan <= 10) {
        // 循环体
        printf("跑圈%d\n", quan);
        // 循环增量
        quan++;
    }

练习:打印1-0之间所有的数
       ;
     ) {
         printf("%-4d", number);
         number++;
     }
       //打印1-100之间所有的奇数
      ;
      ) {
           != ) {
              printf("奇数为:%d\n",a1);
           }
          a1++;
      }

二、随机数
    arc4random()
     原理: 余数 < 除数
     [0, n] arc4random() % (n + 1)
     [a, b] arc4random() % (b - a + 1)+a

 //[0, 9]
     ;
     printf("random = %d\n", random);

     // [0, 10]
     ;
     printf("random1 = %d\n", random1);

     // [0, 20]
     ;
     printf("random2 = %d\n", random2);

     // [1, 10] -- [0, 9]+1
      + ;
     printf("random3 = %d\n", random3);

     // [10, 20]-- [0, 10] + 10
      + ;
     printf("random4 = %d\n", random4);
 //练习: 随机产生10个数, 范围[0, 10]

     ;
     ) {

         // 打印随机数 [0, 10]
         ;
         printf("%d ", random);

         number++;
     }

     // 练习:用while打印10个随机数(范围为10~30),求最大值和最小值。

     ;
     ;
     ;
     ) {
         // 打印随机数(范围为10~30)
          + ;
         printf("%4d", random);
         if (max < random) {
             max = random;
         }
         if (min > random) {
             min = random;
         }

         number++;
     }
     printf("max = %d\n", max);
     printf("min = %d\n", min);

三、 break, continue
    
     break:在switch...case中,结束当前的case分支
      在循环中,遇到break,break后面的语句不再执行并结束整个循环
     continue:在循环中遇到continue,后面的语句不再执行并结束本次循环

  ;
     ) {

         ) {
             printf("相中,走啦%d\n", count);
             break;
         }

         ) {
             printf("前女友,跳过\n");
             count++;
             continue;
         }

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

         count++;
     }
 //练习:打印1-20之间所有的数,如果是7,不打印,如果是17,17和后面的数不再打印

     ;
     ) {
         a++;
         ) {
             a++;
             continue;
         }

         ) {
             break;
         }

         printf("%d ", a);
         a++;
     }

四、do...while
    
    do {
        循环体
    } while (循环条件);
    
     定义循环变量
    int a = 1;
    do {
        
        a++;
        
    } while (a > 10);
    printf("a = %d\n", a);
    
    while (a > 10) {
        a++;
    }
    printf("a = %d\n", a);
    
五、 for循环

  //打印1-5之间所有的数

     ;

     ;) {
         printf("%d ", a);

         a++;
     }

(定义循环变量 ; 循环条件;循环增量)
    for (int a = 1;a <= 5;a++) {
        printf("%d ", a);
    }

 //用for循环打印1-100之间所有的数
     ;
     ; i <= ; i++){
         printf("%d", i);
         printf("  ");
     }

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

      //用for循环打印1-100之间所有的偶数
     ; i <= ; i++) {
          == ) {
             printf("%d ", i);
         }
     }

     // 用for循环打印出1~100之间7的倍数。
     ; i <= ; i++) {
          == ) {
             printf("%4d", i);
         }
     }

      //用for循环打印出1~100之间个位为7的数。
     ; i<= ; i++) {
          == ) {
             printf("%4d", i);
         }
     }

     // 用for循环打印出1~100之间十位为7的数。
     ; i <= ; i++) {
          == ) {
             printf("%4d", i);
         }
     }

      //用for循环打印出1~100之间既不是7的倍数并且也不包含7的数。
     ; i <= ; i++) {
          !=  && i %  !=  && i /  != ) {
             printf("%-4d", i);
         }
     }

六、循环嵌套

 /*
        1 2 3 4
        1 2 3 4
        1 2 3 4
        */

        //控制行数
       ; i <= ; i++) {
           // 控制每一行要打印的内容
          ; j <= ; j++) {
              printf("%d ", j);
          }
          printf("\n");
      }
     /*
      1
      1 2
      1 2 3
      1 2 3 4
      1 2 3 4 5
      */

      //控制行数
     ; i <= ; i++) {
         // 每一行要打印的内容
         ; j <= i; j++) {
             printf("%d ", j);
         }
         printf("\n");
     }
     /*
      1 2 3 4 5
      1 2 3 4
      1 2 3
      1 2
      1
      */

      //控制行数
     ; i >= ; i--) {
         // 每一行要打印的内容
         ; j <= i; j++) {
             printf("%d ", j);
         }
         printf("\n");

     }
      //打印乘法口诀表
 2
 3      //控制行数
     ; i <= ; i++) {

         // 控制打印的方格
         ; j <= i; j++) {

             printf("%dx%d=%d ", j, i, j*i);
         }
         printf("\n");
     }
 //打印三个数字(0 - 9)的组合可能(组合成三位数)。
 2
 3      //控制百位数
     ; i <= ; i++) {

         // 控制十位数
         ; j <= ; j++) {

             // 控制个位数
             ; k <= ; k++) {

                 printf(+j*+k);
             }
         }
     }

总结:
     for循环通常用于知道循环次数的情况下使用(常用)
     while:不明确循环次数,知道循环结束的标识