大丈夫。 だから今のは何かについて話しましょう programming--で本当に役に立ちます 条件文。 だから、条件式 あなたのプログラムを許可します 意思決定を行い、異なる取ります 道路のフォーク、何か 私は、少し前に示唆しました 変数の値に応じて、 またはに基づいて、どのようなユーザ入力で プログラマ、コマンドラインで、 またはプロンプトを持っている場合 またはそのような何か。 Cは異なるいくつかの方法があります 条件式を発現します 我々はまた、時々呼び出します あなたのプログラムで条件分岐。 そして、これらのいくつかは見に行くされています 最初からあなたにかなり精通して、 だから私たちも彼らを引っ張るだろう 並んでまで、ちょうど あなたはあなたの頭の中でその類推を行うことができます。 だから、if--はかなりある場合 条件付きのシンプルな。 あなたがからリコールした場合 ここで右の傷 あなたはその中に埋めることができた六角形であります マウスダウンであれば青表情で または、xが10未満であれば、 またはそのような何か。 そして、xが10未満であれば、 またはマウスがダウンして、実際にあった場合は、 コー​​ドのすべての内部 パズルのピースが実行されます。 フィットすべてのもの そのC字状の内側。 同様に、私たちは持っています そこに左の場合。 ブール式の場合、 これは私が使用しています ブールの一つの代わりとして 我々は前に述べた式、 中括弧、近くに中括弧を開きます。 だから、オープンカーリー考えます ブレースと閉じ中括弧 挟むようにソートの類似 右側の場合はブロックの効果 最初から。 ブール式の場合 if文では、真であります コー​​ドのすべての行 中括弧の間 順番に実行されます 上から下へ。 ブール式の場合 偽である、我々はよ 間ですべてをスキップ 中括弧、我々は唯一の理由 道路でそのフォークを下に行きたいです ブール式が真である場合。 我々は、この一歩を取ることができます さらに他の場合で。 したがって、このスクラッチブロックであります 1とよく似て 我々は除いて、ちょうど秒前見ました それがベースの2つの異なるパスを取ります 何が起こるかについて。 マウスが押されていたのであれば、 またはxは、10未満であった場合 我々は、間にだすべてをやります その最初のフォーク、その最初℃、 そうでなければ、マウスである場合 アップ、またはxが10以上であり、 我々は、第二​​の組に全力を尽くします。 そして、それはあなたが見るものに類似です ここでCのブール式の場合、 間のものを行います 中括弧の最初のセット。 そうでなければ、間のものを行います 中括弧の第二のセット。 ブールもしそうであれば 式が真である、我々はよ 最初のセットの間で何でもやります。 ブール式がある場合 偽、それは他のトリガーとなります、 我々はにどんなのをするだろう 中括弧の第二のセット。 ここでも、上から下に、すべての 中括弧の間の行。 Cでは、それが作成することが可能です if-elseのif-elseチェーン。 実際にあなたが持つことができるのif-elseのif-else if-elseようにそうであれば、というように、と 上。 スクラッチでは、これは、必要な ブロックをネスト。 あなたはのif-elseを追加し、あなたがしなければなりませんでした 他の内側に別のものを入れて、 ように、それは親切です ネストされた、複雑なの。 しかしCは、我々はそれを行う必要はありません。 私たちは実際にちょうど持つことができます それは、このような鎖であること。 繰り返しますが、あなたは、すべてを期待するかもしれないとして、 これらのブランチは相互に排他的です。 あなたは今まで行くことができます ブランチの1ダウン。 場合、これは本当です。 それ以外の場合は、これがtrueの場合。 それ以外の場合は、これがtrueの場合。 それ以外の場合は、これを行います。 したがって、この中の枝のすべての4つの 例では、相互に排他的です。 それはのif-elseのif-elseチェーンです。 それはしかし可能であり、 時には非常に便利な、 ないのチェーンを作成します 相互に排他的な枝。 この例では、唯一の第三及び 第四枝は相互に排他的です。 それはあなたができたことが考えられ 最初の条件を満足します、 あなたは満足でした 第二の条件、 あなたは満足でした 場合には第三condition-- あなたが最初の分岐を下に行くと、 あなたは、第二分岐を下ります その後、第三のブランチを下ることになります。 それとも最初に満足します 条件、および第二の条件、 しかし、あなたは満足していません 第3の条件。 この場合は、最初に下ります ブランチと第二分岐、 して、第四の枝、 この理由は、他のことです 場合にのみ、最寄りにバインドします。 だからだにもかかわらず、 他に、ここで、その 必ずしも相互には作成されません すべての排他的なチェーン。 それが唯一の表現です そこブールと 表情3-- 他と相互に排他的。 だから、可能であり、 時には非常に便利な、 私が言ったように、チェーンを作成します 相互に排他的ではない分岐します。 のは、別のを見てみましょう 条件の種類、どの あなたがスクラッチで前に見たことがありません。 呼ばれるものがあります switch文。 switch文はあります それはだからちょっとすっきり ことができます条件文 あなたは、個別のケースを指定します 代わりにブールに頼るの あなたのための意思決定を行うための表現。 したがって、たとえば、のは言わせて 私はこのプログラムを持っていること、 そして、私は、ユーザーが求めています 私に入力を提供します。 だから私は言う、int型のx =)(INTを取得し、 あなたがまだ慣れていない場合は、 取得intがある機能です また、CS50ライブラリに含ま あなたがCS50.Hを#includeので、もしあなたが持っているでしょう INT()とそのすべてを取得するためのアクセス cousins​​--はGetFloat、 getStringなど。 すべてのための基本的には、1つのGet関数 我々はすでに説明しましたデータ型。 だからint型のxはGetIntでは等しいです。 基本的には何が起こっていますか 私はターミナルでだです。 私は数を入力するようユーザーに求めています。 そして、ここで私が切り替えています 私がやって、依存 ユーザーがプロンプトで入力した内容に。 彼らはいずれかを入力した場合そう、私は1つをプリントアウト。 そして私が壊します。 彼らは2を入力した場合、私は2つをプリントアウト。 そして私が壊します。 それはに重要です それぞれの場合の区切り そうしないとあなたを介して分類されますので。 だから私はいずれかを持っていなかった場合 そこにブレーク、およびユーザー 型指定された1、それは何が起こるだろう 申し訳ありませんが、1、2、3を印刷します。 それは右、奇妙な行動のようなものですか? あなたはそう思うかもしれません。 しかし、いくつかのケースがどこに実際に存在します これはかなり便利なものになる可能性があります。 そこでここでは、スイッチの別の例を示します。 私は休憩を省略声明。 しかし、私はそれを目的にしてください。 だから何がここになりますか? 第二のために考えてみてください。 あなたも、ビデオを一時停止することができます。 何があれば、ここで起こります ユーザーが4? だから私は、ユーザーに入力を求めてきました。 そして、彼らは値4を提供しています。 私はそれを行う際にどのような印刷されますか? 前のスライドでは、ありました すべてのケースの間に休憩。 そしてそれはちょうどだろう 4を印刷した後、停止します。 しかし、この場合には、そうではないであろう。 何が起こるであろうことはあなたです それぞれのケースを通って落下します。 したがって、この場合、私は私の例を組織しました もしユーザーが4となるように、 私が印刷されます4、3、 2、人は、飛び立ちます。 彼らは5を入力した場合、私は開始します 5時と同じことを行います。 彼らは1を入力した場合、私は希望 ただ、いずれかの操作を行い飛び立ちます。 したがって、この場合には、私が使用しています スイッチの種類の巧みので 私は落ちるつもりありません すべてのケースを通じ。 しかし、一般的に、あなたはおそらくつもりです それらのすべての間でブレークしたいです、 あなたは状況がない限り、 あなたがしているこのような あなたがよその事実を活用するの一種 ブレークせずに例を通って落下。 だから、大手の第二のです 条件文の種類。 ?これの最後は次のようになります。だから私 ここでは、Cコードの2スニペットを持っています。 左の一つと右の。 左に1つべきです おそらくあなたにかなり精通しています。 私はint型xを持っています。 そして、私はおそらくべき ユーザーが求めています これはおそらく、int型のxであるべきfor-- GetIntで、またはそのような何かに等しいです。 そして私は、意思決定をするんです。 いくつかのブール式がある場合 真、値5×割り当てます。 それ以外の場合は、値6×割り当てます。 左側のそれはおそらくあるべきです 私たちの議論から、かなりおなじみの ちょっと前にそうであれば。 あなたが知って驚くだろう 右側のラインその まったく同じことをしますか? だから、これが呼び出されます:?または時々 三項演算子と呼ばれます。 そしてそれはかなりクールです。 これは通常、かわいいトリックとして使われています。 しかし、それはあなたが行うことができますすることにあります 本当に小さいとそうでない場合をシミュレートし、 本当に些細なショート 条件分岐。 あなたは、一般的に使用することはありません:?よろしければ 各セット間のコードの6行を持っていました 中括弧の。 しかし、あなたはちょうどなら 迅速な意思決定を行います、 あなたは一つのことをやろうとしている場合 または他の、それは非常に簡単です、 これは方法の例であるかもしれません でそれを行う:?三項演算子を。 だからint型のxは式が等しいですか? 質問した後のこと マークは何のxの値であります 式が真である場合になります。 後の事 コロンは何のxの値であります 式がfalseだった場合であろう。 だから私は自分自身を求めています、 式は本当ですか? それがある場合は、値5×割り当てます。 そうでない場合は、値6×割り当てます。 繰り返しますが、私のように述べています。 これは通常、単にかわいいトリックです。 そして、時にはあなたがなっている場合 実際にそれに慣れて、 それが見えるので、あなたはこれをやります あなたのプログラムでクールのようなもの。 一般的に私はそれを提示しますよ あなたは今、あなたはそれに慣れています あなたはそれを参照してください場合。 しかし、確かにあなたが持っていない知っています あなたのコードのいずれかでそれを書き込むことができます。 しかし、それはに精通しているものです、 あなたは間違いなく遭遇するだろうから ここでは、コードのスニペットと そこにどこにこの:?構文、 三項演算子AKA、使用されています。 上そう簡単にまとめ 何条件文であり、 オプションが利用可能ですか あなたが持っているCであなたにIfとのif-else、 そして、あれば他の場合、エトセトラ。 あなたはブール式を使用することができます それらのための意思決定を行います。 switch文を使用すると、使用します 意思決定を行うための個別のケース。 それはだ場合は、具体的には、と言うでしょう 1、または、2つの場合は、またはそれが3の場合は、 私はこのことを行う、またはよ この事か、この事。 そして:?置き換えるために使用することができます 非常に簡単なのif-else分岐し、 またはのif-elseチェーンが作ります あなたのコードは少し空想に見えます。 私はダグロイドです。 そして、これはCS50です。