for文 - (2014/05/02 (金) 15:51:36) の編集履歴(バックアップ)
for文 は while文 と同じようにループを作ります。
for文の形は次のようになります。 for( 変数の宣言と初期化 ; ループ条件; ループカウント)
while と for の使い分けは、「ループの回数がわかっているときは for文」 「ループの回数がわからないときは while文」 です。
使いながら覚えましょう。
for文の形は次のようになります。 for( 変数の宣言と初期化 ; ループ条件; ループカウント)
while と for の使い分けは、「ループの回数がわかっているときは for文」 「ループの回数がわからないときは while文」 です。
使いながら覚えましょう。
for(int i = 0; i < 10; i++) { printf("%d\n",i); // iがいくつなのか表示 }
while文 に比べてとてもコンパクトにまとまっています。
for と書いた次の ( ) の中にいろいろと入っています。
まず int i = 0; の部分ですが、ここはループに使う変数の宣言と初期化です。
ここで宣言された変数はループの中でしか使えません。 ループが終わると自動で解放(削除)されるので、メモリの節約になります。
i < 10; の部分がループの条件です。 今回は i が10より少ないあいだはループします。
i++ の部分は毎回行われるループ用変数の変化です。
i++ のほかに 「++i」 「i--」 「--i」 などがあり、それぞれに違いがあります。
次のプログラムの例はあまりいい書き方ではありません。よいこはマネしないでね。
for と書いた次の ( ) の中にいろいろと入っています。
まず int i = 0; の部分ですが、ここはループに使う変数の宣言と初期化です。
ここで宣言された変数はループの中でしか使えません。 ループが終わると自動で解放(削除)されるので、メモリの節約になります。
i < 10; の部分がループの条件です。 今回は i が10より少ないあいだはループします。
i++ の部分は毎回行われるループ用変数の変化です。
i++ のほかに 「++i」 「i--」 「--i」 などがあり、それぞれに違いがあります。
次のプログラムの例はあまりいい書き方ではありません。よいこはマネしないでね。
例1
for(int i = 0; i <= 10; ) { printf("%d\n",i++); }
例2
for(int i = 0; i <= 10; ) { printf("%d\n",++i); }
例3
for(int i = 10; i >= 0;) { printf("%d\n",i--); }
例4
for(int i = 10; i >= 0;) { printf("%d\n",--i); }
実行すると違いが分かると思います。
++ や -- が前についている場合はその式の最初に計算され、後ろについている場合は最後に計算されます。
++ をインクリメント -- をデクリメントなどと呼びます。
for文 も2重ループ、3重ループにすることができます。
while文 は break を使うことで強制的に終了させることもできます。
++ や -- が前についている場合はその式の最初に計算され、後ろについている場合は最後に計算されます。
++ をインクリメント -- をデクリメントなどと呼びます。
for文 も2重ループ、3重ループにすることができます。
while文 は break を使うことで強制的に終了させることもできます。
int i = 0;
int num = 0; printf("0以外を入力すると終了です。\n"); while(true) //無限ループ { printf("%d回ループしました。\n数値を入力してください。\n",i); scanf("%d",&num); if(num != 0) { break; } i++; }
上の例では (true) と書いてあります。 この場合 break がないと無限ループになってしまいます。
break は for文 にも使うことができます。
ループを先頭に戻す命令として continue があります。
break は for文 にも使うことができます。
ループを先頭に戻す命令として continue があります。
int num = 0; printf("1から10の数値を入力してください。\n"); scanf("%d",&num); for(int i = 0; i < 10; i++) { if(i == num) { continue; } printf("%d回ループしました。\n",i); }
continue も for文 while文 どちらでも使うことができます。
continue を使うとそこから下の処理を飛ばしてループの先頭に戻ります。
※練習問題
練習問題は次の回のページにまとめてあります。
continue を使うとそこから下の処理を飛ばしてループの先頭に戻ります。
※練習問題
練習問題は次の回のページにまとめてあります。