首页 > 代码库 > for循环的灵活性
for循环的灵活性
??for循环把初始化、测试和更新组合在一起,其基本形式如下所示:
for(初始化;测试条件;更新表达式)
{
//循环体
}
??关键字for后面的圆括号中3个表达式,分别用两个分号隔开:
??第一个表达式是初始化,只会在for循环开始时执行一次。
??第二个表达式是测试条件,在执行循环之前对表达式求值。如果表达式为假,循环结束。
??第三个表达式执行更新,在每次循环结束时求值。
for循环的结构图:
??除此之外,这里注重学习一下for循环的其它9种用法:
??第一种:可以使用递减运算符来递减计数器:
int main(void)
{
for(int secs =5; secs >0; secs--)
{
printf("%d seconds!\n", secs);
}
return0;
}
??第二种:可以让计数器递增2、10等:
int main(void)
{
//secs从2开始,每次递增5
for(int secs =2; secs <60; secs +=5)
{
printf("%d seconds!\n", secs);
}
return0;
}
??第三种:可以用字符代替数字计数
int main(void)
{
char ch;
for( ch =‘a‘; ch <=‘z‘; ch++)
{
printf("the ascii value for %c is %d.\n", ch, ch);
}
return0;
}
??第四种:除了测试迭代次数外,还可以测试其它条件
for(num =1; num*num*num <=216; num++);
??第五种:可以让递增的量几何增长,而不是算数增长。也就是说,每次都乘上而不是加上一个固定的量
int main(void)
{
double debt;
for(debt =100.0; debt <150.0; debt *=1.1)
{
printf("your debt is now $%.2f.\n", debt);
}
return0;
}
??第六种:第三个表达式可以使用任意合法的表达式。无论是什么表达式,每次迭代都会更新表达式的值
int main(void)
{
int x;
int y =55;
for(x =1; y <=75; y =(++x *5)+50)
{
printf("%10d %10d\n", x, y);
}
return0;
}
??第七种:可以省略一个或多个表达式(但是不能省略分号),只要在循环中包含能结束循环的语句即可.
int main(void)
{
int x =0;
int y =55;
for(; y <=75; y =(++x *5)+50)
{
printf("%10d %10d\n", x, y);
}
return0;
}
??第八种;第一个表达式不一定是给变量赋初值,也可以是printf()。记住,在执行循环的其它部分之前,只对第一个表达式求值一次或执行一次
int main(void)
{
int x =0;
int y =55;
for(printf("hello dear"); y <=75; y =(++x *5)+50)
{
printf("%10d %10d\n", x, y);
}
return0;
}
??第九种:循环体重的行为可以改变循环头中的表达式。
for(y =1; y <=75; y = y + delta);
??总而言之,具体使用视情况而定!!!
for循环的灵活性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。