论坛数据统计           欢迎到【弱电论坛】来学习和讨论问题!

★电工电气产品供求、电气展会、人才、电气技术文章、图库、电气技术论坛等相关内容,请跳转至【电气之家网】--- 可直接使用本站会员名和密码登陆!(首次使用需要激活账户)
标王 热搜: 网络监控  弱电  机房及机柜内部的理线方法  楼宇对讲  CAD  门禁  综合布线  ar800-hn  工资  面板 
 
 
当前位置: 首页 » 技术 » 电工电子 » 单片机 » 正文

单片机的c语言教程---第八课:语句(5)-循环语句

放大字体  缩小字体 发布日期:2008-01-24  来源:互联网  作者:manage  浏览次数:2945
核心提示:循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操作。如一个12M的51芯片应用电路中要求实现1毫秒的延时,那么就要执行1000次空语句才可以达到延时的目的(当然可以使用定时器来做,这里就不讨论),如果是写1000条空语句那是多么麻烦的事情
 
 
循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操作。如一个12M的51芯片应用电路中要求实现1毫秒的延时,那么就要执行1000次空语句才可以达到延时的目的(当然可以使用定时器来做,这里就不讨论),如果是写1000条空语句那是多么麻烦的事情,再者就是要占用很多的存储空间。我们可以知道这1000条空语句,无非就是一条空语句重复执行1000次,因此我们就可以用循环语句去写,这样不但使程序结构清晰明了,而且使其编译的效率大大的提高。在C语言中构成循环控制的语句有while,do-while,for和goto语句。同样都是起到循环作用,但具体的作用和用法又大不一样。我们具体来看看。

goto语句
   这个语句在很多高级语言中都会有,记得小时候用BASIC时就很喜欢用这个语句。它是一个无条件的转向语句,只要执行到这个语句,程序指针就会跳转到goto后的标号所在的程序段。它的语法如下:

   goto 语句标号;

其中的语句标号为一个带冒号的标识符。示例如下

void main(void)
{
unsigned char a;
start: a++;
if (a==10) goto end;
goto start;
end:;
}

  上面一段程序可以说是一个死循环,没什么意思,只是说明一下goto的用法。这段程序的意思是在程序开始处用标识符"start:"标识,表示程序这是程序的开始,"end:"标识程序的结束,标识符的定义应遵循前面所讲的标识符定义原则,不能用C的关键字也不能和其它变量和函数名相同,不然就会出错了。程序执行a++,a的值加1,当a等于10时程序会跳到end标识处结束程序,否则跳回到start标识处继续a++,直到a等于10。上面的示例说明goto不但可以无条件的转向,而且可以和if语句构成一个循环结构,这些在C程序员的程序中都不太常见,常见的goto语句用法是用它来跳出多重循环,不过它只可以从内层循环跳到外层循环,不能从外层循环跳到内层循环。在下面说到for循环语句时再略为提一提。为何大多数C程序员都不喜欢用goto语句?那是因为过多的使用它时会程序结构不清晰,过多的跳转就使程序又回到了汇编的编程风格,使程序失去了C的模块化的优点。

 
 
 
[ 技术搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 
0条 [查看全部]  相关评论

 
点击排行
 
 
 
弱电基础 | 常用软件 | 信息发布规则 | 积分规则 | VIP会员注册 | 广告投放 | 弱电培训 | 联系我们 | 版权声明 | 帮助中心 | 网站地图 | 排名推广 | 京ICP备11008917号-3 | RSS订阅
★本站手机app客户端已上线! 点击下载