C 入门 第三节


//    程序循环结构: 当复合某个条件时,重要执行某段代码.
//    循环控制语句: for while do...while
//    循环作用: 减少重复冗余代码,增加代码可读性,易于维护.
//
#pragma mark ----------while-------------
/*    
    while 当:条件表达式为真或者假
    while (条件表达式)
    {
        语句;
    }

    int a = 0;
    while (a < 10)
    {
        printf("我帅呆了 ");
        a++;    //循环增量;
        
    }
 
    int a = 10;
    while (a <= 50)
    {
        printf("%d ",a);
        a++;
    }
    
*/
/*  // 用while打印出1~100之间7的倍数
 
    int a = 1;
    while (a < 100)
    {
        if (a % 7 == 0)
        {
            printf("%d ",a);
        }
        a++;
    }
 
    //用while打印出1~100之间个位为7的数。

    int a = 1;
    while (a <= 100)
    {
        if (a % 10 ==7)
        {
            printf("%d ",a);
        }
        a++;
    }
    //用while打印出1~100之间⼗十位为7的数
    int a = 1;
    while (a <= 100)
    {
        if (a / 10 ==7)
        {
            printf("%d ",a);
        }
        a++;
    }

    //用while打印出1~100之间不是7的倍数并且不包含7的数。
    int a = 1;
    while (a <= 100)
    {
        if (a % 10 !=7)
        {
            if (a / 10 != 7)
            {
                if (a % 7 != 0 )
                {
                    printf("%d ",a);
                }
            }
        }
        a++;
    }
*/
    
#pragma mark --------随机数--------
/*    1 . arcdrandom() 返回一个随机数
    2 . 获取某个范围的随机数
    (1) 获取[a,b]范围内的随机数即[0,b-a]
    arc4random()%(b - a + 1) + a;

    //⽤用户从控制台输⼊入⼀一个n,⽤用while打印n个随机数(范围为10~30)
    
    int n ;
    int a = 1;
    scanf("%d",&n);
    while (a <= n)
    {
        printf("%d ",arc4random()%(30 - 10 + 1) + 10);
        a++;
    }
 
    //用户从控制台输⼊入⼀一个n,⽤用while打印n个随机数(范围为30~70), 找出n个随机数中的最⼤大值
    int n ;
    int a = 1;
    int c , b , w = 0;
    printf("输入n个数 ");
    scanf("%d",&n);
    while (a <= n)
    {
        c = arc4random()%(70 - 30 + 1) + 30;
        printf("%d ",c);
        a++;
        b = c;
        w = w > b ? w : b;
    }
    printf(" %d ",w);
    
*/
      
#pragma mark ------------break和continue------------
/*
    break:提前结束循环
    1 . switch语句中,结束case,跳出switch语句
    2 . 在循环中,跳出本层次循环,break之后的代码部再执行
    3 . break只能用于循环和switch语句中,不能单独使用
    
    continue: 提前结束本轮循环
    1 . 在循环中,跳出本轮循环
    2 . continue之后的代码不再执行,直接进入下一次循环
 
*/
    //打印1~50直接的数字,里面部包含7的倍数
    
#pragma mark ------for-------
/*
    for (循环变量初始化;循环条件;循环增量)
    {
        语句
    }
 
    for (int i=1; i <= 50; i++)
    {
        printf("%d ",i);
    }
    printf(" ");

    //实现乘法⼝口诀表
    for (int i = 1; i <= 9; i++)  //控制列
    {
        for (int z = 1; z <= i; z++) //控制行
        {
            printf("%d ",z);
            printf("* %d",i);
            printf(" = ");
            printf("%d  ",z * i);     
        }
        printf(" ");
    }
    printf(" ");

    for (int i = 0; i < 4; i++)
    {
        for (int k = 4; k >= i; k--)
        {
            printf(" ");
        }
        for (int j = 0; j <= i; j++)
        {
            printf(" *");
        }
        printf(" ");
    }
    for (int a = 5; a > 0; a--)
    {
        for (int b = 5; b >= a; b--)
        {
            printf(" ");
        }
        for (int c = 0; c < a; c++)
        {
            printf(" *");
        }
        printf(" ");
    }
    
 */
    //打印三个数字(0 - 9)的组合可能(组合成三位数)。
    
    //scanf("%d%d%d",&a,&b,&c);
/*
    int i ;
    for (i = 0; i <=999; i++)
    {
        printf("%03d ",i);
    }
    
    //或者
    
    
    for (int i = 0; i <= 9; i++)
    {
        for (int j = 0; j <= 9; j++)
        {
            for (int z = 0; z <= 9; z++)
            {
                printf("%d",i);
                printf("%d",j);
                printf("%d ",z);
            }
        }
    }
*/
#pragma mark  -----for循环和while循环的区别  
    int i = 0;
    for (; i < 5; )
    {
        printf("小金刚 ");
        i++;
    }
    printf(" ");
    int j = 0;
    while (j < 5)
    {
        printf("小金刚 ");
        j++;
    }
    printf(" ");

原文地址:https://www.cnblogs.com/wangshuai-1129/p/5079055.html