【 全体の目次 】

【 ←前に戻る この章の目次 次に進む→ 】


論理演算子「かつ」「または」


次のプログラムは「うるう年の判定を行うプログラム」です。キーボードから入力した年がうるう年なのかを判断します。

このプログラムでは、「かつ」と「または」の論理演算子を使っています。
論理演算子は、
条件文の条件式が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」 なら

になります。優先順位を使うことによって、意味が違ってくることに、注意して下さい。

<プログラムの流れ>

フローチャートは、次のようになります。

 

次へ!