分岐にはif文とswitch文があります。
1.if文
if文
if(式0)式1;
if(式0){
式1;
}
式0が0でないなら式1を処理。
if-else文
if(式0)式1;
else 式2;
if(式0){
式1;
}else{
式2;
}
式0が0でないなら式1を処理、0ならば式2を処理。
これは組み合わせることが出来、
if(a!=1)
if(a==2)a++;
else if((a%2)&&((a>>1)%2)){
a&=3;
else{
a=3;
}
else a+=2;
のように書けます。
また、elseはもっとも近いifに接続するので、
if(a)b; if(c)d; else e;
上の式の解釈は、
if(a){b;
if(c){d;
}else{e;}
}
このようになり
if(a){b;
if(c){d;}
}else{e;}
ではありません。
2.switch文
switch(式0){
case 定数式10:
case 定数式11:
式1;
case 定数式12:
式2;
式3;
break;
case 定数式13:
式4;
break;
default:
式5;
}
switch文は制約の多い記法で、上の式は以下のようになる。
式0の値を評価する。
その値が定数式10,11に等しいなら式1,2,3を処理。
その値が定数式12に等しいなら式2,3を処理。
その値が定数式13に等しいなら式4を処理。
その値がどれにも等しくないなら式5を処理。
defaultは省略可能であり、定数式にはchar文字を使うことができる。
switch(a){
case 0:break;
case 'A':
a='a';
}