情報処理演習 (2)C言語の入門

情報処理演習
(3)繰り返し
システム科学領域 日浦 慎作
繰り返し
スタート
スタート
スタート
i=0
処理
・・永遠に終わらない!
(無限ループ)
処理
終了条件
i < 10?
yes
処理
終わり
• 繰り返しには「終了」の
メカニズムが必要
i=i+1
終わり
no
繰り返しとは
• プログラムの同じ部分を何度も実行する
– 同じことを何回も書かなくていい
– プログラムが見やすくなる
– 実行する回数を変更しやすい
• 繰り返しのポイントは
– 何回繰り返すか
– 繰り返し回数をどのように管理するか
 ここでも変数を用いる
繰り返しの書き方
最初に1回だ
繰り返し
繰り返すたび
==== という文字を100行書きたい
け実行される
の条件
に実行される
int i;
0~99までの数字を順に表示したい
for (i = 0; i < 100; i++) {
printf(“ ====
printf(“%d
\n”,i);
\n”);
}
i++ は,i に1を足すことを表す
(i = i + 1 と書いてもほぼ同じ)
1. 最初 i に 0 を入れる
2. i が 100 より小さい場合はブロックを実行
・そうでない場合は下へ抜ける
3. ブロックが終わると i に1を足す
二重ループ
int i, j;
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
printf(“i = %d, j = %d \n”, i, j);
}
}
• 繰り返しの繰り返し
– 上の例では,printf は25回実行される.
while
• while
– for のうち,条件判断部分しかないもの
for (i = 0; i < 10; i++) {
/* 実行部分 */
}
同じ
i = 0;
while (i < 10) {
/* 実行部分 */
i++;
}
うまく使い分けるべし.
do - while
• 条件判定を最後に行いたいときに使う
– 処理の結果,やり直す場合など
do {
printf(“正の数を入力してください.\n”);
scanf(“%d”, &a);
} while(a <= 0);
負の数か0が入力された場合,再度入力させる