1、while循环

  while (循环条件) {

        循环体;

  }

1         // 1.定义循环变量
2 int time = 1;
3 // 2.循环条件
4 while (time <= 3) {
5 // 3.循环体
6 printf("%d\n",time);
7 // 4.循环增量
8 time++;
9 }

  练习:打印1-100之间所有的数

1         int number = 1;
2 while (number <= 100) {
3 printf("%-4d", number);
4 number++;
5 }

2、do...while循环

do {

        循环体

    } while (循环条件);

1         int a = 1;
2 do {
3 a++;
4 } while (a > 10);
5 printf("a = %d\n", a);

3、for循环

  for(定义循环变量 ; 循环条件;循环增量){...}

  练习:用for循环打印出1~100之间既不是7的倍数并且也不包含7的数。

1         for (int i = 1; i <= 100; i++) {
2 if (i % 7 != 0 && i % 10 != 7 && i / 10 != 7) {
3 printf("%-4d", i);
4 }
5 }

4、循环嵌套

  打印:

  1

  1 2

  1 2 3

  1 2 3 4

  1 2 3 4 5

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

  打印乘法口诀表

1     for (int i = 1; i <= 9; i++) {
2 // 控制打印的方格
3 for (int j = 1; j <= i; j++) {
4 printf("%dx%d=%d ", j, i, j*i);
5 }
6 printf("\n");
7 }

5、for循环和while的区别

   for:循环通常用于知道循环次数的情况下使用(常用)

     while:不明确循环次数,知道循环结束的标识

6、break,continue

  break:在switch...case中,结束当前的case分支

    在循环中,遇到break,break后面的语句不再执行并结束整个循环

  continue:在循环中遇到continue,后面的语句不再执行并结束本次循环

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

 1     int a = 0;
2 while (a < 20) {
3 a++;
4 if (a == 7) {
5 continue;
6 }
7 if (a == 17) {
8 break;
9 }
10 printf("%d ", a);
11 }

7、随机数

  arc4random()

  原理: 余数 < 除数

  取对应区间随机数公式

    [0, n] arc4random() % (n + 1)

    [a, b] arc4random() % (b - a + 1)+a

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

 1     int number = 1;
2 int max = 0;
3 int min = 30;
4 while (number <= 10) {
5 // 打印随机数(范围为10~30)
6 int random = arc4random() % 21 + 10;
7 printf("%4d", random);
8 if (max < random) {
9 max = random;
10 }
11 if (min > random) {
12 min = random;
13 }
14
15 number++;
16 }
17 printf("max = %d\n", max);
18 printf("min = %d\n", min);

iOS开发-简单的循环结构分析的更多相关文章

  1. iOS开发系列--无限循环的图片浏览器

    --UIKit之UIScrollView 概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件 ...

  2. iOS开发简单介绍

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的iOS程序.但是这里我想强调一下,前面的 ...

  3. iOS开发-简单工厂模式

    设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.概念很长,iOS开发中最常 ...

  4. iOS开发简单高效的数据存储

    在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题,你是用什么方法来持久保存数据的?这是在几乎每一次关于iOS技术的交流或讨论都会被提到的问题,而且大家对这个问题的热情持续高涨.本文主要从概 ...

  5. iOS开发-简单的图片查看器

    现在你只要拿着手机,不管你Android还是iOS,新闻类的App不可避免都有一个功能就是图片查看,做个专题,查看一下内容,App Store中也有专门针对图片浏览的App,鉴于目前所知有限,无法做到 ...

  6. iOS开发 简单实现视频音频的边下边播 (转)

      1.ios视频音频边缓存边播放,缓存时可以在已下载的部分拖拽进度条. 3.无论是下载到一半退出还是下载完退出,已缓存的数据都存到自己指定的一个路径.如果已下载完,下次播放时可以不再走网络,直接播放 ...

  7. iOS开发-简单解析JSON数据

    什么是JSON   JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组   {“nam ...

  8. iOS开发-简单抽奖

    路过商场,看过抽奖感觉挺有意思的,商场进行抽奖活动,三个奖项,一等奖的概率1/10,二等奖的概率的3/10,三等奖的概率是6/10,具体奖品我没仔细看,回来随便练手了一下,思考了一下,奖品分为10份, ...

  9. 转载:iOS开发之让你的应用“动”起来

    在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画.动画 ...

随机推荐

  1. 【BZOJ3238】差异(后缀自动机)

    [BZOJ3238]差异(后缀自动机) 题面 BZOJ 题解 前面的东西直接暴力算就行了 其实没必要算的正正好 为了方便的后面的计算 我们不考虑\(i,j\)的顺序问题 也就是先求出\(\sum_{i ...

  2. 【BZOJ3527】力(FFT)

    [BZOJ3527]力(FFT) 题面 Description 给出n个数qi,给出Fj的定义如下: \[Fj=\sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{ ...

  3. 1.1 java语言有什么优点

    1.java是一种纯面向对象的语言.(更易理解和学习) 2.平台无关性.(java是一种解释性的语言,编译器会把java语言变成中间代码,然后在JVM上运行,可移植性) 3.java提供了很多内置的库 ...

  4. C#中DateTime的缺陷与代替品DateTimeOffset

    C#中的DateTime在逻辑上有个非常严重的缺陷: > var d = DateTime.Now; > var d2 = d.ToUniversalTime(); > d == d ...

  5. redis3.0.7集群部署手册

    1.用root登录主机2.将redis-3.0.7.tar.gz传送到主机3.将rubygems-update-2.5.2.gem,redis-3.0.0.gem传送到主机4.解压redis-3.0. ...

  6. asp.net core 发布centos 7 遇到的坑

    只是简单记录 .net core 在linux 的安装部署步骤,大神可以忽略 虚拟机:VMware Workstation Pro Linux 版本:http://mirrors.aliyun.com ...

  7. 利用CVE-2017-11882拿到持久性shell

    利用CVE-2017-11882拿到持久性shell 近日微软又爆出一个严重漏洞,利用该漏洞可以直接拿到目标机shell.这么好玩的东西怎么能错过了,于是搭建环境复现了一把. 首先去GitHub上下载 ...

  8. Linux设备驱动故障定位指引与实例

    Linux设备驱动故障定位指引 Linux设备驱动种类繁多,涉及的知识点多,想写一个通用的故障定位方法指引,是个难度颇大且不容易做好的工作.限于笔者的经验,难以避免存在疏漏之处,欢迎大家留言指正补充. ...

  9. 在js中实现新窗口打开页面

    我们都知道可以在html代码中使用<a href="xxxx" target="_blank"></a>这种方式来打开一个新的窗口打开一 ...

  10. 前端touch事件方向的判断

    移动端touch事件判断滑屏手势的方向 方法一 当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和纵坐标startY: 当触发touchmove事件时,在获取此时手指的横坐标 ...