C言語 繰り返し文
2016.07.03
この記事は最終更新日から1年以上が経過しています。

今回もC言語の繰り返し文について、つらつらと。
for文 (for statement)
for文 構文
for(初期化の式1; 繰り返すかどうかの式2; 変化のための式3;) {
文1;
文2;
...
}
例文:
#include <stdio.h>
int main(void)
{
int i;
for(i = 1; i <= 5; i++) {
printf("%d番目繰り返し中。¥n", i);
}
printf("繰り返し終了。¥n");
return 0;
}
結果

入力した数だけ繰り返す
例文:
#include <stdio.h>
int main(void)
{
int num;
int i;
printf("いくつ*を出力しますか?¥n");
scanf("%d", &num);
for(i = 1; i <= num; i++) {
printf("*");
}
printf("¥n");
return 0;
}
結果
![]()
入力した数まで合計する
例文:
#include <stdio.h>
int main(void)
{
int num, sum;
int i;
num = 0;
sum = 0;
printf("いくつまで合計を求めますか?¥n");
scanf("%d", &num);
for(i = 1; i <= num; i++) {
sum += 1;
}
printf("1から%dまでの合計値は%dです。¥n", num, sum);
return 0;
}
結果
![]()
while文(while statement)
while文 構文
while(条件) {
文;
...
}
例文:
#include <stdio.h>
int main(void)
{
int i = 0;
while(i <= 5) {
printf("%d番目繰り返し中。¥n", i);
i++;
}
printf("繰り返し終了。¥n");
return 0;
}
結果

慣用的な条件で使用
0が入力された時点で終了する例:
#include <stdio.h>
int main(void)
{
int num = 1;
while(num) {
printf("整数を入力してください。(0で終了)¥n");
scanf("%d", &num);
printf("%dが入力されました。¥n", num);
}
printf("繰り返し終了。¥n");
return 0;
}
結果

do~while文 (do-while statement)
do~while文 構文
do {
文1
... (ブロック内の処理を順に繰り返し)
} while(条件); (条件が真であれば繰り返しを継続)
例文:
#include <stdio.h>
int main(void)
{
int i = 1;
do {
printf("%d番目繰り返し中。¥n", i);
i++;
} while(i <= 5);
printf("繰り返し終了。¥n");
return 0;
}
結果

break文 (break statement)
break文 構文
break;
break文は「処理の流れを強制的に終了し、そのブロックから抜ける」処理を行う文となります。
例文:
#include <stdio.h>
int main(void)
{
int res;
int i;
printf("何番目でループを終了しますか?(1~10)¥n");
scanf("%d", &res);
for(i = 1; i <= 10; i++) {
printf("%d番目繰り返し中。¥n", i);
if(i == res)
break;
}
printf("繰り返し終了。¥n");
return 0;
}
結果

continue文 (continue statement)
continue文 構文
continue;
continue文は「繰り返し文内の処理を飛ばし、ブロックの先頭位置に戻って次の処理を続ける」処理を行う文となります。
例文:
#include <stdio.h>
int main(void)
{
int res;
int i;
printf("何番目の処理を飛ばしますか?(1~10)¥n");
scanf("%d", &res);
for(i = 1; i <= 10; i++) {
if(i == res)
continue;
printf("%d番目繰り返し中。¥n", i);
}
printf("繰り返し終了。¥n");
return 0;
}
結果















