概ね方位不定だが多分割と偏っている
スポンサーサイト
--年--月--日 (--) | 編集 |
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


C 複雑な条件式
2006年07月16日 (日) | 編集 |
もうタイトルからして面倒臭いぞって感じの条件式。
お前は本当に入門書なのかと問いたい。
だが入門書が複雑であってはならないという道理も無いことに気付く。

全く仕方が無いな。
複雑な条件式の作り方についてだ。
何がどう複雑かというと、条件がいくつか重なるというパターンの話らしいな。
例えば、変数aの値の範囲を0~100にしたい場合、

0<=a<=100

とは書けないのだそうだ。人間ならこれで一発で分かるのにな。
んじゃ機械様はどうなされるのかというと、0<=aで、さらにa<=100という風に2つに分けて、更にその2つが同時に成立するように、といった書き方をしなくてはならないようだ。

なので、

0<=a && a<=100

こんな感じの書き方になる。&&ってのが「かつ」もしくは「AND」を意味する。論理回路とか履修している人にはお馴染みの定義だな。論理演算子という奴だ。
上の式を順番に訳すと、

「aは0以上だ」「かつ」「aは100以下ですぅ」

ということになる。結果的には「aは0~100だ」と言っているのと同じだ。
&&とaを1個書く手間が面倒臭いが、形式なのでそういうものだと思うしかなかろう。

んで、論理演算子と言えば他にも「否定(NOT)」や、「または(OR)」なんかがあるわけだが、これらは以下の演算子によって表される。

演算子:!
意味:否定(NOT)

演算子:!!
意味:または(OR)


以上だ。要するに複雑な条件式っていうのは「AND」「OR」「NOT」の組み合わせで作られる式の事のようだな。あまり複雑じゃないじゃないか。嘆かわしい。

例によって実際に書いて実行してみよう。
aが0~100の値か否かで分岐するプログラムを書いてみる。

logictest.jpglogictest2.jpg
こんな感じ

論理演算子を使っている以外にはIf else文との違いは無い。
というか論理演算子を使っている事自体、If else文の1部分に過ぎない。


まとめよう。

機械は0<=a<=100とかやっても分からないので、論理演算子を使う必要がある
論理演算子には「AND」や「OR」や「NOT」がある
「AND(かつ)」は&&という演算子を使う
「OR(または)」は!!という演算子を使う
「NOT(否定)」は!という演算子を使う


以上。特に難しくもなかったな。
複雑って言ってた癖にッ


って条件式は複雑って言ってたが内容自体が複雑とは誰も言ってないか。
すまん入門書。俺はお前を疑った。さあ俺の頬を殴れ音高く!
ああ友情は美しい。対象が無機物じゃなければ尚美しい。

でもやはりこのご時世、基本的には疑ってかかるべきだと思うわけよ。
スポンサーサイト

コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。