一、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:不明确循环次数,知道循环结束的标识

iOS学习之C语言循环结构的更多相关文章

  1. iOS学习之C语言分支结构

    一.BOOL类型 返回值:真:YES   假:NO 定义一个布尔类型的变量 YES == 1, NO == 0 计算机在识别时,YES就替换成1,NO就替换成0 BOOL isGirl = YES; ...

  2. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  3. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

  4. Bash脚本编程学习笔记07:循环结构体

    本篇中涉及到算术运算,使用了$[]这种我未在官方手册中见到的用法,但是确实可用的,在此前的博文<Bash脚本编程学习笔记03:算术运算>中我有说明不要使用,不过自己忘记了.大家还是尽量使用 ...

  5. C语言------循环结构II

    仅供借鉴.仅供借鉴.仅供借鉴(整理了一下大一C语言每个章节的练习题.没得题目.只有程序了) 文章目录 1 .实训名称 2 .实训目的及要求 3 .源代码及运行截图 4 .小结 1 .实训名称 实训6: ...

  6. C语言-循环结构及break、continue

    循环结构 --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关 ...

  7. iOS学习笔记---c语言第二天

    一.bool布尔类型    c语言没有bool类型,oc里有bool类型 是一种非真即假的数据类型,布尔类型的变量只有yes和no两个值.yes表示表达式是真,no表示表达式是假. 在c语言中认为非0 ...

  8. Objective-C 学习笔记(一) 语言程序结构

    Objective-C语言程序结构 “Hello World”简单示例 #import <Foundation/Foundation.h> //预处理命令,它告诉Objective-C语言 ...

  9. iOS学习笔记---C语言第三天

    循环结构 : while循环   do...while循环(几乎不用)     for循环(使用最多) 特点:在给定的条件成立时,反复执行某程序段,直到条件不成立为止. 给定的条件为循环条件,反复执行 ...

随机推荐

  1. 洛谷P2729 饲料调配 Feed Ratios

    P2729 饲料调配 Feed Ratios 36通过 103提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目背景 农夫约翰从来只用调 ...

  2. Mac OS X Server 安装与应用

    Mac OS X Server 安装与应用 Mac OS X Server是苹果电脑公司新一代服务器软件.专为OS X和iOS设备.Mac OS X提供服务,现在支持Mavericks,能够轻松共享文 ...

  3. badge ionic tab

    我需要在tab上动态显示 badge badge="badges.carts" badge-style="badge-assertive" 将这段代码 放在了 ...

  4. 使用throws抛出异常

    声明抛出异常实在一个方法声明的throws子句中指明的.throws子句方法的基本形式如下.方法 throws 异常列表{ }throws子句中可以指明多个异常,说明该方法不对这些异常进行处理,而是抛 ...

  5. grep使用

    grep常用的使用方法 grep –rns “match_content”filename 查看匹配内容的行 find /path –name “*.h” –o –name “*.cpp” | xar ...

  6. 解决Linq第一次调用存储过程时速度慢的问题

    最近做项目,发现linq调用存储过程,第一次时会速度慢,但之后速度都很快,过一阵子又会慢一下,以实际的操作为例子: using (FruitDbDataContext dbo = new FruitD ...

  7. asp.net ashx 一般处理程序 使用async await异步直接 copy可用哦

    以前一直很懒  碰到ashx要用await异步就绕开  用aspx  或者mvc异步控制器  这次公司需要  我查了国内的文章基本都不能简单copy来处理一堆错关键的过程中函数BeginProcess ...

  8. 二级路由器设置为何要关闭DHCP服务

    因为如果不关闭dhcp的话会和一级路由相冲突,你这个因该是lan口的连接法吧,如果不然的话是不需要关闭dhcp功能的路由器和路由器的连接方法有两种,一种是wan口连,一种是lan口连方法1:WAN口连 ...

  9. Android IOS WebRTC 音视频开发总结(三六)-- easyRTC介绍

    本文主要介绍easyRTC,文章来自博客园RTC.Blacker,支持原创,转载请说明出处. 先看看人家官网的介绍,然后再来解释,这样您可能更容易理解: 以下部分内容属个人看法,如有异议,欢迎探讨: ...

  10. 设计模式-代理模式(Proxy)

    应用场景: 领导都有秘书,一般会代理领导的部分职能角色,处理签字.报销.开会等任务.很多新人可能都只知道秘书的存在,毕竟每天与其打交道,不知道领导的存在.但是领导的的确确是真实存在的. 场景说明: 代 ...