好的。
所以，現在讓我們來談談什麼 在programming--真正有用的
條件語句。
因此，條件表達式 讓你的程序
做出決定並採取不同的 在路上，一些叉
我前面提到一點， 取決於變量的值，
或基於什麼在用戶輸入 程序員，在命令行中，
或者如果你有一個提示 或者類似的東西。
C有幾個不同的方式來 表示條件表達式，
我們有時也稱之為一個 在程序中條件分支。
而其中的一些要看看 非常熟悉你從頭開始，
因此，我們甚至會拉他們 並排，只是
您可以進行類比在你的腦袋。
>> 因此，if--如果是一個漂亮 簡單的條件。
如果您還記得 划痕這裡權
您可以填寫的是六邊形 用藍色表示，如果按下鼠標
或者，如果x小於10， 或者類似的東西。
然後，如果x是小於10， 或者如果鼠標實際上，下，
所有的內部的代碼 一塊拼圖將執行。
所有適合的東西 這裡面的C型。
>> 同樣，我們是否有 如果左側存在。
如果布爾表達式， 而我只是用
作為替代布爾之一 表達式我們前面所討論的，
大括號，靠近大括號。
所以想開捲曲 支撐和封閉大括號
作為排序類似於夾心 IF塊的右側影響
從頭開始。
>> 如果布爾表達式 在if語句是真實的，
代碼那麼所有的行 大括號
將順序執行 從上到下。
如果布爾表達式 是假的，我們將
跳過之間的一切 花括號，因為我們只
想要走這條岔路 如果布爾表達式為true。
>> 我們可以藉此一步 進一步，如果別的。
因此，這划痕塊 非常相似的一個
我們看到就在一秒鐘前，除 它需要基於兩個不同的路徑
上會發生什麼。
因此，如果鼠標下降， 或者如果x低於10，
我們做的一切，就是在兩者之間 首先叉，首先C.，
>> 否則，如果鼠標 向上，或x是不小於10，
我們將竭盡全力在第二盤。
而這類似於你所看到的 這裡C.如果布爾表達式，
做的東西 第一套大括號。
否則，做的東西 第二盤大括號。
因此，如果布爾 表達式為true，我們將
做的第一組之間無論是。
如果布爾表達式為 假的，這將引發其他人，
而且我們在做什麼的 第二組​​花括號。
再次，從上到下，所有 線路中的大括號之間。
>> 在C語言中，它可以創建 一個的if-else if-else的產業鏈。
事實上，你可以擁有的if-else if-else的 如果其他，如果，等等等等等等
上。
在划痕，這需要 嵌套的塊。
您添加的if-else，你不得不 把別人的裡面一個又一個，
等，它得到了一種 嵌套和複雜。
但是，C，我們沒有做到這一點。
我們可以真正地有 它是一個鏈條是這樣的。
此外，如你所料，所有的 這些分支相互排斥。
你永遠只能走 下的一個分支。
如果這是真的。
否則，如果這是事實。
否則，做到這一點。
因此，所有在這裡為四個分支 例子是相互排斥的。
這是一個的if-else if-else的產業鏈。
>> 這是可能雖然， 有時非常有用，
創造鏈的不 互斥的分支。
在這個例子中，只有第三和 第四分支相互排斥。
這可能是因為你可以 滿足第一條件，
你能滿足 第二個條件，
你能滿足 第三condition--在這種情況下
你會往下走的第一家分行， 然後你去了第二個分支，
那麼你會下降的第三個分支。
或許你滿足第一 條件，第二條件，
但你不符合 第三個條件。
在這種情況下你去第一 支和第二支，
然後第四個分支，
>> 這樣做的原因是，其他 將僅綁定到最近如果。
因此，即使有 一個人在這裡，那
並不一定創造一個相互 一切的獨家鏈。
這只是表達 有布爾
表達3--這就是 互相排斥的人。
因此，它是可能的，並 有時是非常有用的，
正如我所說，創造鏈 不是相互排斥的分支。
讓我們來看看不同 樣的條件，這
在划痕你以前沒有見過。
有一種叫 switch語句。
switch語句是 那種整齊的，因為它是
一個條件語句，它允許 您可以指定不同的情況，
而不是依賴於布爾 表達式來做出決定為您服務。
因此，例如，讓我們說 我有這個程序，
我要問的用戶 提供意見給我。
所以我說，INT X =獲取INT（） 如果你不熟悉呢，
得到int是一個函數，它是 也包括在CS50庫，
所以，如果你＃包括CS50.H你有 訪問獲得INT（）和它的所有
cousins​​-- GetFloat， GetString的，等等。
基本上是獲取功能，每 我們已經討論過的數據類型。
>> 所以詮釋x等於調用getInt。
基本上發生了什麼 是我在終端。
我要求用戶在鍵入一個數字。
>> 在這裡，我切換 我在做什麼，這取決於
哪些用戶鍵入的。
所以，如果他們輸入一個，我打印出來的。
然後，我打破。
如果輸入兩個，我打印了兩次。
然後，我打破。
重要的是要 每種情況下的突破
因為否則就會落空。
所以，如果我沒有任何 符那裡，並且用戶
類型化的，會發生什麼，它是 將打印一，二，三，對不起。
這是一種奇怪的現象，對吧？
你可能會這樣認為。
但是，實際上有一些情況下， 這可能是一個非常有用的東西。
所以這裡有一個開關的另一個例子 聲明中，我省略了斷裂。
但我這樣做的目的。
>> 所以會發生什麼？
想想一秒鐘。
你甚至可以暫停視頻。
>> 這裡發生的事情，如果 在用戶鍵入4？
所以，我要求用戶輸入。
而他們所提供的價值4。
什麼會打印，當我做到這一點？
上一張幻燈片，有 所有病例之間的休息時間。
所以它只是 印刷四，然後停止。
但在這種情況下，也不會。
會發生什麼事是你 將下降至每一種情況下。
>> 因此，在這種情況下，我已經組織了我的情況下， 在這樣一種方式，如果用戶鍵入4，
我將打印四，三， 二，一，點火起飛。
如果他們輸入5，我將開始 五，做同樣的事情。
如果輸入1，我會 只是做一個，升空。
>> 因此，在這種情況下，我使用 開關一種巧妙地使
我不打算回落 在所有的情況下。
但通常你可能會 希望所有的人之間的斷裂，
除非你有一個情況 像這樣的地方你
那種利用的事實，你會 落空的情況下，沒有休息。
所以這是主要的第二 類型的條件語句。
其中最後一個是：？所以，我 有一些C代碼的兩個片段在這裡。
一個在左邊，另一個在右邊。
在一個在左邊應該 可能是相當熟悉。
>> 我詮釋的X.
而我也許應該 已要求用戶
for--這也許應該是int x 等於調用getInt，或者類似的東西。
然後我做決定。
如果某些布爾表達式為 如此，為x的值5。
否則，為x的值6。
>> 這左邊也許應該 從我們的討論相當熟悉
。如果其他人只是剛才。
你會驚訝地知道 該右側的線
做同樣的事情？
>> 所以，這就是所謂的：有時 被稱為三元運算符。
而且它很酷。
它通常用來作為一個可愛的把戲。
>> 但是，它可以讓你做的是 模擬一個用if else用非常小的，
真的平凡短 條件分支。
您通常不會使用：如果您 有6行代碼每組之間
對大括號。
但如果你只是 作出快速的決定，
如果你打算做一件事 或者其他的，這是非常簡單的，
這可能是怎樣的一個例子 做到這一點的？三元運算符。
所以詮釋x等於體現在哪裡？
問題後的事 標誌就是X的值
會如果表達式為true。
>> 之後的事情 結腸癌是X的值
是，如果表達式是假的。
所以我問自己， 是表達真實的？
如果是，為x的值5。
如果不是的話，為x的值6。
此外，就像我說的。
這通常只是一個可愛的把戲。
有時，如果你成為 真舒服，
你這樣做，因為它看起來 很酷在你的程序中。
一般來說，我提出它 你現在讓你熟悉它
如果你看到它。
但是，當然知道你沒有 把它寫在你的任何代碼。
但它是值得熟悉， 因為你一定會遇到
的代碼在這裡片段和 在那裡有這樣的：？語法，
AKA三元運算符，使用。
>> 就這麼簡單的總結 什麼條件句是，
哪些選項可用 您在C.你有如果，如果，否則，
如果否則如果，等等。
您可以使用布爾表達式 對於那些做出決策。
>> 隨著switch語句使用 分立的情況下作出決定。
你會具體說，如果是 一個，或者如果它是兩個，如果是三，
我會做這件事情，或者 這件事情，或者這件事情。
和：可以被用來代替 很簡單的if-else分支，
或者如果其他連鎖店，使 你的代碼看起來有點奇特。
>> 我是道格·勞埃德。
這是CS50。