C语言循环语句( while、for、do while )

C语言学习


前言

本文介绍循环语句

  • while
  • for
  • do while

一、while 循环

        同一件事需要完成很多次,while 语句就可以实现这一功能。

1. while循环语法结构

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

2. while语句执行流程

3.运用while语句编程

        输入4个数字,输出最大数。

#include <stdio.h>
int main()
{
	int i = 1;
	int max = 0;
	int num = 0;
	scanf("%d", &max);
	while (i < 4)
	{
		scanf("%d",&num);
		if (max < num)
		{
			max = num;
		}
		i++;
	}
	printf("%d\n", max);
	return 0;
}

方法二:

#include <stdio.h>
int main()
{
	int arr[4] = { 0 };
	int i = 0;
	while (i < 4)
	{
		scanf("%d", &arr[i]);
		i++;
	}
	int max = arr[0];
	i = 1;
	while (i < 4)
	{
		if (max < arr[i])
			max = arr[i];
		i++;
	}
	printf("%d\n", max);
	return 0;
}

4.while语句中的 break 和 continue

        首先打印出1-10的数字,使用while循环

代码示例:

#include <stdio.h>

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

运行结果:

1 2 3 4 5 6 7 8 9 10

        在代码中加入break会有什么运行结果?

代码示例:

#include <stdio.h>

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

运行结果:

1 2 3 4

在循环中,只要遇到break就停止后期的所有循环,直接终止循环。

        所以在while循环中,当 i = 5 时,执行 if 中的 break ,终止 while 循环。

        在代码中加入continue呢?

代码示例:

#include <stdio.h>

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

运行结果:

1 2 3 4







continue 是用于终止本次循环的,也就是本次循环中 continue 后边的代码不会再执行,而是直接跳转到 while 语句的判断部分。进行下一次循环的入口判断。

        所以在while循环中,当 i = 5 时,执行 if 中的 continue ,跳过下面的 printf 函数,i++ ;跳转到 while 语句的判断部分,此时 i 的值还是5,继续执行 if 中的 continue ,跳过下面的 printf 函数,i++ ;跳转到 while 语句的判断部分......如此进入死循环状态。

二、for 循环

1.for 循环语法结构

for (表达式1; 表达式2; 表达式3)
	循环语句;
  • 表达式1初始化部分,用于初始化循环变量。
  • 表达式2条件判断部分,用于判断循环时候终止。
  • 表达式3调整部分,用于循环条件的调整。

2.for 循环执行流程

        expr1:初始化部分

        expr2:条件判断部分

        expr3:调整部分

3.for 循环与 while 循环对比

        打印出1-10的数字,用 for 循环:

代码示例:

#include <stdio.h>

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

运行结果:

1 2 3 4 5 6 7 8 9 10

对比一下:

        while 循环中依然存在 for 循环的三个表达式,但 for 循环修改,查找循环条件更方便,更集中!

4.for 循环中的 break 和 continue

        在上述代码,用 for 循环打印出1-10的数字中加入break会有什么运行结果?

代码示例:

#include <stdio.h>

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

运行结果:

1 2 3 4

        在 for 循环中,当 i = 5 时,执行 if 中的 break ,终止 for 循环。

        在代码中加入continue呢?

代码示例:

#include <stdio.h>

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

运行结果:

1 2 3 4 6 7 8 9 10

        在 for 循环中,当 i = 5 时,执行 if 中的 continue ,跳过下面的 printf 函数 ;跳转到 for 语句的调整部分:i++;此时 i = 6,然后进入 for 的条件判断部分,i <= 10;符合条件,可以进入,此时 i 的值为6;不进入 if 中的 continue ,继续执行 printf 函数。

三、do while 循环

1. do while 循环语法结构

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

2. do while 循环执行流程

3. do while 循环中的 break 和 continue

        首先打印出1-10的数字,使用 do while 循环

代码示例:

#include <stdio.h>

int main()
{
	int i = 1;
	do
	{
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;
}

运行结果:

1 2 3 4 5 6 7 8 9 10

       在代码中加入break会有什么运行结果?

代码示例:

#include <stdio.h>

int main()
{
	int i = 1;
	do
	{
		if (5 == i)
			break;
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;
}

运行结果:

1 2 3 4

        在 do while 循环中,当 i = 5 时,执行 if 中的 break ,终止 do while 循环。

        在代码中加入continue呢?

代码示例:

#include <stdio.h>

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

运行结果:

1 2 3 4





        在 do while 循环中,当 i = 5 时,执行 if 中的 continue ,跳过下面的 printf 函数,i++ ;跳转到 while 语句的判断部分,此时 i 的值还是5,继续执行 if 中的 continue ,跳过下面的 printf 函数,i++ ;跳转到 while 语句的判断部分......如此进入死循环状态。


总结

        以上就是今天要讲的内容,本文简单介绍了C语言中三种循环的使用。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值