循环结构 : while循环   do...while循环(几乎不用)      for循环(使用最多)

特点:在给定的条件成立时,反复执行某程序段,直到条件不成立为止。

给定的条件为循环条件,反复执行的程序段位循环体。

一、while循环

while(条件表达式){

  循环语句;

}

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{ int i = ;
while (i<) {
printf("hello,word!\n");
i++;
}
return ;
}
 #import <Foundation/Foundation.h>

 int main(int argc, const char * argv[])
{
//用while打印出1~100之间7的倍数。
// int i = 1,d;
// while (i<=100) {
// d = i%7;
// if (d == 0 ) {
// printf("%d\t",i);
// }
//
// i++;
// }
//用while打印出1~100之间个位为7的数
// int i = 1,d;
// while (i<=100) {
// d = i%10;
// if (d == 7 ) {
// printf("%d\t",i);
// }
//
// i++;
// }
//用while打印出1~100之间⼗十位为7的数
// int i = 1,d;
// while (i<=100) {
// d = i/10;
// if (d == 7 ) {
// printf("%d\t",i);
// }
//
// i++;
// }
//用while打印出1~100之间不是7的倍数并且 不包含7的数
int i = ,d,a,b;
while (i<=) {
d = i/;
a = i%;
b = i%;
if (d != &&a!= &&b!=) {
printf("%d\t",i);
} i++;
} return ;
}

随机数 arc4random()-----返回一个伪随机数

//得到0到30之间的数
printf("%d",arc4random()%31);

//得到10到40之间的数

printf("%d",arc4random()%31+10);

取(m,n)之间的随机数  printf("%d",arc4random()%(n-m+1)+m);

    // 用户从控制台输⼊入⼀一个n,⽤用while打印n个随机数, 范围为[30~70],找出n个随机数中的最⼤大值
#import <Foundation/Foundation.h> int main(int argc, const char * argv[])
{
int n,i,max=,b;
printf("输入一个数n:");
scanf("%d",&n);
while (i<n) {
b = arc4random()%+;
printf("%d ",b);
if (max < b) {
max = b;
}
i++; }
printf("\nmax=%d",max);
return ;
}

break    在switch语句中,break是跳出switch语句块,执行switch语句块下面的语句

在循环中,break主要作用是跳出本层循环,执行循环后面的语句,通常break语句总是与if语句联在一起

找bug:1.打断点2.看log日志

continue  语句一般会跳过某次循环的部分内容,继续下一次循环,不会结束循环。

 //#import <Foundation/Foundation.h>
//
//int main(int argc, const char * argv[])
//{
// int i=0;
//
// while (i<10) {
// printf("%d ",i);
//
// i++;
// if (i == 8) {
// break;
// }
//
// }
//
// return 0;
//}//输出0 1 2 3 4 5 6 7
#import <Foundation/Foundation.h> int main(int argc, const char * argv[])
{
int i=;
while (i<) {
if (i>&&i<=) {
i++;
continue;
}
printf("%d ",i);
i++;
}
// while (i<10) {
// if (i == 0||i == 9)
// printf("%d ",i);
// i++;
// } return ;
}//输出0 9

二、do...while

do{

循环语句;

}while(条件表达式);

执行循环时,先执行循环体,在判断循环条件,直到条件不满足的时候,循环结束。

至少循环一次。

三、for循环

for(循环变量初始化;循环条件;循环增量){

  语句(循环体);

}

循环条件为真的时候,执行循环体。通常给循环变量加条件来控制循环的结束。

 #import <Foundation/Foundation.h>

 int main(int argc, const char * argv[])
{ for (int i=; i<; i++) {
if (i/!=&&i%!=&&i%!=) {
printf("%d ",i);
}else printf("过 "); } return ;
}//逢7过
 //输出三排随机数10-30,每排三个数
/*
#import <Foundation/Foundation.h> int main(int argc, const char * argv[])
{ for (int i = 1; i<4; i++) {
for (int j=0; j<3; j++) {
printf("%d ",arc4random()%21+10);
}
printf("\n");
} return 0;
}*/
//输出三排随机数,第一排一个数,第二排两个数,第三排三个数,随机数范围10-30
#import <Foundation/Foundation.h> int main(int argc, const char * argv[])
{ for (int i = ; i<; i++) {
for (int j=; j<=i; j++) {
printf("%d ",arc4random()%+);
}
printf("\n");
} return ;
}
//输出乘法口诀表
/*
#import <Foundation/Foundation.h> int main(int argc, const char * argv[])
{ for (int i = 1; i<=9; i++) {
for (int j=1; j<=i; j++) {
printf("%d*%d=%d\t",i,j,i*j); }
printf("\n");
} return 0;
}*/
//打印三个数字(0-9)的组合可能(组合成三位数)
#import <Foundation/Foundation.h> int main(int argc, const char * argv[])
{ for (int i = ; i<=; i++) {
for (int j=; j<=; j++) {
for (int k =; k<=; k++) {
printf("%d%d%d ",k,i,j);
} } } return ;
}

