- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
§4.3.3 for循环语句 for([expr1] ;[ expr2] ;[ expr3]) 循环体语句; 执行流程: expr2 循环体 假(0) 真(非0) for expr1 expr3 一般形式: 先对expr1赋初值,进行初始化; 判断 expr2是否满足给定的循环条件,若满足循环条件,则执行循环体,再执行第③步;若不满足循环条件,则循环结束,转第⑤步; 若expr2为真,则在执行循环体后,求解expr3; 回到第②步继续执行; 退出for循环,执行下面语句。 for(循环变量赋初值;循环条件;循环变量增值) { 循环体语句; } expr1; while(expr2) { 循环体语句; expr3; } for语句一般应用形式: 说明: for语句中expr1, expr2 ,expr3 类型任意,都可省略,但分号;不可省 无限循环: for( ; ; ) for语句可以转换成while结构 循环表达式2:i=10; 作用:循环条件判断; 当i=10时,满足条件,执行循环体,再执行表达式3; 当i10时,不满足条件,终止循环; 循环体内语句:sum+=i; 作用:总值自动加i 循环表达式1:i=0 作用:给i赋值 循环表达式3:i++ 作用:i自动加1 for循环语句举例 int i, sum; sum=0 for (i=0; i=10; i++) sum+=i; 执行结果:变量sum值为55 for循环语句的几种特例 for语句中的小括号内的3个表达式全部空; for( ; ; ) {·······/*循环体*/} 说明:没有初值,无判断条件,循环变量为增值,导致无限循环; ② for语句中的3个表达式,有一个或两个缺省; 表达式1缺省; 说明:没有对循环变量赋初值; 表达式2缺省 说明:不判断循环条件,认定表达式始终为真;导致循环无休止; 例: for (i=1 ; ; i++) sum= sum + i; 相当于: i = 1; While (1) { sum= sum + i; i++; } 表达式1,3缺省 例: for ( ; i=100 ; ) { sum= sum + i; i++; } 等效于: While (i=100) { sum= sum + i; i++; } ③ 没有循环体的for语句; 例: int sum = 2000; for (t = 0 ; t sum; t++); 程序作用:起到延时作用。 K2 K1 亮的二极管 0 0 L1 0 1 L2 1 0 L3 1 1 L4 例:单片机P1口的P1.0和P1.1各接一个开关K1、K2,P1.4、P1.5、P1.6和P1.7各接一只发光二极管。由K1和K2的不同状态来确定哪个发光二极管被点亮。 用if语句实现 #include “reg51.h” void main() { char a; P1=0x0F; a=P1; a=a0x03; /*屏蔽高6位*/ if (a==0) P1=0x83; else if (a==1) P1=0x43; else if (a==2) P1=0x23; else P1=0x13; } 用switch/case语句实现 #include reg51.h void main() { char a; P1=0x0F; a=P1; a=a0x03; /*屏蔽高6位*/ switch(a) { case 0:P1=0x83;break; case 1:P1=0x43;break; case 2:P1=0x23;break; case 3:P1=0x13; } 用goto语句实现 #include “reg51.h” void main() { char a; P1=0x0F; loop: a=P1; a=a0x03; /*屏蔽高6位*/ switch (a) { case0:P1=0x83;break; case1:P1=0x43;break; case2:P1=0x23;break; case3:P1=0x13; } goto loop; } 用while语句实现 #include “reg51.h” void main() { char a; P1=0x0F; while (1) { a=P1; a=a0x03; /*屏蔽高6位*/ switch (a)
文档评论(0)