程式設計學習第一週D(if else的廬山真面目)
阿新 • • 發佈:2021-02-05
今天是週六,爸爸先給我複習了下前幾天晚上學的程式設計知識,然後告訴我今天時間多,要讓我再見識下if else的威力。天吶!還是if else,我還不能學習更多英語單詞,那我什麼時候可以寫遊戲?
爸爸跟我說if else有好幾種形態,這幾天我們寫的都是終極形態。
if (條件判斷1)
{
程式語句;
}
else if (條件判斷2)
{
程式語句;
}
else if (條件判斷3)
{
程式語句;
}
...
else
{
程式語句;
}
如果前面的條件加起來包含了所有條件,程式不可能走向最後一個else的話,最後一個else可以省略。
if (條件判斷1)
{
程式語句;
}
else if (條件判斷2)
{
程式語句;
}
else if (條件判斷3)
{
程式語句;
}
...
如果所有情況裡只有兩個判斷條件的話,可以去除中間的else if 。
if (條件判斷1)
{
程式語句;
}
else
{
程式語句;
}
如果只關心某個判斷條件,甚至可以減肥成下面這樣。
if (條件判斷1)
{
程式語句;
}
可以歸納為if必須有,else if可以有0~N個,else可以沒有,有的話只能出現一次。
另外可以將多個判斷條件寫在一個()裡,如用&&表示兩個判斷條件都成立才執行,用||表示只要其中一個判斷條件成立就可以執行。如爸爸給我講的一個求最大數的例子:輸入3個數,程式回答我們最大的那個數。可以通過下面的程式碼完成任務。
using System;
namespace Test
{
public class Program
{
static void Main(string[] args)
{
int m1 = int.Parse(Console.ReadLine());
int m2 = int.Parse(Console.ReadLine());
int m3 = int.Parse(Console.ReadLine());
if (m1 >= m2 && m1 >=m3)
{
Console.WriteLine("第一個數"+m1+"最大");
}
else if (m2 >= m1 && m2 >=m3)
{
Console.WriteLine("第二個數"+m2+"最大");
}
else if (m3 >= m1 && m3 >=m2)
{
Console.WriteLine("第三個數"+m3+"最大");
}
}
}
}
最難的Boss是if else裡可以還包含if else的各種形態,然後裡面的if else繼續可以包含各種形態的if else,可以無限地這樣下去。就像最大的魚可以吃中等大小的魚,中等大小的魚可以吃小的魚,小的魚可以繼續吃比它還小的魚。
求最大數的程式可以通過巢狀if else來實現。
using System;
namespace Test
{
public class Program
{
static void Main(string[] args)
{
int m1 = int.Parse(Console.ReadLine());
int m2 = int.Parse(Console.ReadLine());
int m3 = int.Parse(Console.ReadLine());
if (m1 >= m2 )
{
if (m1 >= m3)
{
Console.WriteLine("第一個數"+m1+"最大");
}
else
{
Console.WriteLine("第三個數"+m3+"最大");
}
}
else
{
if (m2 >= m3)
{
Console.WriteLine("第二個數"+m2+"最大");
}
else
{
Console.WriteLine("第三個數"+m3+"最大");
}
}
}
}
}
原來if else還有這麼多種玩法,爸爸說靈活運用if else可以處理很多很多功能。然後又說教了一番“這個是武功裡的扎馬步,基本功必須練好”,“這個是建房子,根基沒打好,後面建高了房子很容易倒塌”。最後爸爸給我留了幾道練習題,讓我週日再練習if else。