C言語 - ループ文

ループステートメントには次のものが含まれます。

·whileループ

·forループ

·do whileループ

1. while ループ

1.1 whileループの構文

まずはwhileループとif判定文を比較してみましょう。

類似点: ( ) が true の場合、どちらも { } 内のステートメントを実行します。

違いは、両者の間に入れ子構造がない場合、if ステートメントは 1 回実行され、条件が true の場合、while ステートメントは常に実行されます。

1.2  while ステートメントの中断と続行

1.2.1 ブレークの概要

while ループにおける Break の役割:
実際、ループ内でブレークが発生する限り、後続のループはすべて停止され、ループは直接終了します。
したがって、 while のブレークインはループを永久に終了するために使用されます。

上記のコードでは、i の値が 5 の場合、ブレークが発生してループが飛び出すため、画面には「1 2 3 4」のみが表示されることがわかります。

1.2.2 導入を続ける

while ループにおける continue の役割は次のとおりです。

continue はこのループを終了するために使用されます。つまり、このループ内の continue 以降のコードは実行されず、while ステートメントの判定部分に直接ジャンプします。次サイクルのエントリー判定を行います。解析: BreakをContinueに置き換えると、iの値が5の場合はContinue以降のステップを飛ばして直接while判定に入る、つまりここのiはi+1にはならない。 in i の値は 5 のままで、無限ループが発生します。このコードをコンパイラで実行すると、画面には「1 2 3 4」と表示されますが、カーソルはまだ点滅していることがわかります。プログラムはまだ進行中ですが、printf は continue によってスキップされました。 

i=i+1 を continue に設定して実行すると、

最大の違いは無限ループがないことです(もちろん印刷結果も以前とは異なります)。

2.forループ

2.1 for ループの構文

 

式1
1 初期化部分 で、ループ変数を初期化するために使用されます。
式2
2は 条件判定部 であり 、ループの終了を判定するために使用される。
式3
3は 調整部分 であり 、ループ条件を調整するために使用されます。
1~10を出力する例を書いてみましょう。

2.2 for ループと while ループの比較

 for ループは、while ループ内の 3 行のコードを 1 行のコードで解決でき、コードがより簡潔に見えることがわかります。

もちろん、i の初期化も式 1 に配置され、for(int i=1;i<=10;i++) のように記述されます。 

では、いつ for ループを使用し、いつ while ループを使用するのでしょうか?

1. ループの数がわかっている場合、for ループを使用してコードをより簡潔に見せることができます。

2. ループ回数が不明でループの終了条件がわかっている場合は、while ループを使用できます。同様に、while を使用して無限ループ while(1) を記述し、条件が満たされたときに Break を使用してループを抜け出すことができます。

2.3 for ステートメントでの中断と続行

Breakcontinue はforループでも使用でき、その意味はwhileループ内と同じです。

2.4 注意事項

コード 2 とコード 3 を見てみましょう。これらの違いは、コード 3 の for ループ内で i と j が再初期化されないことです。 

実行結果は、コード 2 は 100 hehes を出力し、コード 3 は 10 hehes を出力します。

コード 3 の実行プロセス:

i=0 のとき、j の値は 0 ~ 10 を横切り、i の値が変化し続けるとき、j には初期値が割り当てられていないため、j の値は 10 のままであることがわかります。印刷要件をより長く満たす条件。

3. while ループを実行する

3.1 do while ループの構文

3.2 do whileループの特徴

ループは少なくとも 1 回実行され、使用シナリオが限られているため、頻繁には使用されません。
 

上記のように、i が while 条件を満たすことができないループを作成しましたが、式が true か false かを判断する前に一度実行されます。 

3.3 do while ステートメントの中断と続行

Breakとcontinue はdo whileループでも使用でき、それらの意味はwhileループの場合と同じです。

 

 

おすすめ

転載: blog.csdn.net/m0_75186846/article/details/131844738