while

whileは条件を満たす限り繰り返します。

ループの中でカウンタ変数を必要とせず、単にループを継続する条件式だけを考慮すれば良い場合には、whileステートメントを使います。
whileステートメントの書式は単純で、次のとおりです。


  while (expr)
    statement;
  

exprは条件式で、ループを継続する条件式を(と)とで囲んで記述します。たとえば、この式を「i < 10」とすると、変数iの値が10未満である間、 ループを継続することになります。
statementは繰り返して実行するステートメントで、{と}で囲むことによって複数のステートメントを記述することもできます。
whileステートメントを使ったループは、通常、繰り返しのコードを実行する前に条件式を評価したいときに使います。

次の例は、0から9までの数を加算するコードの例です。


  int x=0;
  int i=0;
  while (i < 10){
    x +=i;
    i++; 
  }
  printf(("0~9を加算した値=%d\n", x);
  

実行結果は次のようになります。


  0~9を加算した値=45
  

whileの条件式にtrueを指定することで、無限ループを作ることができます。ただし、このテクニックを使うときには、 breakステートメントなどを使ってループから確実に抜け出せるように注意を払う必要があります。

次の例はwhileの無限ループの例で、この場合、ifステートメントを使ってxの値が50を超えたらループから抜け出ます。


  int x = 0;
  int i =0;
  while (true){
    x += i;
    i++;
    if (x > 50)
          break;        // ループから抜け出る
    }
  printf("x=%d\n", x);
  

実行結果は次のようになります。


  x=55
  

関連項目

for



C目次 inserted by FC2 system