do-while while for循环的汇编级比较

目录:
1.do-while循环
2.while循环
3.for循环

1.do-while循环

do 
body-statement 
while (test-expr) ; 

效果:重复执行 body-statement, 对七est-expr 求值,如果求值的结果为非零, 则继续循环。可以看到, body-s 七扛 emen 七至少会执行一次。

翻译成goto语句:

loop: 
body-statement 
t = test-expr; 
if (t) 
goto loop; 

2.while循环

while. (test-expr) 
body.:statement 

效果:
对 test-expr 求值,在第一次执行 body-sta eme虹之前,循环就可能中止。

翻译成goto语句:

if (!test-expr) 
goto done
do 
body-statement 
while (test-expr); 
done: 

3.for循环

for (init-expr; test-expr; update-expr) 
body-statement 

init-expr; 
while (test-expr) { 
body-statement 
updata-expr;
}

效果:
程序首先对初始表达式 ini 七一 expr 求值,然后进入循环;在循环中它先对测试条件test一expr 求值,如果测试结果为“假”就会退出,否则执行循环体 body-statement ; 最后对更新表达式 update-expr 求值。

翻译成goto语句:

init-expr; 
t = test-expr; 
if (!t) 
goto done; 
loop: 
body-statement 
update-expr; 
t = test-expr,; 
if (t) 
goto loop; 
done: 
发布了27 篇原创文章 · 获赞 1 · 访问量 1297

猜你喜欢

转载自blog.csdn.net/qq_43496675/article/details/105402272