循环控制语句

goto语句循环

goto语句为无条件转向语句(无条件跳转),其语句标号用标识符表示,定名规则由字母、数字和下划线组成(同变量名定名规则)。不能用整数作标号,如label_1;loop等。一般在需要大大提高效率时使用。

int main(void)
{
int sum = 0;
int i;
i = 1;//循环变量初始化语句
loop:
if(i <= 100)//循环的执行条件语句
{
sum = sum + i;
++i;//使循环趋于结束的语句
goto loop;
}
printf("%d\n", sum);
return 0;
}

while语句循环

“当型”循环结构,表达式为非0时,执行while语句中的内嵌语句。

先判断表达式,后执行语句

int main(void)
{
int sum = 0;
int i;
i = 1;//循环变量初始化语句

while(i <= 100)//循环的执行条件语句
{
sum = sum + i;
++i;//使循环趋于结束的语句

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

​

​

​

若循环体包含一个以上的语句,应用"{}"括起来,以复合语句形式出现。如果未加"{}",则while语句的范围只到while后面第一个“;”处结束。

do...while语句循环

先执行循环体,后判断循环条件是否成立

若表达式结果为非零(真)时,返回重新执行循环语句,反复进行,直到表达式的值为0时,循环结束。

int main(void)
{
int sum = 0;
int i;
i = 1;//循环变量初始化语句
do

{
sum = sum + i;
++i;//使循环趋于结束的语句

}while(i <= 100);//循环的执行条件语句,注意此处有(;)
printf("%d\n", sum);
return 0;
}

​

​

​

for语句循环

无论循环次数是否确定,只要给出循环结束条件均可使用,可以完全替代while语句。

for(循环变量初始化;循环的执行条件;循环趋于结束语句)

int main(void)
{
int sum = 0;
int i;
for(i = 1; i <= 100; ++i)//中间用(;)隔开

{
sum = sum + i;
}

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

​

​

​

​
练习

1.输出水仙花数

int main(void)
{
   int i;
   int a,b,c;
   for(i = 100;i < 1000;++i)
   {
      a = i % 10;
      b = i / 10 % 10;
      c = i / 100;
      if(i == a * a * a + b * b * b + c * c * c)
      {
           printf("%d\n", i);
      }
   }
   return 0;
}

2.输出1--10000之间所有的回文数

int main(void)
{
int i;
for(i = 1;i <= 10000;++i)
{
int n = 0;
int k = i;
while(k)
{
n = n * 10 + k % 10;
k /= 10;
}
if(n == i)
{
printf("%d,",i);
}
}
printf("\b \n");
return 0;
}

循环嵌套

例如:输出100以内的所有素数

int main(void)
{
	int i;
	for(i = 2;i <= 100;++i)
	{
		int n;
		for(n = 2;n < i;++n)
		{
			if(i % n == 0)
			{
				break;
			}
		}
		if(!(n < i))
		{
			printf("%d\n", i);
		}
	}
	return 0;
}
比较:

(1)4种循环都可以用来处理同一问题,一般情况下它们可以互相代替。但一般不 提倡用goto型循环。

(2)在while循环和do…while循环中,只在while后面的括号内指定循环条件,因 此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i++,或i=i+ 1等)。 for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作 全部放到表达式3中。因此for语句的功能更强,凡用while循环能完成的,用for循环都能实现。

(3)用while和do…while循环时,循环变量初始化的操作应在while和dowhile 语句之前完成。而for语句可以在表达式1中实现循环变量的初始化

(4)while循环、do·while循环和for循环,可以用break语句跳出循环,用continue 语句结束本次循环。而对用goto语句和i语句构成的循环,不能用break语句和continue语句进行控制。

  • 15
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值