STEP 3 - 繰り返し
 │
 ├ forループインクリメント・デクリメントwhile文do文ループのコントロール
 │ ├ break文
 │ └ continue文switch文
猿でも解る C言語講座

Written by Yuki.
http://ftc.suki.net/

<forループ>  条件を満たすまで中の処理を繰り返す。  基本的にループ回数によってループの継続を判定する。  for(式1;式2;式3){    命令1;    命令2;  }  式1にはループで使用する変数に初期値を与える。これはfor文に入った時に一回だけ処理される。  式2にはループを繰り返す条件を与える。真ならループを継続、偽ならループ終了になる。  何も書かないと終了条件が無いので、無限ループとなる。  式3では、式1で初期化した変数のループ毎に変化する量を指定できる。  VBの for〜Next の Step句に相当するが、記述しないと変化しない。
<インクリメント・デクリメント>  変数の 1の増減を簡略化する。  i++ or ++i ' i = i + 1  i-- or --i ' i = i - 1  変数 iに 1を加算、または減算する。  加算することをインクリメント、減算することをデクリメントという。  for文の式3などで、1加える時に使う。この書き方は 1以外は無い。  ※++(--)を変数の前に付けるか後ろに付けるかで、微妙に変化がでる。  iに与える影響は同じだが、演算を行うタイミングが違う。  a=b++; ' aに代入してから、bに足す。  a=++b; ' bに足してから、aに代入。
<while文>  条件により、繰り返しを制御する。  while(式){ ' 括弧内の式にループの条件を指定する。何も書かないと無限ループになる。    命令1;    命令2;  }  式が真ならばループを継続する。偽ならばループ終了。  whileのループは最初に式の真偽を判定する。  ※whileループでは、最初からループ条件が偽ならば、繰り返す処理は 1度も行わない。
<do文>  処理を実行した後で条件判定を行う。  do{ ' whileが doループの一部であることをはっきりさせる為に、    命令1; ' doループは処理内容が単文でも、中括弧を書く必要がある。    命令2;  }while(式); ' do文は最後の whileと必ずセットになっている。  式が真ならば、ループを継続、偽ならばループ終了。  ※doループは、少なくとも 1回は繰り返す処理を実行する。
<ループのコントロール>  ループの条件判定ではないところで、ループを制御する。  (1)break文    ループの条件判定を経ずにループから抜け出す。    for(i=0;;i++){ ' 何も書かれていない式2では、条件は常に真(無限ループ)。      if(i>=3)        break; ' 終了条件を for文以外の場所で書いている事になる。    }    ※多重ループの中で、break文で抜け出せるのは、それ自体が書いてあるループだけになる。  (2)continue文    ループの繰り返しを強制的に行う。    for(i=0;i<=3;i++){      if(i%2==1) ' 奇数だったら continue文によりループの頭にもどる。        continue;      printf("%d\n",i);    }    continueにより跳び越される事をスキップという。    ※whileや doで使うと、一度ループの終わりまで跳んでから頭に戻る。     また、for文では、頭に戻ったときに式3を実行してしまう(ループした回数に数えられる)。
<switch文>  複数の分岐を指定できる。  switch(式){ ' 式は整数型のみ。    case 定数 1: ' int , char は使用可。float , double は使用不可。      命令 1; ' case後に分岐する定数を指定する。定数は整数型。      break; ' これの数だけ分岐できるが、必ず break文を入れなければならない。    default: ' 定数が一致しなかった時に実行される。else のようなもの。      命令 n;  }  ※定数が文字列の場合は「case 'A'」といった形になる。「case 1+2」という書き方はできない。   breakが無いと、命令を実行したのち、すぐ下の case を判定してしまう。
← ← Back to BeforeStep Go to NextStep → →