栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言循环结构(while循环,do...while循环,for循环)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言循环结构(while循环,do...while循环,for循环)

while 循环

只要控制表达式为 true,while 循环就会反复地执行语句:

while (表达式)语句

先计算循环条件(也就是控制表达式)。如果为 true,就执行循环体,然后再次计算控制表达式。如果控制表达式为 false,程序跳过循环体,而去执行循环体后面的语句。

从语法上讲,循环体只有一条语句组成。如果需要执行多条语句时,可以使用语句块把它们组合在一起。例 1 展示了一个简单的 while 循环,整数逆序。

【例1】一个while循环 (整数逆序):

// 输入一个整数,输出该数的逆序
#include 

int main()
{
	int x;
	scanf("%d", &x);
	int digit;
	int ret = 0;

	while ( x> 0 ) {
		digit = x%10;
		printf("%d", digit);
		ret = ret*10 + digit;
		// printf("x=%d,digit=%d,ret=%dn", x, digit, ret);
		x /= 10;
	}
	// printf("%d", ret);
	
	return 0;
}

while 循环流程图:

do…while 循环

do…while 循环是一种底部驱动的循环:

do 语句 while (表达式)

在控制表达式被第一次计算之前,循环体语句会首先被执行一次。与 while 和 for 循环不同,do…while 循环会确保循环体语句至少执行一次。如果控制表达式的值为 true,那么另一次循环就会继续;如果是 false,则循环结束。

例 2 展示了一个do… while 循环,数位数。

【例2】一个do… while 循环(数位数):

//输入一个整数,输出该数的位数
#include
int main()
{
	int x;
	int n=0;
	scanf("%d",&x);
	
	do {
		n++;
		x /= 10;
	}while( x> 0 ); 
	printf("%dn",n) ;
	return 0;
 } 

do…while 循环流程图

for 循环

和 while 一样,for 循环也是一个顶部驱动的循环,但是它包含了更多的循环逻辑,如下所示:

for ( [表达式1] ; [表达式2] ; [表达式3] )
语句

在一个典型的 for 循环中,在循环体顶部,下述三个动作需要执行:

(1) 表达式 1:初始化
只计算一次。在计算控制表达式之前,先计算一次表达式 1,以进行必要的初始化,后面不再计算它。

(2) 表达式 2:控制表达式
每轮循环前都要计算控制表达式,以判断是否需要继续本轮循环。当控制表达式的结果为 false,结束循环。

(3) 表达式 3:调节器
调节器(例如计数器自增)在每轮循环结束后且表达式 2 计算前执行。即,在运行了调节器后,执行表达式 2,以进行判断。

例 3 展示了一个 for 循环,计算一个数的 n! 。

【例3】一个for 循环:

#include
int main()
{
	int n;
	
	scanf("%d",&n);
	int fact = 1;
	
	int i = 1;
	for ( i=1; i<=n; i++){
		fact *=i;
	}
	
	printf("%d!=%dn",n,fact);
	return 0;
 } 

for 循环的流程图:

for 循环中的每一个表达式都是可以省略的,for ( ; 条件 ; ) == while ( 条件 )。
例3 中的循环:

for ( i=1; i<=n; i++){
		fact *=i;
	}

可以改写为 while 循环 如下所示;

int i = 1;
while ( i<=n ){
	fact *=n;
	i++;
}

Tips for loops

如果有固定次数用 for必须执行一次用 do…while其他情况用 while

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738608.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号