決められた回数、一連の処理を行う構造
繰り返し構造は決められた回数または条件を満たすまで、一連の処理を行う構造を言います。
for 文とは初期値から繰り返し条件(最終値)増加分の回数分だけ繰り返し実行します。
-
-
for(初期値;繰り返し条件;増加分)
for(a=1;a<10;a++)
処理1
処理2※ for文下の一行文の処理1を行い、処理2は行わない。
for(a=1;a<10;a++)
{
処理1
処理2
}※ 処理が複数ある場合、{}で囲む
処理1・処理2は行う。
-
《 test020.c 》
・ {}なし
#include <stdio.h>
int main() {
int a;
for(a=1;a<10;a++)
printf("%3d ",a);
}
・ {}あり
#include <stdio.h>
int main() {
int a;
for(a=1;a<10;a++)
{
printf("%3d ",a);
}
}
○ 結果
aの1から、
・ {}あり
for(初期値;繰り返し条件;増加分)
{
for(初期値;繰り返し条件;増加分)
処理
}
《 test021.c 》
#include <stdio.h>
int main() {
int a,b;
for(b=1;b<10;b++)
{
for(a=1;a<10;a++)
printf("%3d ",a*b);
printf("\n");
}
}
○ 結果
九九です。
bに1が入り
6,7行目を繰り返し一の段が終了
8行目で改行
4行目に移動し、bに2が入りこれを繰り返して九九完成
bに1が入り
6,7行目を繰り返し一の段が終了
8行目で改行
4行目に移動し、bに2が入りこれを繰り返して九九完成
while 文とはまず、条件が満たされているか判断し、満たされていればそこで終了条件が満たされて無ければ、何度も同じ動作を繰り返し条件が満たされるまで続ける。無限ループになる可能性があります。
-
while(条件式);
{
処理;
}
《 test022.c 》
#include <stdio.h>
int main() {
int a=0,b=2;
while (b>a){
printf(" a = %d \n",a,b);
a++;
}
}
結果
aの0から、aに1ずつ増加してbが2以上なったら、繰り返しを止める。
do ~ while 文とはまず、処理を一度行ってから、条件が満たされるまで何度も同じ動作を繰り返す
-
-
- do
{
処理;
}
while(条件式);
- do
-
《 test023.c 》
#include <stdio.h>
int main() {
int a=0,b=2;
do{
printf(" a=%d \n",a);
a++;
}
while(a!=5);
}
結果
5・6行目の処理を行ってから、条件が満たされるまで何度も同じ動作を繰り返す
for文やwhile文などの繰り返し処理で繰り返しを途中で中断できます。
break は中断後 一番近いブロックの終わりに移動します。
break は中断後 一番近いブロックの終わりに移動します。
《 test024.c 》
#include <stdio.h>
int main(){
int a,b=1;
for(a=1;a<10; a++)
{
if(a+b == 5)
break;
printf("break;%d+%d=%d\n",a,b,a+b);
}
}
結果
a+b が 5になったら、ループを抜けます。