while、for循环

  1. while
    学习while过程中,看到c primer plus最后介绍到:

    当你需要写一个计数while循环时需要具备3个要素:
    1.必须初始化一个计数器;
    2.必须计数器去和一个固定值作比较;
    3.每次执行循环,计数器的值必须递增;

    FEP:

    int num = 10;
    int i = 0;
    while(i < num)
    {
    	···xxx···;
    	i++;
    }
    

    其实这里的三要素,正是for循环所要具备的三要素:初始化、测试、更新;
    想象一下你是怎么写一个for循环的:

    int i = 0;
    for(i = 0; i < 10; i++)
    {
    	```xxx```;
    }
    

    是不是跟while一样呢?所以当你在写while时遇到这种条件的话就可以把它改写成for循环了,这样看起来可能会整洁一些,逻辑有清晰一些。

  2. 对于for来说,要切记,第一个参数不一定非要初始化变量i=0,同样也可以是某种类型的printf语句。它的特点就是只在执行循环的其他部分之前被求值或执行***一次***

    #include <stdio.h>
        
    int main()
    {    
       int num = 0;
        
       for(printf("keep entering num:\n"); num != 6;)
           scanf("%d", &num);
       printf("that is what i want!\n");
        
       return 0;
    }    
    
    

    或第一个参数甚至可以是宏:

     ```
     #include <stdio.h>
        
     #define FUN(a) a == 10 ? 1 : 0
        
     int main()
     {    
     int a = 9;
        for(FUN(a); a != 10;)
            scanf("%d", &a);
        printf("a = %d\n", a);                          
         
         
        return 0;
     }
    
  3. 关于何时使用for和while
    当循环涉及到变量初始化或者是迭代更新变量的值、涉及索引计数时使用for循环更为合适。在其他条件下用while循环更为格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值