循环结构(几种语句)

目录

前言

一、循环结构——while语句

1.while语句

2.do...while语句

3.while语句和do...while语句的比较

二、循环结构——for语句

1.结构

2.for语句的几种形式 

3.用break语句提前终止循环

4.用continue语句提前结束本次循环

三、几种循环的比较


前言

九月十日总结笔记

一、循环结构——while语句

1.while语句

while(表达式)

    {语句}

注意:

1.while循环的特点是先判断条件表达式,后执行循环体语句。

2.“语句”就是循环体。循环体可以是一个简单地语句,可以是复合语句(用花括号括起来的若干语句)。

3.表达式的值为“真”(以非0值表示)时,就执行循环体语句;为“假”(以0表示)时,就不执行循环语句,退出循环。

#include<stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		printf("*************\n");
		i++;
	}
	return 0;
}

2.do...while语句

do

       语句

while(表达式);

注意:

do...while语句的特点是,先无条件的执行循环体,然后再判断循环条件是否成立。

例:用do...while语句循环求从1加到100的和,即1+2+3+4...+100。

#include<stdio.h>
int main()
{
	int i = 1, sum = 0;
	do
	{
		sum = sum + i;
		i++;
	}
 while (i <= 100);
	printf("sum=%d\n", sum);
	return 0;
}

3.while语句和do...while语句的比较

当while后面的表达式的第一次的值为“真”时,两种循环得到的结果相同;否则,两者的结果不同(指两者具有相同的循环体的情况)。

二、循环结构——for语句

1.结构

for(表达式1;表达式2;表达式3)

语句

表达式1;

while表达式2

{

     语句

     表达式3

}

 

 

 

 

 [例]用for语句求1+2+3...+100。

#include<stdio.h>
int main()
{
	int i = 1, sum = 0;
	for (i = 1; i <= 100; i++)
		sum = sum + i;       //实现迭代
	printf("%d\n", sum);
	return 0;
}

2.for语句的几种形式 


1.for语句的一般形式中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值。注意,省略表达式1时,其后的分号不能省略。如:

i=1;

for(;i<=100;i++)

sum=sum+1;


2.如果表达式2省略,即不判断循环条件,循环无终止的进行下去。也就是认为表达式2始终为真。

for(i=1;;i++)

sum=sum+1;


3.表达式3也可以省略,但应另外设法保证循环能正常结束,如:

for(i=1;i<=100;  )

{sum=sum+1;

i++;

}


4.可以省略表达式1和表达式3,只有表达式2,即只给循环条件。在这种情况下,完全等同于while语句。可见for语句比while语句功能强,除了可以给出循环条件外,还可以赋初值,使循环变量自动增值等。如:

i=1;

for(;i<=100; )

{

sum=sum+i;

i++;

}


5.三个表达式都可省略,例如:

for( ;  ;  );    //相当于while(1)语句

即不设初值,不判断条件(认为表达式2为真值),循环变量不增值。无终止的执行循环体。


6.表达式1可以是设置循环变量初值的赋值变量,也可以是与循环变量无关的其他表达式。表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。如:

for(i=1,sum=0;i<=100;i++)

sum=sum+i;


7.表达式2一般是关系表达式(如i<=100)或逻辑表达式(如a<b&&x<y),但也可以是数值表达式或字符表达式,只要其值为非0,就执行循环体。如:

for(x=10;x;x==)

sum=sum+x;


3.用break语句提前终止循环

break;


作用:break语句可以使流程跳出switch结构;还可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句。

注意:break语句只能用于循环语句和switch语句之中,而不能单独使用。


4.用continue语句提前结束本次循环

continue;


作用:结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。


break语句和continue语句的区别:

continue语句只结束本次循环,而非终止整个循环。

break语句结束整个循环,不再判断执行循环的条件是否成立。

三、几种循环的比较

①3种循环都可以用来处理同一问题,一般情况下它们可以相互代替。

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

③在while循环和do···while循环中,只在while后面的括号内指定循环条件,因此为了使循环正常结束,应在循环体中包含使循环趋向结束的语句(如i++,或i=i+1等)。

for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放在表达式3中。因此for语句的功能更强,凡用while循环能完成的,用for循环都能实现。

④while循环、do···while循环和for循环都可以用break语句跳出循环,用continue语句结束本次循环。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值