元小白(猿小白)进阶日记:三(for)

3、for

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

例如:用for输出0到10

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

for (i = 0; i < =10;i++)可以用

int i=0;
while(i<=10)
{
	i++;
}替换

误区一: for中的break只能跳出一层循环

  #define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i = 0;
	int j = 0;
	for (j = 0; j < 10; j++)
	{
		for (i = 0; i < j; i++)
		{
			if (5 == i)
			{
				break;//此处break直接结束此次i的所有循环,跳到内层i的for的{...}之外,继续执行下一个j,所以会跳过i==5之后的所有值。
			}
			printf("%d   ", i);
		}
		printf("\n");
	}
	return 0;
}

误区二: for中的continue结束此次循环,跳到判断条件处,对变量进行调整,执行下一个i

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i = 0;
	int j = 0;
	for (j = 0; j < 10; j++)
	{
		for (i = 0; i < j; i++)
		{
			if (5 == i)
			{
				continue;//此处continue只结束本次循环,回到本次循环的条件判断处,所以此程序只会略过5一个数,而不会略过5之后的所有值。
			}
			printf("%d   ", i);
		}
		printf("\n");
	}
	return 0;
}

误区三: 在for内形成死循环。
例如:

在for内修改循环变量

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

没有条件判断部分

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

误区四: 变种程序

以下程序只会执行两次

   #define _CRT_SECURE_NO_WARNINGS 1
        #include<stdio.h>
        #include<stdlib.h>
        int main()
        {
        	int i = 0;
        	int j = 0;
        	for (i=0,j=0;i<2&&j<5;++i,j++)
        	{
        		printf("**  ");
        	}
        	return 0;
        }

以下程序循环一次都不会执行

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

练习代码一:输出1~100之间的所有奇数

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

代码可直接写为:

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

猜你喜欢

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