转移语句:goto语句,break语句和continue 语句

Ⅰ :转移语句介绍


               C语言中的转移语句包括goto 语句,break 语句和continue语句,当程序有时出现某种情况,需要提早结束或转移执行其他指定语句时,就需要使用转移语句,转移语句可以使程序的流程按照这三种转移语句的使用方式转移。


Ⅱ:转移语句详细介绍

    1)goto 语句


         goto语句为无条件转向语句,它可以使程序立即跳转到函数内部的任意一条可执语句。goto 关键字后面带一个标识符,该标识符是同一个函数内某条语句的标号,标号可以出现在任何可执行语句的前面,并以一个“:”作为后缀。一般形式为:


         goto 标识符;


        

         goto 后面的标识符就是要跳转的目标,当然,这个标识符要在程序的其他地方给出,同时这个标识符要在程序内部。例如:


         

     

goto show; 

 

           printf("Hello word\n"); 

 

           show: 

 

                   printf(‘Hello Tom and Jerry\n“);

        上边的代码段中,goto后的 show 为跳转的标识符,其后的”show :“ 表示goto 语句要跳转的位置。这样在上面的语句执行时,会跳过printf("Hello word\n");而直接执行


show: 后面的语句  printf(‘Hello Tom and Jerry\n“);


       goto 语句举例:



#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int
{ 
int select;                          //定义变量,表示菜单的选项
    
 
"-------MENU--------\n");
"1-----Sell--------\n");
"2-----Buy----------\n");
"3-----Show product-\n");
"4-----Out----------\n");
for
    {
 
"Please input your select :\n"); //提示用户输入选择
"%d", &select);            //输入选择
while
        {
 
if
            {
"You are selling something into store\n");break;
            }
if
            {
"You are buying to consumer\n");break;
            }
 
if
            {
"Checking the store\n");break;
            }
if
            {
goto exit;                      //执行goto跳转语句
            }
 
        exit:
            {
"Exit the program\n");   //跳转语句执行位置
                exit(0);
            }
        }
    }
return
}


 程序运行时,根据输入的选择,输出对应的信息,当输入4时,执行执行goto跳转语句,退出执行过程。

c语言转java转换 c语言转换语句_continue语句




    2)break 语句


              有时会遇到这样的情况,不顾表达式检验的结果而强行终止循环,这时可以使用break  语句,break 语句用于终止并跳出循环。


               break 语句的一般形式为:  break;


              


               例如:


               

while (1) 

 

                  { 

 

                        printf("Break\n"); 

 

                        break; 

 

                   }

               在上面的程序段中,虽然while 语句是一个永远为真的循环,但是再其中使用break 会使程序流程跳出循环。



    注:这个break 语句和 switch()语句中break 语句是不同的。switch() 语句中的break 用的比较多,大家都比较熟悉,这里就不再说明了。


           


            break 语句举例


    使用break 语句跳出循环:


        


#include<stdio.h>
 
int main(void)
{
int count;                 //循环控制变量
for
    {
if (count % 3 == 0 && count % 5 == 0)         //判断条件,如果count=6则终止循环
        {
"Break here\n");
break;
        }
"the count is %d\n", count);            
    }
return
}



定义一个count 从1 开始累加,当遇到第一个既可以被3整除,又可以被5整除的数时,执行printf("Break here\n"); 语句终止循环。




c语言转java转换 c语言转换语句_goto语句_02




         3)continue 语句



          在某些情况下,程序需要终止本次循环,执行下一次循环,而不是跳出循环,此时需要用到continue。continue语句的一般形式为:   continue;


          其作用是结束本次循环,即跳过循环体中下面尚未执行的部分,接着执行下一次的循环操作。



           continue 语句举例:


#include<stdio.h>
 
int main(void)
{
int count;                 //循环控制变量
int n=0;                   //记录次数
"100以内不能被3或5整除的数为:\n");
for
    {
if (count % 3 == 0 || count % 5 == 0)         //判断条件,如果满足则结束本次循环,进行下一次循环
        {
continue;
            
        }
        
"%5d", count);
        n++;
if (n % 5 == 0)                                //5个一换行
        {
"\n");
        }
        
    }
return
}


c语言转java转换 c语言转换语句_转移语句_03





      本程序打印100以内既不能被3整除又不能被5整除的数,使用continue 语句,当遇到可以背3整除或可以被5整除的数时,则跳出本次循环,剔除该数,但并不终止循环,而是进入下一次循环。



  Ⅲ:小结


           goto 语句为无条件转向语句,当遇到goto 语句后面定义的标识符时,则直接执行标识符后面的语句块。continue语句和break 语句的区别是,continue 语句只结束本次循环,而不是终止整个循环的执行,break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。