循环结构 : 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. 在 Linux 中怎样将 MySQL 迁移到 MariaDB 上

    自从甲骨文收购 MySQL 后,由于甲骨文对 MySQL 的开发和维护更多倾向于闭门的立场,很多 MySQL 的开发者和用户放弃了 MySQL.在社区驱动下,促使更多人移到 MySQL 的另一个叫 M ...

  2. [Jquery]焦点图轮播效果

    $(function(){    var $next=$(".right");    var $prev=$(".left");    var $list_nu ...

  3. c++ 普通高精乘

    //第一次提交全错了,太过相信自己了. //给我教训是注意循环后变量的值,和pascal不一样. //就不贴错误代码了. //codevs3118 高精度练习之除法 #include<cstdi ...

  4. IT公司100题-15-求二元查找树的镜像

    问题描述: 输入一颗二元查找树,将该树转换为它的镜像树,即对每一个节点,互换左右子树.   例如输入:   6/    \4     12/ \   /   \2  5 8   16 输出:   6/ ...

  5. HDU 5313 bitset优化背包

    题目大意: 添加尽可能少的边,最后使图形成二分图 一开始将图区分成一个个联通分量,根据二分图染色,计算出每个联通分量的黑色点和白色点的个数 希望添加的边最少,那么合并的时候,希望黑白块尽可能平均,这无 ...

  6. Android 自动朗读(TTS)

    在Android应用中,有时候需要朗读一些文本内容,今天介绍一下Android系统自带的朗读TextToSpeech(TTS).自动朗读支持可以对指定文本内容进行朗读,还可以把文本对应的音频录制成音频 ...

  7. UIControlEvents 中各种event被触发的方式解释(zz)

    转自:http://blog.csdn.net/yanxiaoqing/article/details/7108891 在控件事件中,简单解释下下面几个事件.说明:由于是在“iOS 模拟器”中测试的, ...

  8. HYSBZ 1415 - 聪聪和可可(概率DP)

    http://vjudge.net/problem/viewProblem.action?id=20613 题意:不用说了,中文题. 这个题可以用概率DP来做. 题中要求猫抓到老鼠的时间期望.分析一下 ...

  9. 走进科学之WAF(Web Appllication Firewall)篇

    小编P.S:文章非常详尽对WAF领域进行了一次科普,能有让人快速了解当前WAF领域的相关背景及现状,推荐所有WAF领域的同学阅读本文. 1. 前言 当WEB应用越来越为丰富的同时,WEB 服务器以其强 ...

  10. 转载--Ubuntu设置环境变量

    Ubuntu设置环境变量并立即生效(以Ubuntu12.04为例) 标签: UbuntuLinux环境变量 2013-09-12 19:04 9961人阅读 评论(1) 收藏 举报  分类: Ubun ...