51单片机C语言的goto无条件转移语句

2013-09-02 14:59 来源:电子信息网 作者:和静

1、goto语句为无条件转向语句,它的一般形式为:

goto 语句标号;

它是将程序运行的流向转到它所指定的标号处去执行

2、结构化程序设计方法主张限制使用goto语句,因为滥用goto语句将使程序流程无规律,可读性差。但也不是绝对禁止使用goto语句,一般来说,可以有两种用途

1)与if语句一起构成循环结构

2)从循环体内跳转到循环体外,但在c语言中可以使用break语句和continue语句跳出本层循环和结束本次循环,goto语句的使用机 会已大大减少,只是需要从多层循环的内层循环跳到外层循环时才用到goto语句。但是这种用法不符合结构化原则,一般不宜采用,只有在不得已时(例如能够 大大提高效率)才使用。

3、在keil c51中新建工程ex22,编写如下程序代码,并编译生成ex22.hex文件。

//实例22:利用goto无条件转移语句使程序执行顺序发生改变,并将结果送到P0口显示

#include //包含头文件

//延时函数

void delay(void)

{

unsigned int i,j;

for(i=0;i<5000;i++)

for(j=0;j<50;j++);

}

void main(void)

{

P0 = 0xff; //程序开始,,p0口的8个led全部熄灭

delay();

//在此添加一个标号

loop: P0 = 0x0f; //

delay();

P0 = 0xf0; //

delay();

goto loop; //无条件跳转到标号处

P0 = 0x55; //由于上一步程序发生了无条件跳转,所以下面这些语句不会被执行

delay();

while(1) // 程序在此无限循环

{

}

}

1 2 > 
仿真 51单片机 goto

相关阅读

暂无数据

一周热门