资源描述:
《C语言程序设计教程 教学课件 作者 杨文君 蔡春华 刘志宇第四章 .ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章循环结构程序设计概述C语言可实现循环的语句:while语句do~while语句for语句while语句一般形式:while(表达式)循环体语句执行流程:表达式循环体假(0)真(非0)while特点:先判断表达式,后执行循环体说明:循环体有可能一次也不执行循环体可为任意类型语句循环体如有多条语句,必须用{}括起来构成复合语句,若只有一条语句,则可不用{}#includemain(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循环初值循环终值循环变量增值循环条件循环体例用while循环求例显示
2、1~10的平方#includemain(){inti=1;while(i<=10){printf("%d*%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=100do~while语句一般形式:do循环体语句while(表达式);执行流程:do循环体表达式假(0)真(非0)while表达式循环体假(0)真(非0)循环体While循环特点:先执行循环体,后判断表达式说明:至少执行一次循环体do~while可转化成while结构#include
3、main(){inti,sum=0;i=1;do{sum+=i;i++;}while(i<=100);printf("%d",sum);}例用do~while循环求for语句一般形式:for([表达式1];[表达式2];[表达式3])循环体语句执行流程:表达式2循环体假(0)真(非0)for表达式1表达式3说明:for语句中表达式1,表达式2,表达式3类型任意,都可省略,但分号“;”不可省无限循环:for(;;)for语句可以转换成while结构表达式1;while(表达式2){循环体语句;表达式3;}例用for循环求#includemain(){inti,sum=0;for
4、(i=1;i<=100;i++)sum+=i;printf("%d",sum);}例:#includemain(){inti;for(i=0;i<10;i++)putchar(‘a’+i);}运行结果:abcdefghij例:#includemain(){inti=0;for(;i<10;i++)putchar(‘a’+i);}例:#includemain(){inti=0;for(;i<10;)putchar(‘a’+(i++));}例:#includemain(){inti=0;for(;i<10;putchar(‘a
5、’+i),i++);}循环的嵌套三种循环可互相嵌套,层数不限外层循环可包含两个以上内循环,但不能相互交叉(1)while(){……while(){……}…...}(2)do{……do{……}while();…...}while();(3)while(){……do{……}while();…….}(4)for(;;){……do{……}while();……while(){……}…...}例循环嵌套,输出九九表146981216101520251218243036142128354249162432404856641827364554637281例循环嵌套,输出九九表#include
6、main(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%6d",i*j);printf("");}}辅助控制语句break语句功能:终止并跳出循环体或switch语句说明:break只能终止并跳出最近一层的结构break不能用于循环语句和switch语句之外的任何其它语句之中continue语句功能:提前结束本次循环,跳过循环体中尚未执行的语句,继续进行下一次循环的条件判断仅用于循环语句中例判断m是否素数#includemain(){intm,i;scanf(“%d”,&m);for(i=2;i<=m-1;i++
7、)if(m%i==0)break;if(i>=m)printf(“%d是素数”,m);elseprinft(“%d不是素数”,m);}例求输入的十个整数中正数的个数及其平均值#includemain(){inti,num=0,a;floatsum=0;for(i=0;i<10;i++){scanf("%d",&a);if(a<=0)continue;num++;sum=s