D语言-循环

Part 1:while循环

所谓循环,就是不断的做一个事情。
while循环的结构是这样子的:

while (<一个表达式>){ //如果表达式为真,执行这里 } //否则,直接跳出到这里

举个例子:

int a = 10; while (a > 0){ writeln(a); a--;//这一句很重要,不然的话a一直都大于0,就一直不能跳出循环 //我们把这种永远不能跳出的循环叫死循环 } writeln("End While");

你会看到输出:

10 9 8 7 6 5 4 3 2 1 End While

Part 2:用的更多的for循环

for循环的语法格式是这样子的:

for(<定义控制循环次数的变量>;<循环条件>;<对于循环变量的操作>){ //和While一样 }

你会发现:for循环只是把whle循环的所有条件放在了一堆
我们用for循环来改写上面的那个例子:

for(int a = 10;a > 0;a --){ writeln(a); } writeln("End While");

你会看到输出:

10 9 8 7 6 5 4 3 2 1 End While

当然,for循环也会有死循环,双分号是个基本的for死循环:

for(;;){ //do }

for循环的任意一个条件都是可以省略的,前提是你知道你在干什么。


Part 3:do-while循环

do-while看起来是这样子的:

do{ //不管是否为真,先把这里做一遍再说 }while(<循环控制表达式>);//循环一次过后再来看是否符合循环条件

这个时候,编者想让你自己试试用do-while循环改写上面的程序。你发现了他的输出和while/for的输出有什么区别?怎么改进?


Part 4:循环的嵌套

当然,循环也可以放在循环当中。下面的例子是经典的用两个循环输出乘法口诀表:

import std.stdio; int main (string[] args){ for(int i=1; i<=9; i++){ for(int j=1; j <= i; j++) write(i,"*",j,"=",i*j,"\t"); writeln(); } return 0; }

Oh糟糕,你看见了:当需要用大括号括起来的一组语句中,如果只有一条语句,可以省略大括号
程序输出:


Part 5:break和continue

break用于直接跳出当前循环,continue表示忽视continue下边的内容,直接开始第二次循环。
用法:

for(.....){ if(....) break;//此时,直接跳出for循环 else if(....)//我希望你还记得上次我们谈到的else-if continue;//此时,直接忽视下边的语句,开始下一次循环 }

课后作业:

1.写出一个程序,输出[2,n]的素数。
2.简述while、for和dowhile的区别。
3.尝试输出在三个不同的循环结束之后,他们控制循环的变量(假定为i)有什么区别?
4.在第三题的基础上尝试一下:i++换为++i,输出又会发生什么变化?


__EOF__

本文作者SDLTF
本文链接https://www.cnblogs.com/sdltf/p/12509808.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   SD!LTF  阅读(210)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示