中間試験対策の一夜漬けにご利用ください.
| 制御構造を 適切に使い分けた 記述パターン |
左と動作は同じだが 無駄に goto を使用(乱用)した 記述パターン |
|---|---|
| 前判定反復 | |
while (継続条件) {
...
}
|
開始位置:
if (継続条件) {
...
goto 開始位置;
}
|
| 後判定反復 | |
do {
...
} while (継続条件);
|
開始位置: ... if (継続条件) goto 開始位置; |
| 中判定反復 | |
while (1) {
処理A;
if (継続条件) continue;
if (終了条件) break;
処理B;
}
処理C;
// do-while でも同
|
開始位置: 処理A; if (継続条件) goto 開始位置; if (終了条件) goto 終了位置; 処理B; goto 開始位置; 終了位置: 処理C; |
| 計数反復の適切な記述パターン |
左と動作は同じだが 条件反復による記述パターン |
|---|---|
for (i = 0; i < 10; i++) {
...
}
// 計数反復の基本要素
// (初期化・反復条件・カウント)が
// 1箇所に集約されている.
|
i = 0;
while (i < 10) {
...
i++;
}
// 基本要素が3箇所に散乱...
// ブロックが長くなると,間違いやすい.
// (i++ せずに continue してしまうとか...)
|