Compound Statement
{
int x;
x=0;
}
compound statementは{}で囲まれたstatementのブロックです。compound statementは以下のcontrol structuresで、複数の処理をグループにまとめる事にも用いられます。
Conditional Structure: if and else
if(a)
a=0;
if statementは、if (expression) statementの形式となります。expressionがtrueの場合、statementが処理され、falseの場合はstatementは無視されます。
if(a){
a=0;
}
statementにはcompound statementも含まれるので、上の例は合法です。
if(a)
a=0;
else
a=1;
if-else statementは、if (expression) statement1 else statement2の形式となります。expressionがtrueの場合、statement1が処理され、falseの場合はstatement2が処理されます。
if(a){}
else if(a==1)
a=0;
else
a=1;
statementにはif statement、if-else statementも含まれるので、上の例は合法です。
Iteration Structure: while
while(a)
--a;
while statementは、while (expression) statementの形式となります。expressionがtrueの場合、statementが処理された後、再びexpressionを評価します。つまり、expressionがfalseとなるまでstatementが処理され続けます。
while(a!=0){
--a;
using::write(a);
}
上の例では、次のような順番で処理が行われます。
1. a!=0を求め、trueの場合は2へ。falseの場合はloopを抜ける。
2. --aを求める。つまり、aは-1される。3へ。
3. using::write(a)、aの値をスクリーンへ表示する。1へ戻る。
Jump Statements: break, continue
iteration structure内のstatementでは、jump statementの使用が有効となります。それ以外のstatementでjump statementが呼び出された場合、正常な動作が行われる保証はありません。
while(a){
a=1;
break;
}
break statementはloopから強制的に抜けだします。上例の場合、loop内の最初でa=1となり、aは必ず正となりますが、breakによってloopは強制的に終了され、プログラムがinfinite loopに陥ることはありません。
while(a){
if(a>0){
--a;
continue;
}
using::write(a);
}
continue statementはその時点でloop内の処理を終了し、expressionを再評価します。上例の場合、a>0の場合は--aを行いwhile(a)の評価へと戻ります。そのため、using::write(a)へ到達することはありません。
Next: Tutorial 06. Functions
Prev: Tutorial 04. Operators