第1个回答 2009-01-30
如果说完全代替if,估计不可能,
但是在不考虑时间/空间复杂度的情况下,
for、while、do-while这3种循环语句是可以互相替代的
第2个回答 2009-01-30
主要是效率问题,for, while, do-while语句的效率不一样,因此不能完全取代;不过对于复杂度不高的应用,三者可以互换使用,比如:
while(1);
for(;;;);
do{}while(1);
第3个回答 2009-01-30
FOR跟IF明显是不一样的,适合具体知道循环次数的场合,WHILE适合不知道循环次数的场合,DO-WHILE适合不管条件成立与否先运行一次的场合
第4个回答 推荐于2017-09-29
在相同效率的前提下。for和while可以实现if
for (;a > b;)
{
...
break;
}
while (a > b)
{
...
break;
}
但是if...else貌似做不出来。
循环语句可以完全互相替代。
因为for(;;) while(1) do...while(1)是等价的 里面利用if break和continue就可以实现各种效果并且效率相同。
比如for(int i = 0; i < 5; i++) {...}就可以写作
{
int i = 0;
while(i < 5)
{
...
i++;
}
}
而
do
{
...
}while(a < b)就是
for (;;)
{
...
if (!(a < b)) break;
}
当然以上的前提都是不可以用goto,否则只用if和goto就可以做出所有流程效果本回答被提问者采纳