欢迎来到天天文库
浏览记录
ID:37535106
大小:1.00 MB
页数:21页
时间:2019-05-12
《嵌入式Linux下C程序设计-04循环语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式Linux下C程序设计主讲:成宝宗循环结构程序设计内容提要:循环就是在满足一定条件时重复执行一段程序概述构成循环的语句while、do-while、for、if-goto循环结构的比较break语句和continue语句While语句用while语句实现循环while语句的一般形式:while(表达式)语句;表达式语句下一语句假(0)真(非0)表达式语句当表达式的值为真(非0)时,执行其中的内嵌语句(循环体),然后回过头来再判断表达式的值,如此重复;当表达式为假(0)时结束循环。while语句的一般形式:whi
2、le(表达式)语句;如:k=1;while(k<=100){s+=k;k++;}循环控制表达式循环控制变量循环体注意:若循环体包含一条以上的语句,应以复合语句形式出现循环体,必须给循环控制变量赋值循环体中,必须有改变循环控制变量值的语句(使循环趋向结束的语句)循环体可以为空如:while((c=getchar())!=‘A’);等价:c=getchar();while(c!=‘A’)c=getchar();编程练习:打印100以内所有的奇数(不包括100)打印100以内所有的偶数(不包括100)打印100以内所有3的
3、倍数,并统计个数。输入一个数,判断是几位数?(使用循环实现!)do-while循环do-while语句用来实现“直到型”循环,它的一般形式为:do语句While(表达式);不可以省略切记切记!!!!!!!语句表达式下一语句假真N-S图注意点与while相同for循环for循环的一般形式:for(表达式1;表达式2;表达式3)语句求解表达式1表达式2语句求解表达式3下一语句假真求解表达式1表达式2语句求解表达式3表达式1在进入循环之前求解(循环变量赋初值)表达式3是循环体的一部分for循环的其他形式:for(;表达式2
4、;)语句表达式3;}表达式1表达式1;表达式3{表达式2为空值永远为真成为死循环变量赋初值这个分号不能移走相当于循环体的一部分可以移到语句后面来说明1、表达式1省略时,应在for前给循环变量赋初值。如:k=1;for(;k<=3;k++)s+=k;2、表达式2省略时,不判断循环条件,将成为“死循环”,需要在循环体内引入break语句以退出循环3、表达式3省略时,循环体内应有使循环条件改变的语句如:for(k=1;k<=3;){s+=k;k++;}4、同时省略表达式1和表达式3,只有表达式2,此时相当于while语句。
5、如:k=1;k=1;for(;k<=3;)while(k<=3){s+=k;k++}{s+=k;k++}5、表达式2一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值不等于0就执行循体如:for(k=1;k-4;k++)s+=k;仅当k的值等于4的时候终止循环。k-4是数值表达式。求100以内的奇数、偶数之和循环的嵌套一个循环体内包含着另一个完整的循环结构,就称为循环嵌套内嵌的循环中又可以嵌套循环,从而构成多重循环。三种循环可以互相嵌套下面给出几种合法的嵌套形式:(1)while嵌套while(
6、2)do-while嵌套do-whilewhile()do{……{……while()do{……}{……}……while();}}while();(3)for嵌套for(4)while嵌套do-whilefor(;;)while(){……{……for(;;)do{……}{……}……while();}……}(5)for嵌套while(6)do-while嵌套forfor(;;)do{……{……while()for{;;}{……}…………}while();}循环嵌套的说明嵌套的循环控制变量不能相同内循环变化快,快循环变化慢
7、正确确定循环体循环控制变量常与求解的问题挂钩有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?main(){inti,j,k;printf("");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for(k=1;k<5;k++){if(i!=k&&i!=j&&j!=k)/*确保i、j、k三位互不相同*/printf("%d,%d,%d",i,j,k);}}几种循环的比较一、关于循环的控制循环控制条件修改循环条件循环条件初始化break语句和
8、continue语句一、break语句用break语句可以结束switch结构和三种循环、for(n=1;n<=100;n++){sum=sum+n;if(sum>1000)break;printf(“%f”,n);}二、continue语句用continue语句可以结束本次循环,既忽略循环体中剩余语句。如:把100-200之间不能被3整除的数
此文档下载收益归作者所有