总结:

循环是程序开发最重要的组成部分,充分理解循环的执行过程是学好以后课程的保障

for循环最常⽤用,通常⽤用于循环次数已知的情形

while循环也很常⽤用,通常⽤用于不知道循环次数的情形

do...while不是特别常⽤用,通常⽤用于需要先执⾏行⼀一次的情形

三种循环⼀一般都能相互转化

iOS学习笔记---C语言第三天的更多相关文章

  1. iOS学习笔记---oc语言第三天

    继承.初始化方法 一.继承 继承的上层:父类  继承的下层:子类 继承是单向的,不能相互继承 继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为 子类能继承父类全部的特征和行为(私有变量 ...

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

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

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

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

  4. iOS学习笔记---oc语言第一天

    第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++  java   ...

  5. iOS学习笔记---oc语言第五天

    字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key- ...

  6. iOS学习笔记---oc语言第四天

    字符串 数组 一.使用苹果帮助文档 学会使⽤用苹果帮助⽂文档是开发者的⼀一项技能 Inherits from 继承⾃自 Conforms to 遵循什么协议 Framework 属于哪个框架 Avai ...

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

    指针 首先将变量a的地址存放在另一个变量中,比如存放在变量b中,然后通过变量b来间接引用变量a,间接读写变量a的值.用来存放变量地址的变量,就称为"指针变量" int *p=nul ...

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

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

  9. iOS学习笔记30-系统服务(三)蓝牙

    一.蓝牙 随着蓝牙低功耗技术BLE(Bluetooth Low Energy)的发展,蓝牙技术正在一步步成熟,现在的大部分移动设备都配备有蓝牙4.0,相比之前的蓝牙技术耗电量大大减少. 在iOS中进行 ...

随机推荐

  1. 小记:获取系统时间的long值,格式化成可读时间。

    /** * 返回的字符串形式是形如:2013年10月20日 20:58 * */ public static String formatTimeInMillis(long timeInMillis) ...

  2. mac下安装apache+php+mysql

    运行“sudo apachectl start”,再输入帐号密码,这样Apache就运行了. 运行“sudo apachectl -v”,你会看到Mac OS X 10.6.3中的Apache版本号: ...

  3. CSS 垂直居中。

    1,display: table; display: table-cell <div style="border:solid red 1px ;height:200px;width:2 ...

  4. [转载]Android View.onMeasure方法的理解

    2013-12-18 10:56:28 转载自http://blog.sina.com.cn/s/blog_61fbf8d10100zzoy.html View在屏幕上显示出来要先经过measure( ...

  5. 简单探索ContentProviderOperation

    前面一片文章中用到了ContentProviderOperation,那么我们就来看看ContentProviderOperation到底是怎么工作的. 1. ContentProviderOpera ...

  6. 最大子段和-Program A

    最大子段和 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description G ...

  7. Android google map 两点之间的距离

    在Android google map中,有时候会碰到计算两地的距离,下面的辅助类就可以帮助你计算距离: public class DistanceHelper { /** Names for the ...

  8. SharePoint 2013 重复的管理账户错误:已添加项。字典中的关键字 所添加的关键字

    博客地址:http://blog.csdn.net/FoxDave 今天在管理中心创建新的Web应用程序时,想注册一个新的管理账户,一着急点了两次按钮,结果就出现了这样的错误...怎么说呢,太奇葩 ...

  9. ARC以及MRC中setter方法

    ARC以及MRC中setter方法的差异 有时候,你会需要重写setter或者getter方法,你知道么,ARC与MRC的setter方法是有着差异的呢. 先看下MRC下的setter方法: 在看下A ...

  10. <button>使用注意问题

    最近在项目的上传功能下(IE8)发现了如下的错误: 2015-08-13 09:14:03,396 WARN   [WARN] [http-8080-5] : Handler execution re ...