资源描述:
《C语言 5 5.1.5.5 循环结构程序 设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、循环结构程序设计C语言程序设计Lecture5循环结构循环:就是在给定的条件成立时反复执行某一程序段,被反复执行的程序段称为循环体。在C语言中可以用以下语句来实现循环:1、用while语句;2、用do--while语句;3、用for语句;25.1while语句1、while语句常称为“当型”循环语句。循环体非零零表达式32、while语句的形式:while(表达式)循环体;特点:先判断表达式,后执行语句。说明:循环体有可能一次也不执行循环体可为任意类型语句下列情况,退出while循环条件表达式不成立(为零)循环
2、体内遇break,return,goto无限循环:while(1)循环体;4例(ch5_01.c)求1+2+3+4+5+···+100。#includemain(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循环初值循环终值循环变量增值循环条件循环体思考:求10!5例(ch5_02.c)显示1~10的平方#includemain(){inti=1;while(i<=10){printf("%d*
3、%d=%d",i,i,i*i);i++;}}运行结果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=1006例(ch5_03.c)求2个整数的最大公约数思考:24和42的最大公约数=?公式:gcd(a,b)=gcd(b,a%b)则gcd(42,24)=gcd(24,42%24)=gcd(24,18)=gcd(18,24%18)=gcd(18,6)=gcd(6,18%6)=gcd(6,0)6即为24和42的最大公约数。7例(ch5_03.c)
4、求2个整数的最大公约数#includemain(){inta,b,t;scanf(“%d,%d”,&a,&b);while(b<=10){t=a%b;a=b;b=t;}printf(“最大公约数:%d",a);}运行过程:tab=========422418241818606081.循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句形式出现。2.循环体中应有使循环趋于结束的语句。例:分析下列三个程序段注:i=1;while(i<=100){putchar(‘*’);i++;}i=
5、1;putchar(‘*’);i++;i=1;while(i<=100);putchar(‘*’);i++;95.2do--while语句1、do--while语句常称为“直到型”循环语句。循环体非零零表达式102、do--while的形式:do循环体;while(表达式);特点:先执行,后判断。说明:至少执行一次循环体do~while可转化成while结构例(ch5_03.c)用do~while求1+2+3+4+5+···+100。#includemain(){inti,sum=0;i=1;
6、do{sum+=i;i++;}while(i<=100);printf("%d",sum);}11main(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf(“%d”,sum);}main(){inti,sum=0;i=1;do{sum=sum+i;i++;}while(i<=100);printf(“%d”,sum);}12[例5-4]求1+2+3+……,直到和大于1000为止#include“stdio.h”main(){ints,i;i=1;
7、s=0;do{s+=I;i++;}while(s<=1000);printf(“s=%d”,s);}135.3for语句1、C语言中最灵活、最复杂的循环语句;表达式1表达式2循环体语句表达式3可以用于循环次数确定的情况;可以用于循环次数不确定的情况;可实现while和do--while语句的所有功能。非零零142、for的形式:for(表达式1;表达式2;表达式3)循环体说明:for语句中expr1,expr2,expr3类型任意,都可省略,但分号;不可省无限循环:for(;;)for语句可以转换成whil
8、e结构循环变量赋初值循环终止条件循环变量控制15sum=0;for(i=1;i<=100;i++)sum=sum+i;它相当于以下语句:i=1;while(i<=100){sum=sum+i;i++;}表达式1;while(表达式2){语句;表达式3;}163、for语句中表达式的省略(1)for语句一般形式中的“表达式1”可以省略;如:sum=0;i=1;for(;i<=100;i+