第六章分岐文と論理演算子

2951 ワード

第六章分岐文と論理演算子


6.1 if文


If文はまず条件をテストし、条件がtrueの場合if文はプログラム実行文または文ブロックを起動し、条件がfalseの場合、プログラムはこの文または文ブロックをスキップします.
If文の構文:
if (test-expression)

    statement

if文全体は、whileと同様に、statementまたは文、またはカッコで囲まれた文ブロックの文です.

6.2 if else文


If else文は、2つの文またはブロックのどちらを実行するかをプログラムに決定させる.
If else文の構文:
if (test-expression)

    statement1

else

    statement2

6.3 if else if else文
if else文を連用する場合は、次のフォーマットを使用します.
if (test-expression1)

    statement1

else if (test-expression2)

    statement2

else

6.4論理式

6.4.1論理または演算子


論理または演算子は|,2つの論理式の1つがtrueの場合,結果はtrue,そうでない場合falseである.

6.4.2論理と演算子


論理と演算子は&&であり、2つの論理式の1つがfalseの場合、結果はfalseであり、そうでなければfalseである.

6.4.3論理非演算子


論理非演算子は!論理式がtrueの場合、結果はfalse、そうでない場合はtrueです.

6.4.4論理演算子の詳細


|&&演算子の優先度は、リレーショナル演算子よりも低くなります.
演算子の優先度は&&演算子より低い.
    !演算子の優先度は、すべての関係演算子と算術演算子より高いです.
演算子の優先度は知っていますが、できるだけかっこを使うべきです.これにより、エラーを防止するだけでなく、コードの可読性を向上させることができます.

6.5  ? :演算子


条件演算子(?:)if else文の代わりに共通語を使用します.は、C++の唯一の3つの演算子です(つまり、3つのオペランドを受け入れます).フォーマットは次のとおりです.
test_expression ? true_case_expression : false_case_expression

test_expressionがtrueの場合、true_が実行されます.case_expression、そうでなければfalse_を実行case_expression.

6.6 switch文


Switch文の形式は次のとおりです.
switch (integer_expression)

{

case label1: statement(s)

case label2: statement(s)

...

default: statement(s)

}

ここでinteger_expressionは整数の式でなければなりません.
各labelは、整数定数式(字面値、列挙量、定数など)でなければなりません.integer_expressionがlabelに一致しない場合はdefaultラベルにジャンプします.Defaultラベルはオプションで、省略されて一致しないラベルの場合、プログラムはswitch文から飛び出します.C++のcaseラベルが一致すると、残りのラベル内の文を含むすべての文が実行されます.プログラムが特定の文のセットを実行した後に停止するには、break文を使用する必要があります.
ヒント:if else文もswitch文も使用できる場合は、オプションが3つ以上の場合はswitch文を使用します.

6.7 breakとcontinue文


switch文またはループでbreak文を使用すると、プログラムがswitchまたはループから飛び出します.Continue文はループに使用され、プログラムにループの残りのコードをスキップさせ、新しいループを開始させる.while文では、次の条件テストを直ちに実行し、forループでupdate_を先に実行します.expression,test_を再実行expression.