分岐には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'; }