C条件付き

C条件の概要:if / elseおよびswitch

どのプログラミング言語でも、プログラマーは選択を実行できます。

Xを実行したい場合もあれば、Yを実行したい場合もあります。

データを確認し、そのデータの状態に基づいて選択を行います。

Cは、そのための2つの方法を提供します。

最初はifステートメント、そのelseヘルパー、そして2番目はswitchステートメント。

if

ifステートメントでは、条件が真であることを確認してから、中括弧で囲まれたブロックを実行できます。

int a = 1;

if (a == 1) { /* do something */ }

あなたは追加することができますelse元の条件がfalseであることが判明した場合に、別のブロックを実行するためのブロック。

int a = 1;

if (a == 2) { /* do something / } else { / do something else */ }

バグの一般的な原因の1つに注意してください-常に比較演算子を使用してください==比較では、代入演算子ではありません=、それ以外の場合はif引数がそうでない限り、条件付きチェックは常に真になります0、たとえば、次の場合:

int a = 0;

if (a = 0) { /* never invoked */ }

なぜこれが起こるのですか?条件付きチェックはブール結果(比較の結果)を検索するため、0数値は常に偽の値に等しくなります。負の数を含め、他のすべては真実です。

あなたは複数を持つことができますelse複数を積み重ねてブロックするifステートメント:

int a = 1;

if (a == 2) { /* do something / } else if (a == 1) { / do something else / } else { / do something else again */ }

switch

おそらく変数の正確な値をチェックする必要があるために、チェックを実行するためにif / else / ifブロックを実行する必要がある場合は、switchあなたにとって非常に便利です。

条件として変数を提供し、一連のcase期待する各値のエントリポイント:

int a = 1;

switch (a) { case 0: /* do something / break; case 1: / do something else / break; case 2: / do something else */ break; }

必要ですbreak各ケースの最後にキーワード。前のケースが終了したときに次のケースが実行されないようにします。この「カスケード」効果は、いくつかの創造的な方法で役立ちます。

最後に「キャッチオール」ケースを追加して、ラベルを付けることができますdefault

int a = 1;

switch (a) { case 0: /* do something / break; case 1: / do something else / break; case 2: / do something else / break; default: / handle all the other cases */ break; }

私の無料ダウンロードCハンドブック


その他のclangチュートリアル: