「C ++入門書」リーディングノート-第5章ステートメント

著者:Ma Zhifeng
リンク:https://zhuanlan.zhihu.com/p/23669058
出典:
著者がほぼ著作権を所有していることを知ってい ます。商用の再版については、著者に連絡して許可を得てください。非商用の再版については、出典を示してください。

ステートメント:

  • 記事の内容は「C ++ Primer Chinese Edition(5th Edition)」から収集・編集されたものであり、著作権は原本に帰属します。
  • オリジナルの本はより詳細で素晴らしい解釈を持っています、学習のために本物の本を購入してください。
  • この記事は学習とコミュニケーションのみを目的としており、いかなる形式の転載も禁止されています
  • 単文
    • 式ステートメント
    • 空のステートメント
    • 重文
  • ステートメントの範囲
  • 条件文
    • もし
    • スイッチ
  • 反復ステートメント
    • 一方
    • にとって
    • の範囲
    • 一方を行います
  • ジャンプステートメント
    • ブレーク
    • 継続する
    • 後藤
    • 戻る
  • ステートメントと例外処理を試してください
    • tryステートメント
    • 式を投げる
    • 例外クラス

式ステートメント

式の最後にセミコロンを追加して、式ステートメントにします

その効果は、式を実行し、評価結果を破棄することです。

空のステートメント

セミコロンが1つだけ含まれています

余分なセミコロンを書くと

int i = 0;;

実際には2つの文であり、次のセミコロンは空の文です

この状況は効果がありませんが、

while( i < 10 ) ;  
    ++i;

空のステートメントはwhileループの本体を構成し、無限ループにつながります

複合ステートメント(ブロック)

ブロックとも呼ばれる中括弧で囲まれたステートメントと宣言シーケンス

ブロックはセミコロンで終わらない

ステートメントの範囲

ブロックはスコープです

if、switch、while、forで定義された変数は、ローカルスコープに属します

条件文

MZF:中括弧を追加すると、作業がはるかに簡単になります

もし

ステートメントをネストできる場合

if(condition)  
    if(condition)  
        statement  
else  
    if(condition)  
        statement  
    else if(condition)  
        statement

if ... elseに一致するようにインデントを使用します。実際、ifの数がelseより多い場合、それはぶら下がりelse問題と呼ばれます

したがって、最初のelseは実際には内側のifと一致し、文全体が複雑になり、理解しにくくなります

中括弧を追加すると、作業が簡単になります

if(condition)  
{  
    if(condition)  
    {  
        //do something  
    }  
}  
else  
{  
    if(condition)  
    {  
        //do something  
    }  
    else if(condition)  
    {  
        //do something  
    }  
}

中括弧内のステートメントにはブロックスコープしかないため、最初の場合、内側のifが表示されない場合、最初のifと一致します。これは、まさに私たちが望むものです。

スイッチ

ケースラベルは整数定数式である必要があります

シンプルで明確な書き方

switch( i ) 
{  
    case 0:  
        {  
            //do something 
        }  
        break;  
    case 1:  
        {  
            //do something  
        }  
        break;  
    case 2:  
        {  
            //do something  
        }  
        break;  
    default:  
        {  
            //do something  
        }  
        break;  
}

ケースラベルが正常に一致した場合、プロセスが明示的に中断されない限り、すべてのケースブランチがラベルから順番に実行されます。

したがって、中括弧を追加して中断すると、イベントは単純になります

反復ステートメント

  • 一方
  • にとって
  • の範囲
  • 一方を行います

私たちは皆これらの文章に精通しています、ただ本をもう一度読んでください

forステートメントヘッダーは、initステートメント、条件、および式のいずれか(またはすべて)を省略できます。

do whileステートメントは、最初にループ本体を実行してから条件をチェックするため、条件が真であるかどうかに関係なく、ループ本体は少なくとも1回実行されます。

do whileは中括弧で終わらないが、その後にセミコロンを付ける必要があることに注意してください。

do  
    statement  
while(condition);

ジャンプステートメント

  • breakは、最も近いwhile、do while、for、またはswitchステートメントを終了する責任があります。
  • continueは現在の反復を終了し、すぐに次の反復を開始します
  • スイッチが反復ステートメント内にネストされている場合にのみ、スイッチでcontinueを使用できます
  • プログラムでgotoステートメントを使用しないでください

ステートメントと例外処理を試してください

異常とは、実行中のプログラムの異常な動作を指します。これらの動作は、関数の通常の機能の範囲を超えており、プログラマーの期待を超えている場合もあります。

通常の状況では、例外によりプログラム全体が終了します

tryブロックを使用して例外を処理できます。

tryステートメントブロックは、キーワードtryで始まり、1つ以上のcatch句で終わります。

tryブロックでスローされた例外は、catch句で処理される可能性があります。

プログラマーは積極的に例外をスローすることもできます。たとえば、検出プログラムのデータベース接続が切断された場合、例外をスローしてプログラムの他の部分に処理を通知できます。

throw式を使用して例外をスローします

例外処理を完了するには、tryステートメントブロックとthrow式に加えて、例外に関する特定の情報を伝達する例外クラスも必要です。

標準ライブラリはいくつかの例外クラスを定義していますが、ほとんどの場合、独自の例外クラスをカスタマイズする必要があります

おすすめ

転載: blog.csdn.net/qq_26751117/article/details/53175593