选择题   有以下程序
    #include<stdio.h>
    main()
    {int i;
    for(i=1;i<=40;i++)
    {if(i++%5==0)
    if(++i%8==0)printf('%d',i);
    }
    printf('\n');
    }
    执行后的输出结果是______。
 
【正确答案】 A
【答案解析】本题考查了自增运算符。自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算分量的值加1,但是它们的表达式的值不一样,前缀形式表达式的值为运算分量加1之后的值,而后缀形式表达式的值为运算分量加1之前的值。题目中使用了一个for循环,循环变量i从1递增到40。在循环体中有两条嵌套的if语句,首先判断i++%5==0,即判断i++的值(i加1之前的值)是否能被5整除(判断后i被加1),然后再判断++i的值(i加1之后的值)是否能被8整除(判断后i被加1),若两个条件都满足了,就输出i的值,只有i=30时,满足i++%5==0,此时i=31,++i%8==0成立,此时i=32。