元小白(猿小白)进阶日记:三(while,do-while循环)

3、while循环

while(表达式)
	循环语句;

例如在屏幕上实现打印1~100;

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i = 1;
	while (i <= 100)
	{
		printf("%d\t", i);
		i++;
	}
	return 0;
}

误区一: while中的break用于永久终止循环

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i = 1;
	while (i <= 100)
	{
		if (5 == i)
		{
			break;
		}
		printf("%d\t", i);
		i++;
	}
	return 0;
}

此程序只输出1 2 3 4,当i==5时,会执行break,会跳出整个循环

误区二: while中的continue用于终止本次循环,回到条件判断处

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i = 0;
	while (i <= 10)
	{
		if (5 == i)
		{
			continue;//此处的continue用于回到判断条件处。所以当i==5以后,永远不会再执行到i++,所以永远满足i<=10,形成一个死循环。
		}
		printf("%d   ", i);
		i++;
	}
	return 0;
}

此程序会在输出1 2 3 4之后一直输出4,形成一个死循环。

do…while

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

先执行do 中的语句,再进行判断

误区一:do - while至少执行一次
以下程序至少会输出一次

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i = 10;
	do
	{
		printf("%d ", i);
	} while (i <10);
	system("pause");
	return 0;
}

误区二:do–while中的continue跳到循环判断处。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i = 1;
	do
	{
		if(i == 5)//与while中的continue作用一致。当i==5时,会不断跳到while处进行条件判断,而不进行i++
			continue;//会形成死循环,不断输出4。
		printf("%d ", i);
		i++;
	}
	while(i<=10);   
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44748803/article/details/88984761