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 $