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!\n");

        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\t",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\t",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\t",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\t",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("\nmax=%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("\n");

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("\n");

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\t",i,j,i*j);

42             

43         }

44         printf("\n");

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不是特别常⽤用,通常⽤用于需要先执⾏行⼀一次的情形

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

 

你可能感兴趣的:(学习笔记)