【新手C语言】3.0 循环 从while 到 for

【概述】
一般认为,循环由三个最基本的部分构成:判断条件,执行步骤,更新参数
利用循环,我们可以完成一些“在某些条件下不断执行”的操作,循环包括while,do-while,以及for
其中while的两个比较易于理解,不过熟练后还是for更舒服且用得多。三种循环各有各自的功能,不分好坏

【while】
最基本的循环,最根本的满足了“判断条件符合——进行循环——直到条件不符合退出循环”的模式

while(条件){
    循环的语句;
    ...
}

当满足条件时,便会不断执行循环的语句。值得注意的是,在循环中,需要在循环语句中包含“更新参数”的部分,比如你的条件是a>0是一直执行,那么循环中就必需要有改变a的数值的部分,否则就是死循环
当然除了改变参数以外还有其它跳出循环的办法,这个就是后话的

while的特征是:无论怎样,先进行判断,也就是while的操作总会发生在“判断”之后。有的时候我们想某个代码一开始就执行一次,无论判断的结果是什么。这时候就需要do-while循环来解决这件事情

【do-while】
do-while的特点在于,无论如何,do中的部分总会被执行一次,至于之后还执不执行,那就看后续判断了

#include <stdio.h>
int main (void)
{ 
	int x;
	scanf("%d",&x); 
	int n =0;
	do
	{
          x/=10;
	  n++;
	}while (x>0);
	printf("%d",n);	
	
	; return 0 ;
 }

如上代码,x/=10以及n++一开始就会被执行一次,并且在x>0时会被反复执行,直到x<=0为止
说白了,do-while就是一个“一定会执行一次”的while循环

【for】
for循环是一个有固定格式的循环,其格式如下:


for(初始值;判断范围;数据更新){
      循环部分
}

for循环就是一个整合了判断范围和数据更新的循环体。对于最开始用于判断的初始值,我们一般设为i
实例

#include <stdio.h>
int main (void)
{
	int n;
	scanf("%d",&n);
	int fact = 1;
	int i = 1 ;
	
	for (i=1;i<=n;i++){
	  // 初始条件;循环继续的条件;循环每一轮做的事情。  
		fact *= i ;
	}
	printf("%d! = %d",n,fact);
	;return 0 ;
}

做求和时,记录结果的变量应该初始化为0;
做求积时,一般初始化为1(就像这次的fact)

如果循环有固定次数(如n!),用for循环
必须执行一次,用do_while
其他情况一般用while
(其实大部分情况还是看心情和使用情况)

for循环和while循环实际上是等价的,是可以互通的。for(;条件;) 就是 while(条件)

循环语句也是可以嵌套使用的,无论是while,do-while还是for,特别是for的嵌套使用,在之后一些遍历操作中起到重要作用

posted @ 2021-04-21 14:29  RetenQ  阅读(220)  评论(0编辑  收藏  举报