当前位置:首页 > Windows程序 > 正文

100以内的所有的能被3整除或者被5整除余2的数(二)(流程控制)

2021-03-29 Windows程序

在上节中,我们画的那个流程图还记得么?判断部分我们会了,就差循环了,下面我会介绍三种常用的循环。

循环结构 while循环(当循环,至少我的C语言老师这么叫)

先来介绍一下语法吧,如下

while(条件表达式) { //这里是循环体,当上面的条件表达式为真时,执行循环体,否则退出 }

while后面跟一个条件表达式,如果是真的话才会执行循环。执行完循环体再判断条件表达式,直到为假的时候推出循环。

例如我们输出1到100的数,例程如下:

int i=1; while (i <= 100) { Console.WriteLine(i); i++; }

输出的结过如下:

//结果如下 1 2 3 ... 99 100

这个例子看懂了么?我来解释一下,首先i=1执行到while时,判断i<=100,是真的,所以进入循环中,输出了i,然后i自增了1,也就是i现在等于2,然后又回到了循环的头部,判断i<=100,是真的,又进入循环体,一直到i=101的时候,条件i<=100发现是假的,结果循环就不执行了,也就结束了。

好的,相信你已经明白了,那么我们把文章题目中的问题解决了吧:

int i=0; while (i <= 100) { if (i % 3 == 0 || i % 5 == 2) { Console.WriteLine(i); } i++; }

发现好简单的,,对吧。这里我没有用else,因为只需要找出符合题意的数就行,题中没有说要处理不符合的数。顺便说一下,这里的 i 其实是一个计数器,他控制了循环的次数。下面我们介绍while的变体。

do…while(直到循环,当然我老师告我这么读)

当然,先上语法:

do { //这里是循环体 }while(条件表达式);

和while差不多,就是多了个do,循环体跑到while前面了。我来解释一下执行顺序:

第一步先执行循环体,然后才去判断条件是否为真,如果为真,进行第二次循环体执行,,,直到条件为假,退出。

可以看出,这个直到循环和当循环区别,直到循环至少会执行一次循环体,而当循环不一定。当然,实际工作中,我们用的当循环更多。

这里就不举例子了。下面介绍个最常用的,可以叫做计次循环。

for循环(计次循环)

看标题,说明这个本身可以计次。来,上语法

for (int i = 0; i < length; i++) { //循环体 }

解释一下过程。

for后面跟着三个语句,第一句其实是声明了一个计数器(刚才介绍了什么是计数器),第二个是计数器的长度,也就是一个条件表达式,第三句,计数器自增。

执行的流程是,首先执行第一句,初始化计数器,然后判断第二句是否为真,接着进入循环体执行,循环体执行完第一次后,执行for后面的第三句,也就是计数器的自增,然后判断条件,为真就又一次进入循环体,直到退出循环。说的有点抽象,我们用for循环来做一次1+2+3+4+…+100,代码如下:

int sum = 0;//其实这个叫累加器 for (int i = 1; i <= 100; i++) { sum += i; } Console.WriteLine(sum); //运行结果5050

是不是比用while简单一些呢?

这是一个最常用的循环。当然,如果你将外面的调节都写成真的,那就是死循环了,再也出不来了,下面我介绍两个关键字,可以在适当的时候跳出循环。代码如下:

int i = 0; while (true) { if (i < 10) { Console.WriteLine(i); i++; } else { break; } } //运行结果 0, 1 2 3 ... 9

我写了个死循环,但是真正的却循环了10次,因为i>10的时候,我用了break,这个词可以跳出整个循环。

再看下面的一个例子:

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/69616.html