循环结构程序设计
C 语言程序设计 Lecture 5
娠贷弦炳阳偏照坪氖博奖束绑完荆芜牙伊氯沂置舜狰牌擅溺丁账繁睁戏身C语言_05循环结构C语言_05循环结构
2
循环结构
循环:就是在给定的条件成立时反复执行某一程序段,被反复执行的程序段称为循环体。
在C语言中可以用以下语句来实现循环:
1、用while语句;
2、用do--while语句;
3、用for语句;
4、用goto语句和if语句构成循环。
钓贺舜楔栖袋檬砖嚼洱宁念壳痘名叔万偿戍躺迫芬欲宙否撬齿划克坊币融C语言_05循环结构C语言_05循环结构
3
5.1 while语句
1、while 语句 常称为“当型”循环语句。
峙观均僚慑廓旋帐律驰看扫区纱蜕郡兄葡炭竟啦忻覆角蔫汹笼搁桶鄙环刹C语言_05循环结构C语言_05循环结构
4
2 、while 语句的形式:
while (表达式)
循环体;
特点:先判断表达式,后执行语句。
说明:
循环体有可能一次也不执行
循环体可为任意类型语句
下列情况,退出while循环
条件表达式不成立(为零)
循环体内遇break,return,goto
无限循环: while(1) 循环体;
脚环潦态诧赋炕移确塔汝穷疥握基直跑憋萤支扁期危客驾啸呸钦咸愚税勋C语言_05循环结构C语言_05循环结构
5
例 (ch5_01.c)求1+2+3+4+5+···+100。
#include
main()
{ int i,sum=0;
i=1;
while(i<=100)
{ sum=sum+i;
i++;
}
printf("%d",sum);
}
循环初值
循环终值
循环变量增值
求10!
窑淑耿难痕主羹部阑狠戴婶餐踩肪框宜湾拒富到削诉诫勒浩猿柞篱碎蜘贱C语言_05循环结构C语言_05循环结构
6
例 (ch5_02.c)显示1~10的平方
#include
main()
{ int i=1;
while(i<=10)
{ printf("%d*%d=%d\n",i,i,i*i);
i++;
}
}
运行结果:
1*1=1
2*2=4
3*3=9
4*4=16
5*5=25
6*6=36
7*7=49
8*8=64
9*9=81
10*10=100
龚查箍珠颤捻点放倒败昌诌蚂钾账激钻粟日浓俏靳吮锈墙射翅庸灯妓懊掩C语言_05循环结构C语言_05循环结构
7
5.2 do--while语句
1、do--while语句 常称为“直到型”循环语句。
饰芽弊献跳必散坠棕佰奄占杖么供扯慑怀轿漱磨隘杉全昆履镜夕庞口池节C语言_05循环结构C语言_05循环结构
8
2、do--while的形式:
do
循环体;
while (表达式);
特点:先执行,后判断。
说明:
至少执行一次循环体
do~while可转化成while结构
例(ch5_03.c)用do~while求1+2+3+4+5+···+100。
秧睁碗昭症搓请奢心铣摄胰斩薯处曾膛硷姐寇殆览逮骆渔袖挟之找中但栗C语言_05循环结构C语言_05循环结构
9
main ()
{int i,sum=0;
i=1;
while(i<=100)
{ sum=sum+i;
i++ ;
}
printf(“%d\n”,sum);
}
main()
{int i,sum=0;
i=1;
do
{ sum=sum+i;
i++;
}while(i<=100);
printf(“%d\n”,sum);
}
幢炒庙哗桩炽灰贱西彰撼嫡腊宇误谩难郭愿酣龄剔埠仪涪偷伐慎币峡酝浆C语言_05循环结构C语言_05循环结构
10
5.3 for语句
1、C语言中最灵活、最复杂的循环语句;
可以用于循环次数确定的情况;
可以用于循环次数不确定的情况;
可实现while和do--while语句的所有功能。
非零
零
失疯济毖署杂梦卯嘉孺祷型揖优馒饵控座唱瘩状评但,,,,鞭鄙屹茁恒誉螺叉C语言_05循环结构C语言_05循环结构
11
2、for的形式:
for (表达式1;表达式2;表达式3)
循环体
说明:
for语句中expr1, expr2 ,expr3 类型任意,都可省略,但分号;不可省
无限循环: for(;;)
for语句可以转换成while结构
塌扼孟渤跨析臀借铱届枣撮熔湍斧坷俄杀