【认识循环语句】

《一》循环语句

一、while循环

1.流程图及循环说明

在这里插入图片描述

	while(exp)  //格式
		{
			exp2;  //exp:循环判断语句
		} 		   //exp2:循环执行语句				

  由图及示例格式可知,当遇循环语句,则判断语句exp是否为真,如果exp成立,则执行语句exp2,循环往复,当某次exp判断为假时,则跳出循环;如果exp开始即不成立,则不执行循环语句。

2.简单使用

在这里插入图片描述
  既然是简单使用,那我们就从最开始的打印来看,循环体判断初始时 i 被赋值为0,由调试可见,循环判断为 i < 10 ,当 i == 10时跳出循环,i从0开始至9,打印10次字符串"Hello world!"后跳转至程序结尾。

二、for循环

1.流程图及循环说明

在这里插入图片描述

	for(exp1; exp2; exp4) //格式
	{				  //exp1:初始化部分,用于初始化循环变量
			exp3;	  //exp2:条件判断部分,用于判断循环是否终止
	}			 	  //exp4:调整部分,用于循环条件的调整
				      //exp3:循环语句

  由图及示例格式可知,当进入循环时,首先执行exp1(初始化部分);初始化完成,其次执行exp2(条件判断部分),判断条件是否成立,<1>若成立,则执行exp3(循环内语句),循环执行完后执行exp4(调整部分),当变量调整完成后,继续执行exp2,<2>若不成立,则直接跳出循环,不执行循环语句。

2.简单使用

  for循环的使用我们就从以下程序来了解了解,代码如以下代码和调试截图所示:

//打印 1 + 2 + 3 + ...... + n 结果
#include<stdio.h>
int main()
{
	int n = 0;
	int sum = 0;
	if (scanf("%d", &n) && n > 0)   //检查scanf是否输入正确
	{
		for (int i = 1; i <= n; i++) //循环体
		{
			sum += i;
		}
		printf("%d\n", sum);
	}
	return 0;
}

在这里插入图片描述

三、do while循环

1.流程图及循环说明

在这里插入图片描述

	do
		{
			exp1;      	//exp1:循环语句
		} while(exp2);	//exp2:条件判断

  有流程图及示例可知,当程序遇到do while循环体时,先执行语句exp2(循环语句),执行往后再执行exp2(条件判断),若条件成立,则继续执行exp1;若不成立则跳出循环体。

2.简单使用

  同样,也利用do while 循环来答应上述 for 循环中示例的结果:

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

	return 0;
}

在这里插入图片描述

四、循环中的continue与break

1.continue

  continue作用:continue是用于终止本次循环(在本次循环中continue后边的代码不会再执行,而是直接跳转至循环体的判断部分)。由以下示例及截图可看见,当 5 == i 这个条件成立时,执行continue语句,跳过本次循环。在截图中可见,属于 i 为5这次字符串"Hello world!"并没有打印。

#include<stdio.h>
int main()
{
	int count = 0;
	if (scanf("%d", &count) && count > 0)
	{
		for (int i = 1; i <= count; i++)
		{
			if (5 == i)
				continue;
			printf("%d: Hello world!\n", i);
		}
	}
	return 0;
}

在这里插入图片描述

2.break

  break作用:直接终止break所在的循环。由下面的示例及其截图可看见,当 5 == i 这个条件成立时,执行break语句,终止循环。在截图中可见,当 i 为5及其后续属于 i 的字符串"Hello world!"并没有打印。

#include<stdio.h>
int main()
{
	int count = 0;
	if (scanf("%d", &count) && count > 0)
	{
		for (int i = 1; i <= count; i++)
		{
			if (5 == i)
				break;
			printf("%d: Hello world!\n", i);
		}
	}
	return 0;
}

在这里插入图片描述

《二》n阶乘的计算

一、n阶乘与while循环

#include<stdio.h>
int main()
{
	int n = 0;
	int sum = 1;
	if (scanf("%d", &n) && n >= 0)
	{
		int i = 1;
		while (i <= n)
		{
			sum *= i++;//sum = sumn * i;
		}			   //i++;
		printf("%d! = %d\n", n, sum);
	}
	return 0;
}

在这里插入图片描述

二、n阶乘与for循环

#include<stdio.h>
int main()
{
	int n = 0;
	int sum = 1;
	if (scanf("%d", &n) && n >= 0)
	{
		for (int i = 1; i <= n; i++)
			sum *= i;
		printf("%d! = %d\n", n, sum);
	}
	return 0;
}

在这里插入图片描述

三、n阶乘与do while循环

#include<stdio.h>
int main()
{
	int n = 0;
	int sum = 1;
	if (scanf("%d", &n) && n >= 0)
	{
		int i = 1;
		do
		{
			sum *= i++;

		} while (i <= n);
		printf("%d! = %d\n", n, sum);
	}
	return 0;
}

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值