C语言学习:6、C语言程序的循环结构

生活中,有很多循环的东西,比如钟表就是在1到12循环,太阳东升西落也是循环,春夏秋冬也是循环,人生可能也是一个循环。

while

C语言中的循环可以这么描述:某个条件成立,就一直做某件事或某些事。

//纯语言描述
当考试不及格;
就去复习;
再来考试;
还是不及格;
就去复习;
再来考试;
...


//语言+符号描述
当(考试不及格)
{
    就去复习;
    接着考试;
}

//半C语言化
while(考试不及格)
{
    就去复习;
    接着考试;
}

生活中的,等同于C语言中的while

程序示例:求1加到100的和

程序示例1:

#include 

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

	while (i <= 100) //只要i<=100这个条件成立,大括号里面的内容就要执行
	{
		sum = sum + i;
		i = i + 1;
	}

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

输出结果:

        i = 101
        sum = 5050

因为只要i<=100这个条件成立,大括号里面的内容就要执行,大括号里面的内容执行完之后,还要回来判断while里面的条件。

while知识点

        1、while循环体里面的内容可以不执行,比如while(0);

        2、while循环体里面的内容可以一直执行不停止,比如while(1);

        3、if语句可以看成最多执行1次的循环体

        4、if语句和while可嵌套,实现更复杂的功能

if与while嵌套

求1000以内能被3整除的正整数之和

分析:

        1、要遍历1到1000这1000个数;

        2、要选择能被3整除的数

程序示例2:

#include 

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

	while (i <= 1000) //遍历1到1000所有的整数
	{
		if (i % 3 == 0) //判断是否能被3整除
		{
			sum = sum + i;//能整除的数就加起来
		}

		i++; //i要自增加一个
			
	}
	printf("i = %d\n", i);
	printf("sum = %d\n", sum);
	
	return 0;
}

while语句练习

求 2^{2}+4^{2}+6^{2}+...+n^{2},累加和≥10000为止,输出累加和,输出累加式中的项数i和最大的数

程序示例3:

#include 

int main()
{
	int i = 1;
	int n = 0; //记录循环次数
	int sum = 0; //记录和
	int an = 0; //记录停止的项

	while (sum <= 10000) 
	{
		an = (2 * i) * (2 * i);
		sum = sum + an;//(2*i)的平方
		i++; //i要自增加一个
		n++;
			
	}
	printf("n = %d\n", n);
	printf("an = %d\n", an);
	printf("i = %d\n", i);
	printf("sum = %d\n", sum);
	
	return 0;
}

编写程序,求出2-100之内所有的质数,并打印出所有的质数

质数:只能被1和自己整除

程序示例4:

#include 

int main()
{
	int i = 2;


	while (i <= 100) //遍历2到100内所有的数
	{
		int flag = 0; //标记
		int j = 2;//从2到自己,这之间还有没有能被自己整除的数
		while (j < i)
		{
			if (i % j == 0) //判断有没有能被自己整除的数
			{
				flag ++; //有就+1标记一下
			}

			j++; //遍历2到i
		}

		if (flag == 0) //这个标记还为0,说明没有能被整除的,那就是质数了
		{
			printf("i = %d\n", i); //打印出质数
		}
		i++; //i要自增加一个,为了遍历
			
	}

	return 0;
}

循环结构在编程中用的非常多,循环结构也有多种方式

do... while

do
{
    //do something;
} while(条件)

不管条件是不是真,都执行一遍do里面的语句;

再来判断条件是否为真,为真的话继续执行do里面的语句,为假就执行后面的语句;

从键盘中输入数据,并请输入数据的和,知道和大于100为止

程序示例5:

#include 

int main()
{
	int sum = 0;
	int input = 0;

	do 
	{
		printf("请输入数据:");
		scanf_s("%d",&input);
		sum = sum + input;

	} while (sum <100);

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

	return 0;
}

for循环

for(0.初始化循环变量;1.循环条件;3.改变循环条件)
{
    2.循环体;
}

执行步骤就是:

0、初始化循环变量

1、判断循环条件

2、执行循环体

3、改变循环条件

理论上for循环式最规范的循环结构,本质上与while是一样的。

你可能感兴趣的:(C语言学习笔记,学习,c语言)