C语言无条件转移语句goto.ppt
第六节,无条件转移语句goto,语句标号、goto语句及用goto语句构成的循环,5.6 break语句和continue语句在循环体中的作用,无条件转移语句goto,无条件转移语句goto,C语言可以用如下语句实现循环:1.用goto语句和if语句构成循环。2.用while循环语句。3.用do-while循环语句。4.用for循环语句。,goto语句及用goto语句构成循环,1.语句标号 语句标号就是给程序中的某一个语句定义的标识符,标号可以是任意合法的标识符,在语句标号和语句之间必须加一个冒号作为分隔符。C程序中的任何一个可执行语句之前都可以加上语句标号。,无条件转移语句goto,例如:stop:printf(ENDn);通常,语句标号只是用作goto语句的转向目标。如:goto stop;如果程序中没有用goto语句改变程序的执行顺序,也就没有必要出现语句标号。,2.goto语句,goto语句称为无条件转向语句。goto语句的一般形式为:goto 语句标号;goto语句的作用是把程序的执行转移到语句标号所在的位置,但这个语句标号必须与此goto语句在同一个函数之内。,无条件转移语句goto,goto语句不符合结构化程序设计的原则,因为无条件转向使得程序的结构没有规律、可读性差。对于初学者来说应尽量避免使用goto语句,但如果使用goto语句能够大大地提高程序的执行效率,也可以使用。,3.用goto语句构成的循环结构,#include stdio.hmain()int n=0;char ch;printf(input a stringn);loop:ch=getchar();n+;if(ch!=n)goto loop;n=n-1;/*不要字符n*/printf(%d,n);,goto语句通常与条件语句配合构成条件转移语句,用来实现构成循环或跳出循环等功能。例5.1 统计从键盘输入的一行字符的个数。,例5.2 输入一组数据求和,#include main()int number,sum=0;loop:scanf(%d,从键盘输入完一组数据后,再输入一个0作为结束输入数据的标志。,无条件转移语句goto,