看来没有人回答就我来了。
#include
void main()
{
int i = 11,m=3,r;
for(r=11;i;i >>= 1)//第一个;号之前我想应该能看懂。第二个是
//要大于0的意思。没有写判断语句。意思是要大于0就执行。第三个是i>>=1的
//意思是i/2的意思。
{
printf("i = %d\n",i);//看这条语句的值应该很清楚
printf("r = %d\n",r);
if(i&1)//i是奇数的时候是true
r *= m;
m*= m;
}
printf("i = %d\n",i);//能看出来i每次是0的时候for语句结束了。
printf("%d",r);
}
for循环是用来控制语句的重复执行次数的一个关键字。
具体用法可以用下面的例子来说明:
int i,a=0;
for(i=0; i<5; i++) // for循环就控制程序对于语句a++执行5数,执行一次i的值就加1(由for循环中i++控制,i的初始值由i=0控制)
{
a++;
}
// 程序执行完后i=5, a=5
for语句的基本形式是
for(语句A;语句B;语句C)
语句A是for语句在执行第一次循环之前所执行的语句,之后就不再执行了
语句B是for语句在执行每一次循环前执行的语句
,如果该语句的值为假(也就是0),则for语句结束
语句C是for语句在每一次循环结束前执行的语句
注意语句A与B,B与C之间是用分号隔开,C语句后面没有分号
for(初始值;判断条件;值改变)
初始值r循环一次改变一下值,当r的值不满足第二项的判断条件时,结束循环。