順次と選択、繰り返しがプログラムの基本制御構造である。このうち、順次は、
プログラムが上から下へと実行されることで実現している。従って、そのため
のコマンドはない。なにもなければプログラムは上から下へと実行されるので
ある。残りの選択と繰り返しについて説明する。
選択は、条件により実行される文が決まる構文である。次の5つの構文を学習した。
- もし、制御文が正しければ、文を実行する
- もし、制御文が正しければ、文1
文2
文3 を実行する
[ |
---|
l]書式
if(制御式){
文1;
文2;
文3;
}
|
- もし、制御文が正しければ、文1
文2
文3 を実行する。
さもなければ(制御文が誤り)、文4
文5
文6 を実行する。
[ |
---|
l]書式
if(制御式){
文1;
文2;
文3;
}else{
文4;
文5;
文6;
}
|
- もし、制御文1が正しければ、文1
文2 を実行する。さもなければ、
制御文2が正しければ、文3
文4 を実行する。さもなければ、制御文3
が正しければ、文5
文6 を実行する。さもなければ(全てが誤り)、文
7
文8 を実行する。
[ |
---|
l]書式
if(制御式1){
文1;
文2;
}else if(制御式2){
文3;
文4;
}else if(制御式3){
文5;
文6;
}else{
文7;
文8;
}
|
- もし、式の値が1ならば文1
文2を実行し、式の値が2ならば文
3
文4を実行し、式の値が5ならば文5
文6を実行し、式
の値がいずれでもないときは文7
文8を実行する。
[ |
---|
l]書式
switch(式){
case 1:
文1;
文2;
break;
case 2:
文3;
文4;
break;
case 5:
文5;
文6;
break;
default:
文7;
文8;
}
|
条件が成立するまで、同じ文を何度も繰り返す構文である。
繰り返しの回数が予め分かっているときに、
for文がしばしば使われる。
「初期値は○○、条件式が正しければ、ループを繰り返し、条件を再設定する。これは、
条件式検査
ループ
条件の再設定を繰り返す。条件式が誤りに
なれば、そのループから抜け出す」という構文に使われる。これは、次のように、書く。
[ |
---|
l]書式
for(初期値設定式; 継続条件式; 再設定式){
文1;
文2;
文3;
}
|
これは、「継続条件が正しい限り、文1と文2、文3を実行する」となる。もし、制御式が誤り
(偽)であれば、これら文は実行されず、ブロックの外側に出る。
これも、
for文同様、前判定繰り返しであるが、予め繰り返し回数が分からないとき
には、
while文が使われることが多い。「条件式が正しければ、ループ繰り返す。条件式が誤
りになれば、そのループから抜け出す」という構文に使われる。次のように、書く。
[ |
---|
l]書式
while(継続条件式){
文1;
文2;
文3;
}
|
これは、「継続条件が正しい限り、文1と文2、文3を実行する」となる。もし、制御式が誤り
(偽)であれば、これら文は実行されず、ブロックの外側に出る。
これは、後判定繰り返しで、予め繰り返し回数が分からないときに使われることが多い。
「ループ内を実行し、継続条件式が正しければ、さらにループを繰り返す。条件式が誤り
になれば、そのループから抜け出す」という構文に使われる。次のように、書く。
[ |
---|
l]書式
do{
文1;
文2;
文3;
}while(継続条件式);
|
これは、「文1と文2、文3を実行し、継続条件が正しければ、これを繰り返す」となる。
もし、制御式が誤り(偽)であれば、ブロックの外側に出る。
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成16年11月30日