- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
break、continue和return的用法
break 语句:(循环或 switch)
break 语句会使运行的程序立刻退出包含在最内层的循环或者退出一个 switch 语句(注意:
多层循环只向外跳一层)。由于它是用来退出循环或者 switch 语句,所以只有当它出现在
这些语句时,这种形式的 break 语句才是合法的。
注意:break 语句不能用于循环语句和 switch 语句之外的任何其他语句中。
比如:
unsigned char i, j=50;
for(i=0;i100;i++)
{
if(ij) break;
}
j=i;
当程序循环到 i=51 时,执行 break 语句,跳出 for 循环,开始执行 j=i 这条语句。
continue 语句:(循环)
continue 语句和 break 语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次
新迭代。
注意:continue 语句只能用在 while 语句、do/while 语句、for 语句、或者 for/in 语句的循环
体内,在其它地方使用都会引起错误!
比如:
unsigned char i, j=50;
for(i=0;i100;i++)
{
if(ij) continue;
j=i;
}
当程序循环到 i=51 时,执行 continue 语句,结束本次循环,即不执行下面的 j=i 语句,而
是执行 i++,即 i=52,故 i100,循环的条件成立,循环继续执行,知道 i100 的条件不成立,
for 循环才终止。
return 语句:
return 表示从被调函数返回到主函数继续执行,返回时可以附带一个返回值,返回值可以是
一个常量,变量,或是表达式。
在函数中,如果碰到 return 语句,那么程序就会返回调用该函数的下一条语句执行,也就
是说跳出函数的执行,回到原来的地方继续执行下去。但是如果是在主函数中碰到 return
语句,那么整个程序就会停止,退出程序的执行。
返回值表示执行的顺利与否(-1、0),返回值可以是各种数据类型,如:int、float、double、
char、a【】,*a,结构或类。
在写下面的程序时犯过两个错误:
1、把 return 写错了位置,导致按键扫描到了 return 就退出返回了主函数,按键扫描不完整。
2:、!=的优先级大于,这点没注意。
刚发现以下程序依然是错误的,改正后再更新吧...
[cpp] view plaincopyprint?
1.#include REG51.H
2.
3. #define uint unsigned int
4. #define uchar unsigned char
5.
6. sbit LED=P1^0;
7. sbit P3_0=P3^0;
8. sbit P3_1=P3^1;
9. sbit P3_4=P3^4;
10. sbit P3_5=P3^5;
11. sbit P3_7=P3^7;
12.
13. uint keyval;
14.
15. //延时子函数
16. void Delay_ms(uint a) //延时 a 毫秒,需要输入变量值 0~65535
17. {
18. uint i;
19. while(--a!= 0)
20. {
21. for(i = 0; i 600; i++); //i 从 0 加到 600,CPU 大概就耗时 1 毫秒
22. }
23. }
24. //按键扫描子函数
25. uchar keyscan()
26. { uchar key;
27. uchar keyscan=0x90; //准备读取 P3^4、P3^7 的值,检测 s1 和 s4
28. P3|=keyscan;
29. if((P3keyscan)!=keyscan) //!!!注意:!=的优先级大于,必须加括号
30. {
31. Delay_ms(10);
32. if((P3keyscan)!=keyscan)
33. {
34. key=(P3keyscan);
35. if(key==0x10)
36.
原创力文档


文档评论(0)