第六章分岐文と論理演算子
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.
if (test-expression)
statement
if (test-expression)
statement1
else
statement2
if (test-expression1)
statement1
else if (test-expression2)
statement2
else
test_expression ? true_case_expression : false_case_expression
switch (integer_expression)
{
case label1: statement(s)
case label2: statement(s)
...
default: statement(s)
}