C primer plus 6.5 for循环

for语句:

        形式:

        for (initialize;test;update)

        statement

在test为0之前重复执行statement。

for语句使用3个表达式控制循环过程,分别用分号隔开。

        第一个表达式是初始化,只会在循环开始前执行一次

        第二个表达式时测试条件,在执行循环之前对表达式求值。如果表达式为假,循环结束,反之,进行循环

        第三个表达式执行更新,在每次循环结束时求值。

利用for的灵活性:

        for的灵活性取决于如何使用for循环中的三个表达式。

1、可以使用递减运算符来递减计数器
#include<stdio.h>
int main(void)
{
    int secs;

    for(secs = 5 ; secs > 0; secs--)
        printf("%d seconds!\n",sces);
    printf("We have ignition!\n");
    return 0;
}
2可以让计数器递增2、10等数     
​
#include<stdio.h>
int main(void)
{
    int n;

    for(n = 2; n < 60; n = n + 13)
        printf("%d \n",n);
    
    return 0;
}

​
3可以用字符代替数字计数
​
#include<stdio.h>
int main(void)
{
    char ch;

    for(ch = 'a' ; ch <= 'z'; ch++)
       printf("The ASCTII value for %c is %d.\n",ch,ch);
   
    return 0;
}

​
4、第三个表达式可以使用任意合法的表达式。
​
​
#include<stdio.h>
int main(void)
{
    int x;
    int y;

    for(x =1; y < 60; y = ((++x*5)+ 13)
        printf("10%d  %10d\n",x,y);
    
    return 0;
}

​

​
5、可以省略一个或多个表达式
​
​
#include<stdio.h>
int main(void)
{
    int ans,n;
    ans = 2;

    for(n = 3; ans <= 25; )
        ans = ans * n
    printf("n = %d; ans = %d.\n",n,ans);

    
     return 0;
}

​

​

该循环保持n的值为3.变量ans开始的值为2,然后递增到6和18,最后时54.如果省略第二个表达式,此循环会被一直运行。

6、第一个表达式不一定是给变量赋初值,也可以使用printf()。记住,在执行循环的其他条件之前,只对第一个表达式求职一次或执行一次
​
​
#include<stdio.h>
int main(void)
{
    int num = 0;

    for(printf("Keep entering numbers!\n");num != 6;)
        scanf("%d",&num);
    printf("That's the one I want",num);
    
    return 0;
}

​

​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值