C语言的循环语句

在生活中我们有时需要反反复复的做一件事情,C语言用循环语句来解决

C语言的循环语句有 while ,for, do while

文章目录

  • 一、while
    • 1.while 语句的语法形式
    • 2、while 语句中的 break 和 continue
      • (1)break
      • (2)continue
  • 二、for
    • 1、for 语句的语法形式
    • 2、for 语句中的 break 和 continue
      • (1)break
      • (2) continue
    • 3、for 循环的 3 个表达式都可以省略
  • 三、do while
    • 1、do while 语句的语法形式
    • 2、do while 语句中的 break 和 continue
      • (1)break
      • (2)continue
  • 四、一些习题
    • 1、计算 n 的阶乘
    • 2、计算1!+ 2!+ ... + 10!

一、while

1.while 语句的语法形式

while (表达式)
	语句;

C语言的循环语句_第1张图片

while 语句的执行流程:先判断表达式,如果为真,执行语句,然后后在判断表达式。重复进行,如果表达式为假,则退出循环,不再执行

用 while 循环输出1 ~ 10
#include 

int main()
{
	int i = 1;
	
	while (i <= 10)
	{
		printf("%d ", i);

		i++;
	}

	return 0;
}

2、while 语句中的 break 和 continue

(1)break

while 语句中如果执行 break 则会直接跳出循环

程序输出什么呢?

#include 
int main()
{
	int i = 1;
	
	while (i <= 10)
	{
		if (i % 5 == 0)
			break;
			
		printf("%d ", i);

		i++;
	}

	return 0;
}

程序输出 1 2 3 4

(2)continue

while 语句中执行 continue 时会跳过 continue 后面循环体的语句,来到判断表达式

程序输出什么呢?

#include 
int main()
{
	int i = 1;
	
	while (i <= 10)
	{
		if (i % 5 == 0)
			continue;
			
		printf("%d ", i);
			
		i++;
	}

	return 0;
}

程序输出1 2 3 4 后死循环

二、for

1、for 语句的语法形式

for (表达式1; 表达式2; 表达式3)
	语句;

C语言的循环语句_第2张图片
for 语句的执行流程:先执行表达式1,然后判断表达式2,如果为真,执行语句,然后执行表达式3,接着判断表达式2,重复进行,如果表达式2为假,则退出循环,不再执行

通常,表达式1为循环变量赋一个初识值,表达式2作为是否执行循环的条件,表达式3改变循环变量的值,避免循环一直执行下去

用 for 循环输出1 ~ 10
#include 

int main()
{
	int i;

	for (i = 1; i <= 10; i++)
	{
		printf("%d ", i);
	}

	return 0;
}

2、for 语句中的 break 和 continue

(1)break

for 语句中如果执行 break 则会直接跳出循环

程序输出什么呢 ?

#include 

int main()
{
	int i;

	for (i = 1; i <= 10; i++)
	{
		if (i % 5 == 0)
			break;
			
			printf("%d ", i);
	}

	return 0;
}

程序输出 1 2 3 4

(2) continue

for 语句执行 continue 会跳过 continue 后面循环体内的语句,来到表达式3,然后判断表达式2,继续循环

程序输出什么呢?

#include 

int main()
{
	int i;

	for (i = 1; i <= 10; i++)
	{
		if (i % 5 == 0)
			continue;

		printf("%d ", i);
	}

	return 0;
}

程序输出1 2 3 4 6 7 8 9

3、for 循环的 3 个表达式都可以省略

for(;;)

分号不能省略

省略表达式2时:此时循环永真

三、do while

1、do while 语句的语法形式

do
语句;
while (表达式);

C语言的循环语句_第3张图片
无论条件如何都会执行一次语句

先执行语句,然后判断表达式,如果表达式为真,执行语句,重复进行,如果表达式为假,则退出循环

 用 do while 循环输出 1 ~ 10
#include 

int main()
{
	int i = 1;

	do
	{
		printf("%d ", i);

		i++;
	}
		while (i <= 10);

	return 0;
}

2、do while 语句中的 break 和 continue

(1)break

do while 中如果执行 break 则会直接跳出循环

程序输出什么呢?

#includ <stdio.h>

int main()
{
	int i = 1;

	do
	{
		if (i % 5 == 0)
			break;

		printf("%d ", i);

		i++;
	} while (i <= 10);

	return 0;
}

程序输出 1 2 3 4

(2)continue

do while 语句执行continue 会跳过 continue 后面循环体内的语句,来到判断表达式

程序输出什么呢?

#includ <stdio.h>

int main()
{
	int i = 1;

	do
	{
		if (i % 5 == 0)
			continue;

		printf("%d ", i);

		i++;
	} while (i <= 10);

	return 0;
}

输出1 2 3 4 后死循环

四、一些习题

1、计算 n 的阶乘

#inlcude <stdio.h>

int main()
{
	int i = 0;
	int ret = 1;
	int n = 0;
	scanf("%d", &n);


	for (i = 2; i <= n; i++)
	{
		ret *= i;
	}

	printf("%d\n", ret);

	return 0;
}

2、计算1!+ 2!+ … + 10!

#include 

int main()
{
	int i = 0;
	int ret = 1;
	int sum = 0;

	for (i = 1; i <= 10; i++)
	{
		ret *= i;
		sum += ret;
	}

	printf("%d\n", sum);

	return 0;
}

goto 语句也可以实现循环,但是可以用上述的循环语句替代

for 循环其实是 while 循环的一种常用方式的简写,在需要赋初值和调整循环变量的语句时,他比 while 循环的效果更好,for 循环将循环变量的初值,循环条件,以及循环变量的调整放在一起,当循环语句较多时,比使用while语句更方便的管理

总结: 三种循环都可以使用 break 和continue 语句,他们的作用有一点点的差别,根据应用场景选择合适的循环语句

你可能感兴趣的:(C语言,c语言)