C_Language_04

 C_Language_04
    
循环结构:
    程序中的循环结构:当符合某个条件时,重复执行某段代码。
    循环结构语句:for while do...while
    循环作用:减少重复冗余代码,增加代码可读性,易于维护。
while:
        while 当:条件表达式为真或假
        while (条件表达式) {
            语句;
        }
示例:
        int a = 1;
        while (a <= 10) {
            printf("hello world!\n");
            a++;    //循环增量
        }
练习:
        打印100以内7的整数倍
        int i = 1;
        while (i <= 100) {
            if (i%7 == 0) {
                printf("%d\n",i);
            }
            i++;
        }
练习:
        打印100以内个位为7的数
        int i = 1;
        while (i<= 100) {
            if (i%10 == 7) {
                printf("%d ",i);
            }
            i++;
        }
        printf("\n");
    
随机数:
        1.arc4random()返回一个随机数
        2.获取某个范围的随机数
       (1)获取[0,b]范围内的随机数
            arc4random()%(b-0+1)+0,余数<除数
         (2)获取[a,b]范围内的随机数,即[a,b-a]范围内
            arc4random()%(b-a+1)+a
综合示例:
    //     从控制台接受一个数
        int n = 0;
        printf("请输入一个数:");
        scanf("%d",&n);
    //    循环产生随机
        int count = 0;
        printf("范围为10~30的%d个随机数为:",n);
        while (count < n) {
            int num = arc4random()%(30-10+1)+10;
            printf("%d ",num);
            count++;
        }
        printf("\n");
综合示例:
        int n = 0,i = 0,s = 0,max = 1;
        printf("请输入一个数:");
        scanf("%d",&n);//    从控制台接受一个数
        printf("范围为70~30的%d个随机数:",n);
        while (i < n) {//循环产生随机数并赋予s
            s = arc4random()%(70-30+1)+30;
            //打印随机数
            printf("%d ",s);
            max = s < max ? max : s;//判断,把较大的数赋予max
            i++;//计数器自加
        }
        printf("\n");
        //打印最大值
        printf("%d个随机数中最大的为:%d\n",n,max);
do...while:
        do {
            语句
        } while (条件表达式);
        1.先执行一次语句,再判断
        int a = 5;
        do {
            printf("巴拉巴拉噗\n");
        } while (a < 5);
break和continue:
        break:提前结束循环
        1.switch语句中,结束case,跳出switch语句
        2.在循环中,跳出本层循环,break之后的代码不再执行
        3.break只能用于循环和switch语句中,不能单独使用
        continue:提前结束本轮循环
        1.在循环中,跳出本轮循环
        2.continue之后的代码不再执行,直接进入下一次循环
示例:
        打印1~50之间的数,里面不包含7的倍数
        int a = 1;
        while (a <= 50) {
            if (a % 7 == 0 ) {
                a++;
                //break;
                continue;
            }
            printf("%d ",a);
            a++;
        }
        printf("\n");
for:
        for (循环变量初始化; 循环条件; 循环增量) {
            语句
        }
示例:
        打印图形
        * * * * *
        * * * * *
        * * * * *
        * * * * *
        * * * * *
        for (int i = 0; i < 5; i++) {
            printf("* * * * *\n");
        }
示例:
        打印1~50的所有的数
        for (int i = 1; i <= 50; i++) {
            printf("%d ",i);
        }
    
        打印1~100的和
        int sum = 0;
        for (int x = 1; x <=100; x++) {
            sum = sum + x;
        }
        printf("%d\n",sum);
示例:
        打印图形
        *
        * *
        * * *
        * * * *
        * * * * *
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j <= i; j++) {
                printf("* ");
            }
            printf("\n");
        }
示例:
        打印图形
        * * * * *
        * * * *
        * * *
        * *
        *
        for (int i = 0; i < 5; i++) {
    //        for (int j = 0; j < 5-i; j++) {
            for (int j = 5; j > i; j--) {
                printf("* ");
            }
            printf("\n");
        }
示例:
        打印图形
            *
           * *
          * * *
         * * * *
        * * * * *
         * * * *
          * * *
           * *
            *
        for (int i = 0; i < 4; i++) {
            for (int j = 4; j >= i; j--) {
                printf(" ");
            }
            for (int j = 0; j <= i; j++) {
                printf(" *");
            }
            printf("\n");
        }
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j <= i; j++) {
                printf(" ");
            }
            for (int j = 5; j > i; j--) {
                printf(" *");
            }
            printf("\n");
        }
for循环和while循环的区别:
        while循环可以用于不知道循环次数的循环,除此之外,与for循环除了格式,没有其他的区别
        int i = 0;
        for (; i < 5;) {
            printf("x ");
            i++;
        }printf("\n");
        
        int j = 0;
        while (j <5) {
            printf("x ");
            j++;
        }
        printf("\n");

posted @ 2015-11-24 23:01  DH_Fantasy  阅读(139)  评论(0)    收藏  举报