跳转语句的使用(break,continue,goto,return)

来源:互联网 发布:网络语长草是什么意思 编辑:程序博客网 时间:2024/05/22 06:27
1、break
(1)使用3种循环语句实现向屏幕上输出*的死循环
    while    do  while  for
int i=0;
while(i<1)
{
   Console.Write("*");
}


do{
 Console.Write("*");
} while(true);
int i;
for(i=0;i<10;)
{Console.Write("*");}
for(;;)
{Console.Write("*");}


(2)break的用法:break语句的作用是结束该语句所在的那层循环。语法:break; break用作循环语句中switch语句
 while(true)
{
 Console.Write("*");
  break;
}
输出100个*后,再执行break语句来停止循环
 while(true)
{
 Console.Write("*");
  break;
}
int i=1;
while(true)
{
 Console.write("*");
i++;
if(i>100)
break;
}
满10个*后换行:
int i=1;
while(true)
   {
    Console.Write("{0,4}","*");
            
  if (i%10==0)
     Console.Write("\n"); //Console.WriteLine();
        i++;
       if(i>100)
         break;
  }


break语句在双重循环的使用。
(1)、使用任意一种循环在屏幕输出10个*(在同1行输出)
static void Main()
     {
         int i=1;
         for (; i <= 10;i++ )
         {
             Console.Write("{0,4}","*");
         }


         Console.ReadLine();
     }


(2)、将程序改为,输出10行* ( 下三角)
static void Main()
     {
         int i=1,j=1;
         for (; j <= 10;j++ )
         {
             for (i = 1; i <= 10; i++)
             {
                 Console.Write("{0,4}", );
                 if(i==j)
                break;
             }
             Console.Write("\n");
         }
    }
(3)、输出九九乘法表
 static void Main()
     {
         int i=1,j=1;
         for (; j <10;j++ )
         {
             for (i = 1; i <10; i++)
             {
                 Console.Write("{0}*{1}={2,-4}",i,j,i*j);
                 if(i==j)
                break;
             }
             Console.Write("\n");
         }


2、continue
(1)continue的作用:结束本轮(次)循环,然后重新开始新一轮的循环。
(2)格式:continue;
(3)在Main 中写4条语句;
 int i=0;
 Console.WriteLine("i="+i);
 i++
(4)将后两条语句放到一个能循环10次的循环体中。


int i=0;
          for (; i < 10; )
          {
              Console.WriteLine("i=" + i);
              i++;
          }


while(i<10)
          {
              Console.WriteLine("i=" + i);
              i++;
          }
(5)、使用Continue语句统计从键盘上输入的整数的个数,如果输入的不是数字,那么忽略,重新输入。
需要下面的知识点:
Continue
int number=0; 
if()
number++;
int n=Console.ReadLine();


int.TryParse(); true


第一步:
定义整型变量 number 和 n 并且使number的初始值为0
int number=0,n;
第二步:
将从Console.ReadLine();中接受的值转换为int类型,并且赋给变量 n  ,如果能成功转换为Int类型的数据,那么输出 n 的值。否则输出“输入的不是数字!”这条信息。
需要用到int.TryParse()方法。
 下面一句
int.TryParse(Console.ReadLine(), out n); 的作用:第1能够将生成的数字放到n变量中。第2,该函数具有返回值,而且返回值还是bool 布尔型。如果第一个Console.ReadLine()输入的是数字,那么说明能够成功的转换为Int类型,所以返回true,否则如果输入的不是数字那么返回false


 static void Main()
      {
          int n, number = 0;
          //n=Convert.ToInt32(Console.ReadLine());
          //n = int.Parse(Console.ReadLine());
          if(int.TryParse(Console.ReadLine(), out n))
          Console.Write(n);
          else
              Console.Write("输入的不是数字!");
          Console.Read();
      }




第三步:将上面的程序 进行 循环。
while (true)
            {
                if (int.TryParse(Console.ReadLine(), out n))
                    Console.WriteLine(n);
                else
                    Console.WriteLine("输入的不是数字!");
            }
上述是死循环,通过增加带条件的break语句退出循环。
 while (true)
            {
                if (int.TryParse(Console.ReadLine(), out n))
                { Console.WriteLine(n);
                if (n == 0)
                    break;
                }
                else
                    Console.WriteLine("输入的不是数字!");
            }
第四步:统计输入的数字的个数。
如果直接在循环体的最后加上number变量的累加语句,并在程序的最后输出该number变量的值,你认为执行结果会有什么不合理的地方?参见下面的代码:
  static void Main()
        {
            int n, number = 0;
            //n=Convert.ToInt32(Console.ReadLine());
            //n = int.Parse(Console.ReadLine());
            while (true)
            {
                if (int.TryParse(Console.ReadLine(), out n))
                { Console.WriteLine(n);
                if (n == 0)
                    break;
                }
                else
                    Console.WriteLine("输入的不是数字!");
                number++;
            }
            Console.Write("输入的数字个数为{0}",number);
            Console.Read();
        }
在循环体中增加continue语句,使得程序只能统计数字的个数。
 while (true)
            {
                if (int.TryParse(Console.ReadLine(), out n))
                {
                    Console.WriteLine(n);
                    if (n == 0)
                        break;
                }
                else
                {
                    Console.WriteLine("输入的不是数字!");
                    continue;
                }
                number++;
            }
3、goto
试验1:
在Main方法中写以下语句,观察执行结果,然后思考goto语句的作用。




 static void Main()
        {
            int i = 0;
          a:
            i++;
          Console.Write(i);
          goto a;
          Console.Read();
        }


(1)goto语句的作用:实现程序代码之间的跳转。


(2)标签的定义和goto语句跳转的语法格式。(建议不用)
 第一步:定义标签。就是在某一条语句的前面加上一个标签名,后面在上冒号。
        标签名:
 第二步: goto 标签名;


试验2:使用goto语句 和 if语句的组合怎么能实现循环的效果?
在下面的Main方法中的代码的基础上,进行如何修改使之成为,计算1到100的和的程序。
 static void Main()
        {
            int i = 1,sum=0;
            sum = sum + i;
            i++;
           Console.Write(sum);
            Console.Read();
        }
4、return
在无返回值的函数中的作用:
空的return语句能够终止无返回值的函数,使得return语句后面的其他语句不再被执行。
观察以下的两段代码:分析它们执行结果有何差别。
 static void Main()
        {
            Console.Write("hello C#!");
            Console.Read();
            return;
        }


 static void Main()
        {
            Console.Read();
            return; 
            Console.Write("hello C#!");
        }


static void Main()
        {
            string name;
            name = Console.ReadLine();
            if (name !="张三")
               return;  
           Console.WriteLine("欢迎 {0} 进入系统", name);
            Console.Read();
        }


在有返回值的函数中,return后面的表达式将作为函数执行后的结果返回。注意,return 后面的表达式的值要和声明函数时函数名前面给出的数据类型一致。
 
 static int Main()
        {
            Console.Write("hello C#!");
            Console.Read();
            return 0;
        }
原创粉丝点击