O 棟 529号室
テュールスト マーティン ヤコブ
http://www.sw.it.aoyama.ac.jp/2005/Programming%20Basics%20II/lecture7.html
© 2005 Martin J. Dürst 青山学院大学
提出: 来週の授業 (11月 21日) までに 3 番のプログラムと入出力経過を提出して下さい。
for
文)、続く条件を指定するか (while 文)for 文の例1 から 10 の 3乗を計算する
int n;
for (n=1; n<=10; n++) {
printf ("%d の 3乗 = %d.\n", n, n*n*n);
}
for 文の文法if 文と同じ( )
内は一つの条件ではなくて三つの項目がある:
for
文が始まるときに実行されるfor
文の最後に行われる次の繰り返しへのステップfor 文の実行for 文は次の通りに実行される:
(初期化;;)(;条件;):
合わないときに繰り返しを断念、for
文の後から続く{ } 内の文を実行(;;次の繰り返しへのステップ)while 文の例ユーザが止めるまで入力した数の 3乗を計算する:
int n;
printf ("Input a number, 0 to stop: ");
scanf ("%d", &n);
while (n != 0) {
printf ("Cube of %d is %d.\n", n, n*n*n);
printf ("Input a number, 0 to stop: ");
scanf ("%d", &n);
}
for 文と while 文の関係for 文を while
文で書けるし、逆も可能
| 変更前 | 変更後 |
|---|---|
for (n=0;n<10;n++) {
/* 処理 */
}
|
n=0;
while (n<10) {
/* 処理 */
n++;
}
|
while (n != 0) {
/* 処理 */
}
|
for (; n!=0; ) {
/* 処理 */
}
|
繰り返しは配列の処理によく使われる
配列の長さが決った場合には for 文を使う
20 個のデータの配列の場合に指数 (番号) は 0~19
に注意
(for (i=0; i<20; i++) { ... })
配列の長さが分からない場合に while
文を使う
(例: 文字列: 終端マークまで処理する)
printf で %d の代わりに %3d
を使うと数字が揃う)