「for文」の編集履歴(バックアップ)一覧はこちら

for文」(2022/11/11 (金) 18:31:36) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

**for文 for文 は while文 と同じようにループを作ります。 for文の形は次のようになります &bold(){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++ の部分は毎回行われるループ用変数の変化です。 なお、ここで作られた変数はforループの中でしか使えません。 for(int i = 0; i < 10; i++){ printf("%d\n",i); // iがいくつなのか表示 } printf("%d\n",i); // ループの外でiを表示【error!】 ループの外でも使う場合は下のようにループに入る前に宣言しておきましょう。 int i = 0; for(i = 0; i < 10; i++){ printf("%d\n",i); // iがいくつなのか表示 (1~9を表示) } printf("%d\n",i); // ループの外でiを表示【正常に動作】(10を表示) **インクリメント 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重ループ for文 も2重ループ、3重ループにすることができます。 for(int i = 0; i < 10; i++){ // ループ1 for(int j = 0; j < 10; j++){ // ループ2 printf("%d",j); // ループ2のループ数を表示 } } **break for文でも break を使えます int num = 0; printf("0以外を入力すると終了です。\n"); for(int i = 0; true; i++){ printf("%d回ループしました。\n数値を入力してください。\n",i); scanf_s("%d",&num); // 数値入力 // 0が入力されたら if(num != 0){ break; // ループを抜ける } } **continue continue もfor文で使えます int num = 0; // 入力された数値をいれる printf("1から10の数値を入力してください。\n"); scanf_s("%d",&num); for(int i = 1; i <= 10; i++){ // もしループ数と入力された数値が同じなら if(i == num){ continue; // 以降の処理を飛ばす } printf("%d回ループしました。\n",i); }
**for文 for文 は while文 と同じようにループを作ります。 for文の形は次のようになります &bold(){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++ の部分は毎回行われるループ用変数の変化です。 なお、ここで作られた変数はforループの中でしか使えません。 for(int i = 0; i < 10; i++){ printf("%d\n",i); // iがいくつなのか表示 } printf("%d\n",i); // ループの外でiを表示【error!】 ループの外でも使う場合は下のようにループに入る前に宣言しておきましょう。 int i = 0; for(i = 0; i < 10; i++){ printf("%d\n",i); // iがいくつなのか表示 (1~9を表示) } printf("%d\n",i); // ループの外でiを表示【正常に動作】(10を表示) **インクリメント 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重ループ for文 も2重ループ、3重ループにすることができます。 for(int i = 0; i < 10; i++){ // ループ1 for(int j = 0; j < 10; j++){ // ループ2 printf("%d",j); // ループ2のループ数を表示 } } **break for文でも break を使えます int num = 0; printf("0以外を入力すると終了です。\n"); for(int i = 0; true; i++){ printf("%d回ループしました。\n数値を入力してください。\n",i); scanf_s("%d",&num); // 数値入力 // 0が入力されたら if(num != 0){ break; // ループを抜ける } } **continue continue もfor文で使えます int num = 0; // 入力された数値をいれる printf("1から10の数値を入力してください。\n"); scanf_s("%d",&num); for(int i = 1; i <= 10; i++){ // もしループ数と入力された数値が同じなら if(i == num){ continue; // 以降の処理を飛ばす } printf("%d回ループしました。\n",i); } **練習問題 for文を使って1から5までの合計を計算して表示するプログラムを作りなさい。

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー