C语言程序的循环控制之for语句

目录

for语句

while语句与for语句的相同点

 关于for语句需要注意以下几点:

 偶数的枚举

约数的枚举

 表达式语句和空语句

循环语句


上节中我们已经学到了while语句,相对于while语句使用for语句会是程序更加的简洁、易读。

for语句

我们来对上一节中的显示从0到输入正整数的各个整数,现在我们用for语句稍加改动:

#include

int main()
{
	int no, i;
	
	printf("请输入一个正整数:");
	scanf("%d", &no);
	
	for(i = 0; i <= no; i++)
	{
		printf("% d", i);
	}
	putchar('\n');
	
	return 0;
}

是不是变得更加简洁了呢?接下来让我们看下for语句的结构图:

C语言程序的循环控制之for语句_第1张图片
我们来具体分析下:

1.作为预处理,判断并执行A部分

2.作为“继续条件”的B部分控制的表达式不为0,则执行语句(循环体)

3.执行语句后,判断并执行作为“收尾处理”或“下一个循环的准备处理”的C部分返回到上一步

 根据上述内容我们来画出流程图:

C语言程序的循环控制之for语句_第2张图片

while语句与for语句的相同点

for语句:

for(A; B; C;)
{
	语句
}

while语句:

	A;
	while(B)
	{
		C;
		语句
	}

 关于for语句需要注意以下几点:

A预处理:表达式A仅在循环之前执行一次。当程序无需预处理时,可以省略不写


B充值表达式:表达式B时用来判定循环操作是否继续进行的表达式,若该表达式成立(结果不为0),则执行循环体。

                    当省略表达式B时,通常认为该表达式值的判断结果永不为0,除非使用break语句,否则该程序将会无线循环。


C收尾处理:表达式C作为收尾处理或下一个循环的准备处理,会在循环体执行后被判断、执行。如果没有需要执行的内容,则该表达式可省略。

 使用for语句实现固定次数的循环

#include

int main()
{
int i, no;
	
	printf("请输入一个整数:");
	scanf("%d", &no);
	
	for(i = 1; i <= no; i++)
	{
		putchar('*');
	}
	putchar('\n');
	
	return 0;
}

对于本程序,i的值不同所要使用的运算符也不相同

当i=0时,for(i=0;i

当i=1时,for(i=1;i<=no;i++)

 偶数的枚举

#include

int main()
{
	int i, no;
	
	printf("请输入一个整数:");
	scanf("%d", &no);
	
	for(i = 2; i < no; i += 2)
	{
		printf("% d", i);
	}
	putchar('\n');
	
	return 0;
}

在本程序中,对于表达式3使用了复合赋值运算符“i += 2”

约数的枚举

让我们来输入一个整数,显示出它所有的约数

我们只需稍稍改动即可:

C语言程序的循环控制之for语句_第3张图片

 表达式语句和空语句

请看下面代码,乍看感觉是输出n个*

for(i=0;i

putchar(‘*’);

但只显示1个n,原因在于for语句后面的分号,只包含一个分号的语句称为空语句

 表达式语句:在一个表达式的末尾就称为表达式语句。

C语言程序的循环控制之for语句_第4张图片

由该表达式可知,即使没有表达式,一个;也可以成为语句。

循环语句

我们学习过的do、while、for、都是循环执行程序的语句,称为循环语句。

 

你可能感兴趣的:(C语言,c语言,开发语言,算法,学习,c++)