C/C++为什么要开发do...while, while, for功能相同的循环结构?

本文探讨了C/C++中do...while, while, for三种循环结构的等价转换及其特殊用法,包括在宏定义、跳转语句和多重循环退出中的应用。通过实例展示了如何利用这些结构提高代码可读性和灵活性,同时也提到了C++11引入的range-based for循环的优势。" 123355411,10739709,Python数据可视化实践:曲线、网格与注释,"['数据可视化', 'Python编程', 'matplotlib', '数据分析', '数据库']
摘要由CSDN通过智能技术生成

 

喜欢的可以收藏转发加关注

对于较老的标准,这三者可以做等价代换。但是实际上,他们还可以做一些很geek的事,可能有点跑题就附在下面。

先讨论他们如何等价

do-while -> while

do{
 do_something();
}while(condition);

可以转化为

do_something();
while(condition){
 do_something();
}

while -> do-while

while(condition){
 do_something();
}

可以转化为

if(condition){
 do{
 do_something();
 }while(condition);
}

for -> while

for(init-expr;condition;update-expr){
 do_something();
}

可以转化为

init-expr;
while(condition){
 do_something();
 update-expr;
}

--------补--------

后来想到,for循环内部使用continue的时候,仍然是会执行update-expr的,所以如果考虑上这个,可能要这么写

if(condition){
 do_something();
 while(update-expr,condition){
 do_something();
 }
}

-------------------

while -> for 过于简单,略去

本身,这三种语法就是等价、可互相转换的。用的时候大多只是考虑它们的可读性罢了</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值