跳轉語句的使用(break,continue,goto,return)

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;
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章