C语言详解系列——循环语句详解(3)do while语句的语法结构

文章目录

  • do while语句
    • do while语句中的break和continue
      • break
      • continue
  • do while语句与while语句的不同点
  • 简单练习

do while语句

之前的学习中我们已经了解到了while 语句和if语句两种循环语句,今天要向大家介绍的是do while 语句,我们聊一聊他们之间的区别。首先我们先看看do while 语句的语法结构:

do
{
循环语句;
} while(表达式);

还是像之前一样,让我们用do while 语句输出1-10,以下就是do while的基本语法结构和使用方法。

#include

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

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

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

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语句实现的代码,大家可以尝试用另外两个语句试一试,看看代码会有什么区别。

你可能感兴趣的:(【C语言】零基础学编程,c语言,算法,c++)