文章目录
do while语句do while语句中的break和continuebreakcontinuedo while语句与while语句的不同点简单练习do while语句
之前的学习中我们已经了解到了while
语句和if
语句两种循环语句,今天要向大家介绍的是do while
语句,我们聊一聊他们之间的区别。首先我们先看看do while
语句的语法结构:
do
{
循环语句;
} while(表达式);
还是像之前一样,让我们用do while
语句输出1-10,以下就是do while
的基本语法结构和使用方法。
#include<stdio.h>int main(){int i = 0;do{printf("%d ", i);i++;} while (i <= 10);return 0;}
do while语句中的break和continue
break
在for
语句和while
语句中我们已经知道了break
的作用,在循环语句中遇到break
就会永久的跳出循环,那么在do while
语句中是否break
的作用与前者相同呢?让我们在代码中找寻答案。
#include<stdio.h>int main(){int i = 1;do{if (i == 5){break;}printf("%d ", i);i++;} while (i <= 10);return 0;}
我们可以看到上面代码的输出结果为1 2 3 4,所以在do while
语句中break
的作用也是永久跳出循环。
continue
让我们再来看看continue
的作用
#include<stdio.h>int main(){int i = 1;do{if (i == 5){continue;}printf("%d ", i);i++;} while (i <= 10);return 0;}
输出的结果为1 2 3 4但是循环并没有结束,原因是当i = 5
;时执行continue
跳过了之后的循环语句,包括调整语句i++
;所以造成了死循环,所以在do while
语句中continue
的作用也是跳过本次循环中在continue
之后的语句。
do while语句与while语句的不同点
大家可以思考一下while
语句和do while
语句有什么不同的地方,在这之前,让我们再来回顾一下while
语句的语法结构
while(表达式)
{
循环语句;
}
do
{
循环语句;
} while(表达式);
对比两个语句我们可以发现while
语句是先行判断,之后依据判断结果判断是否进入循环。而do while
语句是先进行循环一次,在进行判断,依据判断结果判断是否进入循环。简单来讲二者之间的区别就是while
语句的循环语句可能不被执行,而do while
语句中的循环语句至少执行一次。
简单练习
到这里我们循环结构中的三个基本语句while for do while
已经全部分享给大家了,那么让我们实战训练以下吧:
1.计算n的阶乘。
#include<stdio.h>int main(){int i = 0;int n = 0;int sum = 1;printf("请输入n的值:");scanf("%d", &n);for (i = 1; i <= n; i++){sum *= i;}printf("%d", sum);return 0;}
2.计算1!+2!+3!+…+10!
int main(){int i = 0;int n = 0;int sum = 1;int mul = 0;printf("请输入n的值:");scanf("%d", &n);for (i = 1; i <= n; i++){sum *= i;mul += sum;}printf("%d", mul);return 0;}
不知道大家写出来没有,这里我提供了for
语句实现的代码,大家可以尝试用另外两个语句试一试,看看代码会有什么区别。