3.2   条件演算子


C言語では論理値を数値で表し、「真」を1(0以外)「偽」を0とみなして演算します。
代表的な条件式を下の表にまとめました。

条件式 意味
a==0 aが0と等しいとき真
a!=0 aが0と等しくないとき真
a<10 aが10より小さいとき真
a<=10 aが10以下のとき真
!a aが0のとき真
a=5 || b=8 aが5、または、bが8のとき真
a=5 && b=8 aが5、かつ、bが8のとき真
c=='A' 文字定数cが、文字’A’と等しいとき真
*str=='A' *strで指された文字が文字’A’と等しいとき真

これらを応用して次のような表現もよく使われます。

if (!a)
      {      文        }

   これは、直感的には分かりにくいですが、「!a」で「aが0のとき真」ですから 、if(a==0)と同じ意味を表します。

char str[50] ;
p=str ;
while ( *p )
{
  ・・・・・・・・・・・
   p++
}

これもよく使われる表現で、ポインタを使っていますが、文字列の終わりまで{ }内の文を実行することを意味します。


「もくじへ」