1.do while 语句
在循环语句中do while语句是用的最少的。但在某些时候用do while语句写就很方便。线面就让我们来学习一下do while语句吧。
1.基本语法
do
{
语句1
语句2
}while(表达式)
2.do while的使用
首先在do while语句中会直接进行执行语句,然后才会开始判断表达式的真假,为真就再次循环,为假就会停止循环。所以我们也要做好调整,不要让do while陷入死循环。
下面来演示一下:
按照推理这个应该会打印5个520,是不是呢?
3.打印出1~10的数字。
代码实现:
结果:
4.do while计算整型数值位数。
原理:当输入值为25时进入do while循环n=n/10,后n=2;count=1;因为n 不为0所以为真,所以再次循环,此时n=0;count=2;再次判断时n为0,为假停止循环,打印count=2;值刚好为整型数值的位数。
我们来验证一下:
2.如何跳出循环
1.利用break
当我们想终止循环时可直接在该次循环下输入break,即可跳出循环。
我们来实际操作一下:

现在我们给它加上break:
此时的猜想是只会打印1,是不是呢?
2.利用goto
在多个循环中我们可利用goto语句灵活的跳出循环,在演示之前先来介绍一下goto语句
我们可以定义一个词然后利用两个goto就可实现跳跃。
那么goto语句也可以实现循环吗?当然可以:
在代码中flag就是我们随意定义的一个词;goto在执行时将跳转到flag:上,这样反复进行就可以达到循环的目的了。
好吧我们开始利用它跳出循环:
在此代码中,我们利用goto直接跳过第二个while循环,在第一个while循环中也只会打印一次。
那么我们来验证一下吧。
3.continue
continue的效果是跳过本次循环后的代码直接返回去判断部分。
下面我们将在三种循环中分别试验效果:
1.在while循环中
正常情况下这个代码只会打印5次520;当我们在printf下加上continue后:
这个时候按照continue的作用,会跳过下面的调整部分直接去判断部分,这样下去的话,判断始终为真,将会陷入死循环。那么我们的推理对不对呢?
2.在for循环中
在上述代码中也会打印5个520,那么我们再次在printf的下面添加continue会如何?
按照continue的效果推理一下,应该也是打印5次520,因为在for循环中判断和调整是在一起的,continue跳转至判断部分会继续运行下去并执行了调整部分,所以不会一直判断为真。
结果为:
3.在do while循环中
这个代码也是可以打印5个520,那么我们在printf下加上cntinue会怎么样?
在do while循环中continue会跳过调整部分直接去判断部分,这样判断式就会一直为真,进而成为死循环。大家也会想我将调整部分放在continue的上面就好了,确实如此,我这样写只是为了大家好理解而已。
那我们来看看是不是陷入死循环。
