好吧。
所以，现在让我们来谈谈什么 在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。