次のプログラムは「うるう年の判定を行うプログラム」です。キーボードから入力した年がうるう年なのかを判断します。このプログラムでは、「かつ」と「または」の論理演算子を使っています。
論理演算子は、条件文の条件式が2つ以上あるときに使います。
<「かつ」「または」の表現>
うるう年は、・4で割り切れ かつ 100で割り切れない年・400で割り切れる年
のどちらかに当てはまる年のことです。
このうるう年を判断しているのが10行目のif文です。
※ %は余りを表す演算子(2章で説明済み)これは「4で割り切れ かつ 100で割り切れない年」 または 「400で割り切れる年」という意味になります。
&&が「かつ」に相当する論理演算子で、「アンド」と呼ぶこともあります。たとえば、「aの値が10以上 かつ 100以下」という条件は、if(a>=10 && a<=100)となります。
一方、||が「または」に相当する論理演算子で、「オア」と呼ぶこともあります。たとえば、「aの値が10未満 または 100より大なら」という条件は、if(a<10 || a>100)となります。
このプログラムは詰め気味に書かれていますが、もっと読みやすくするために空白を入れて、
などとする人もいます。これはプログラマの好みの問題です。
<優先順位の指定>
条件式には、かっこの内に、かっこを用いることがあります(上のうるう年のプログラムでも使われているように)。このかっこは、その中の判断を先に行わせるように優先順位を指示します。優先順位設定の例を示します。式1: if( ( a==1 || b==5 ) && c==2)意味→ 「aが1またはbが5」かつ「cが2」 なら
式2: if( a==1 || ( b==5 && c==2 ) )
意味→ 「aが1」または「bが5かつcが2」 なら
になります。優先順位を使うことによって、意味が違ってくることに、注意して下さい。
<プログラムの流れ>
フローチャートは、次のようになります。