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

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

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

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

一、while循环

while(条件表达式){

  循环语句;

}

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    int i = 0;
    while (i<10) {
        printf("hello,word!
");
        i++;
    }
    return 0;
}
 1 #import <Foundation/Foundation.h>
 2 
 3 int main(int argc, const char * argv[])
 4 {
 5 //用while打印出1~100之间7的倍数。
 6 //    int i = 1,d;
 7 //    while (i<=100) {
 8 //        d = i%7;
 9 //        if (d == 0 ) {
10 //            printf("%d	",i);
11 //        }
12 //        
13 //        i++;
14 //    }
15 //用while打印出1~100之间个位为7的数
16 //    int i = 1,d;
17 //    while (i<=100) {
18 //        d = i%10;
19 //        if (d == 7 ) {
20 //            printf("%d	",i);
21 //        }
22 //
23 //        i++;
24 //    }
25     //用while打印出1~100之间⼗十位为7的数
26 //    int i = 1,d;
27 //    while (i<=100) {
28 //        d = i/10;
29 //        if (d == 7 ) {
30 //            printf("%d	",i);
31 //        }
32 //        
33 //        i++;
34 //    }
35     //用while打印出1~100之间不是7的倍数并且 不包含7的数
36     int i = 1,d,a,b;
37     while (i<=100) {
38         d = i/10;
39         a = i%7;
40         b = i%10;
41         if (d != 7 &&a!=0 &&b!=7) {
42             printf("%d	",i);
43         }
44         
45         i++;
46     }
47 
48     return 0;
49 }

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

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

//得到1040之间的数

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

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

 1    // 用户从控制台输⼊入⼀一个n,⽤用while打印n个随机数, 范围为[30~70],找出n个随机数中的最⼤大值
 2 #import <Foundation/Foundation.h>
 3 
 4 int main(int argc, const char * argv[])
 5 {
 6     int n,i,max=0,b;
 7     printf("输入一个数n:");
 8     scanf("%d",&n);
 9     while (i<n) {
10         b = arc4random()%41+30;
11         printf("%d ",b);
12         if (max < b) {
13             max = b;
14         }
15         i++;
16         
17         
18     }
19     printf("
max=%d",max);
20     return 0;
21 }

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

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

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

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

 1 //#import <Foundation/Foundation.h>
 2 //
 3 //int main(int argc, const char * argv[])
 4 //{
 5 //    int i=0;
 6 //    
 7 //    while (i<10) {
 8 //        printf("%d ",i);
 9 //        
10 //        i++;
11 //        if (i == 8) {
12 //            break;
13 //        }
14 //        
15 //    }
16 //    
17 //    return 0;
18 //}//输出0 1 2 3 4 5 6 7
19 #import <Foundation/Foundation.h>
20 
21 int main(int argc, const char * argv[])
22 {
23     int i=0;
24     while (i<10) {
25         if (i>0&&i<=8) {
26             i++;
27             continue;
28         }
29         printf("%d ",i);
30         i++;
31     }
32 //    while (i<10) {
33 //        if (i == 0||i == 9)
34 //            printf("%d ",i);
35 //        i++;
36 //    }
37     
38     return 0;
39 }//输出0 9

 二、do...while

do{

循环语句;

}while(条件表达式);

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

至少循环一次。

三、for循环

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

  语句(循环体);

}

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

 1 #import <Foundation/Foundation.h>
 2 
 3 int main(int argc, const char * argv[])
 4 {
 5     
 6     for (int i=1; i<100; i++) {
 7         if (i/10!=7&&i%7!=0&&i%10!=7) {
 8             printf("%d ",i);
 9         }else printf("");
10         
11     }
12     
13     return 0;
14 }//逢7过
 1 //输出三排随机数10-30,每排三个数
 2 /*
 3  #import <Foundation/Foundation.h>
 4 
 5 int main(int argc, const char * argv[])
 6 {
 7     
 8     for (int i = 1; i<4; i++) {
 9         for (int j=0; j<3; j++) {
10             printf("%d ",arc4random()%21+10);
11         }
12         printf("
");
13     }
14     
15     return 0;
16 }*/
17 //输出三排随机数,第一排一个数,第二排两个数,第三排三个数,随机数范围10-30
18 #import <Foundation/Foundation.h>
19 
20 int main(int argc, const char * argv[])
21 {
22     
23     for (int i = 0; i<3; i++) {
24         for (int j=0; j<=i; j++) {
25                 printf("%d ",arc4random()%21+10);
26         }
27         printf("
");
28     }
29     
30     return 0;
31 }
32 //输出乘法口诀表
33 /*
34 #import <Foundation/Foundation.h>
35 
36 int main(int argc, const char * argv[])
37 {
38     
39     for (int i = 1; i<=9; i++) {
40         for (int j=1; j<=i; j++) {
41             printf("%d*%d=%d	",i,j,i*j);
42             
43         }
44         printf("
");
45     }
46     
47     return 0;
48 }*/
//打印三个数字(0-9)的组合可能(组合成三位数)
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    
    for (int i = 0; i<=9; i++) {
        for (int j=0; j<=9; j++) {
            for (int k =1; k<=9; k++) {
                printf("%d%d%d ",k,i,j);
            }
            
        }
       
    }
    
    return 0;
}

总结:

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

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

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

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

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

原文地址:https://www.cnblogs.com/limicheng/p/3779249.html