breakとcontinue
for文やwhile文の中では、
breakの例
for文やwhile文の中でbreak文を記述すると、
リスト6.
このプログラムを実行すると、
#include <stdio.h>
int
main()
{
  int i, sum;
  sum = 0;
  for (i = 1; i <= 100; i++) {
    sum += i;
    if (sum >= 1000) {
      break;
    }
  }
  printf("i = %d, sum = %d\n", i, sum);
  return 0;
}
$ gcc -O2 -o sum_break sum_break.c $ ./sum_break i = 45, sum = 1035 $
continueの例
continueを使うと、
continueを使ったプログラム例をリスト6.
#include <stdio.h>
int
main()
{
  int i, sum;
  sum = 0;
  for (i = 1; i <= 100; i++) {
    if (i % 3 == 0) {
      continue;
    }
    sum += i;
  }
  printf("sum = %d\n", sum);
  return 0;
}
$ gcc -O2 -o sum_continue sum_continue.c $ ./sum_continue sum = 3367 $
continue文は、
#include <stdio.h>
int
main()
{
  int i, sum;
  sum = 0;
  for (i = 1; i <= 100; i++) {
    if (i % 3 != 0) {
      sum += i;
    }
  }
  printf("sum = %d\n", sum);
  return 0;
}
しかし、
for (i = 1; i <= 100; i++) {
    if (i % 3 == 0) {
        continue;
     }
     sum += i;
     /* その他の処理 */
     /* その他の処理 */
           :
           :
           :
           :
}
for (i = 1; i <= 100; i++) {
    if (i % 3 != 0) {
        sum += i;
        /* その他の処理 */
        /* その他の処理 */
              :
              :
              :
              :
    }
}
for文で無限ループ
前述のとおり、
  for (;;) {
    ループで実行する文
  }
無限ループはwhile文を使っても実現できますが、
無限ループでは通常、
do while文もある
さらに、
  do {
    ループで実行する文
  } while (継続条件式);
for文やwhile文では、
do while文とwhile文とは、
do while文の動作を図6.
前述のsum.
#include <stdio.h>
int
main()
{
  int i, sum;
  sum = 0;
  i = 1;
  do {
    sum += i;
    i++;
  } while (i <= 100);
  printf("sum = %d\n", sum);
  return 0;
}
$ gcc -O2 -o sum_do_while sum_do_while.c $ ./sum_do_while sum = 5050 $