条件の後、私たちは、リサイクルについて学びます。配列を入力して、配列の各要素を割り当てることができます。ファイル、出力ファイルの各行を読み込みます。などが挙げられる。これらは、循環に使用されます。
CやC ++、forループとwhileループメインループのネイティブで私たち。前記()の両方(循環式と教科書サイクルまでロットと呼ばれる)しながら、whileループを} {ながら(){}に分割して実行されます。
これが私たちの3つのサンプルの使用です。
1 INT ()メイン 2 { 3 INT [ 10 ] = { 0 }。 4 のための(int型のx = 0 ; X < 10であり、x ++ ) 5 { 6 [X] = 2 * X。 7 } 8 ための(int型のx = 0 ; X < 10であり、x ++ ) 9 { 10 のprintf(" %d個の元素であり%D \ n "、X +1 、[X])。 11 } 12 リターン 0 。 13 }
拡張パラメータのためのいくつかのコンパイラはGCC I使用の4.8.5バージョンでは、一定の要件です。
1.私は、私が唯一のC99モードでのforループを使用することを示唆し、GCCコンパイラを使用する場合、ファイルの拡張子は、.Cある場合。
2. G ++コンパイラの成功を使用してコンパイルされたコードと同じ、
3.拡張機能は、GCCを使用して、.ccにあるとg ++コンパイラは成功している場合。
4. VS2015この問題は発生しません。
5. VC6が定義X繰り返される第二のループのために決定されるであろう。
ループのための3つの式は、中間と、ありますが、分離しました。第1~第3のステートメントは徐々にそのようなサイクリング条件の終わりに近づいて、変数を更新するために、各サイクル後に実行され、ループ終了条件は第二である、初期式サイクルの開始です。
したがって、上記の例のプログラムシーケンス次のサイクルで。
1.、変数xを定義し、初期値0を割り当てます
2.分析は、xを満たす第二の発現xが10未満であります
3.そうでない場合(X <10)、ループを終了
4.もしそうなら、in vivoでのforループ文
3番目の式のxのforループ++
6.繰り返し手順2-5。
ループは、ループの端を破るために使用することができます。(のためながら両方真です)。
だから、いくつかの状況は、第二の発現プログラムは、何も表示されます。例えば、上記第二の発現は非常に書き込むために、空の場合
1 INT ()メイン 2 { 3 INT [ 10 ] = { 0 }。 4 のための(int型のx = 0 ; X ++ ) 5 { 6 場合(X> = 10 ) 7 ブレーク。 8 A [X] = 2 * X。 9 } 10 のための(int型のx = 0 ; X ++ ) 11 { 12 場合(X> = 10) 13 休憩。 14 のprintf(" %d個の要素が%D \ nは"、X + 1 、[X])。 15 } 16 リターン 0 。 17 }
そして、いくつかの例では、3番目の式も空であるだろうし、我々はそれを書きます
1 INT ()メイン 2 { 3 INT [ 10 ] = { 0 }。 4 のための(INT X = 0 ;) 5 { 6 場合(X> = 10 ) 7 ブレーク。 8 A [X] = 2 * X。 9 X ++ 。 10 } 11 のために(INT X = 0 ;) 12 { 13 もし(X> = 10 ) 14 ブレーク。 15 のprintf(" %d個の要素が%D \ nは"、X + 1 、[X])。 16 のx ++ ; 17 } 18 リターン 0 。 19 }
私たちはループのために、最初の式が唯一の私たちがためのループ前に行ってもよいことを、ループに入るときにのみ実行する必要があることを知っているので、forループを変換するために続けています。変数xの下で定義された場合には重複がないことを確認し、我々はサイクルの変更しました
1 INT ()メイン 2 { 3 INT [ 10 ] = { 0 }。 4 INT X = 0 。 5 のための(;) 6 { 7 場合(X> = 10 ) 8 ブレーク。 9 A [X] = 2 * X。 10 X ++ 。 11 } 12 、X = 0 。 13 のために(;) 14 { 15 もし(x> = 10 ) 16 ブレーク。 17 のprintf(" %d個の要素が%D \ nは"、X + 1 、[X])。 18 X ++ 。 19 } 20 リターン 0 。 21 }
次に、forループ式が空である、我々は簡単にループの代わりにwhileループのために置くことができます。
これを読んで:
1 INT ()メイン 2 { 3 INT [ 10 ] = { 0 }。 4 INT X = 0 。 5 一方、(1 ) 6 { 7 場合(X> = 10 ) 8 ブレーク。 9 A [X] = 2 * X。 10 X ++ 。 11 } 12 、X = 0 。 13 一方、(1 ) 14 { 15 場合(X> = 10 ) 16 ブレーク。 17 のprintf(" %d個の要素が%D \ nは"、X + 1 、[X])。 18 X ++ 。 19 } 20 リターン 0 。 21 }
このように、私たちはwhileループ、またはコードを書くための時間のための特定の使用whileループのために変更することができるのだろうか?良い人が言うことよりもすべてOKません。ちょうどあなたが古い環境で実行されるようにコードを記述する必要がある場合は、ループC99モードで使用する必要がある、あなただけのwhileループを使用することができます。
(1)しながら、私たちが使用している間、C、0が偽、0は非真です。
次に、我々は、whileループを繰り返します。