広告
↓発売日:2018年09月22日↓
新品価格 |
今回は複数の条件を重ねる方法をご紹介します。
まずは次のプログラムを見てください。
/*八日目 プログラム1*/ #include <stdio.h> int main(){ int suji = 500; int suji2 = 1000; if(suji == 500){ if(suji2 == 1000){ printf("両方の条件に一致しました!\n"); } else{ printf("片方の条件に一致しました!\n"); } } return 0; }
「変数sujiが500の場合」と「変数suji2が1000の場合」という2つの条件を「if」文を重ねる事によって実現しております。
このような2つ以上の条件が続く場合なんかは式を1つにまとめられれば便利ですよね。
そんな時に使うのが「&&」と「||」という記号になります。
アドレスを表す「&」とは何の関係もないのでご注意ください。
両方の条件が一致する場合は「&&」を使います。
さきほどのプログラムの場合は
「変数sujiが500」かつ「変数suji2が1000」の場合
といった感じです。
/*八日目 プログラム2*/ #include <stdio.h> int main(){ int suji = 500; int suji2 = 1000; if(suji == 500 && suji2 == 1000){ printf("両方の条件に一致しました!\n"); } return 0; }
「if」文にご注目ください。
if(suji == 500 && suji2 == 1000)
「&&」でつないでおります。
こうすれば「変数sujiが500」かつ「変数suji2が1000」の場合という条件をシンプルに表現する事ができますね!
今は2つの条件ですがこの後えんえんとさらに条件を重ねる事ができます。
他にも「&&」を使って数の範囲を限定させたい時などに使えます!
if(suji > 500 && suji < 1000)
これで「変数sujiが500より大きく、1000より小さい場合」という意味になります。
広告
続いて片方でも条件が一致する場合は「||」を使います。
「片方でも条件が一致する場合」なのですべて一致する場合も含まれます。
さきほどのプログラムの場合は
「変数sujiが500」または「変数suji2が1000」の場合
となりますね!
/*八日目 プログラム3*/ #include <stdio.h> int main(){ int suji = 500; int suji2 = 1200; if(suji == 500 || suji2 == 1000){ printf("片方の、もしくは両方の条件に一致しました!\n"); } else{ printf("両方とも条件に一致しませんでした!\n"); } return 0; }
再び「if」文に注目です。
if(suji == 500 || suji2 == 1000)
これで「変数sujiが500」または「変数suji2が1000」の場合となりますね!
同じくこちらも条件をさらに増やす事ができます。
最後に「~ではない場合」と否定の意味を表す「!」になります。
さきほどの「&&」や「||」などと組み合わせて使われる場合が多いです。
/*八日目 プログラム4*/ #include <stdio.h> int main(){ int suji = 500; if(!(suji > 500 && suji < 1000)){ printf("変数「suji」は500~1000の間にはありません!\n"); } return 0; }
「変数sujiが500より大きく、1000より小さい場合」という条件をまとめて否定の「!」で囲ったので「変数sujiが500~1000の間にない場合」と言った感じの意味になります!
/*八日目 プログラム5*/ #include <stdio.h> int main(){ int suji = 550; if((suji > 500 && suji < 1000) && (suji != 600 && suji != 700 && suji != 800)){ printf("一致しました!\n"); } return 0; }
いくつかの条件を重ねてみた例です。
変数「suji」が500~1000の間にあり、かつ「600」でも「700」でも「800」でもない場合と言った感じの意味になります。
条件が複数重なる場合は計算順序などでミスが起こりがちなので()カッコで囲むのが無難です。
いろいろ組み合わせて工夫してみてください。
次回はプリプロセッサというものについてみていきたいと思います。
広告
↓発売日:2016年02月29日↓
12歳からはじめる ゼロからのC言語 ゲームプログラミング教室 新品価格 |
↓発売日:2018年06月22日↓
新品価格 |
↓発売日:2018年03月09日↓
新品価格 |
↓発売日:2017年06月14日↓
新品価格 |
↓発売日:2018年05月21日↓
新品価格 |
↓発売日:2017年12月07日↓
新品価格 |
↓発売日:2017年02月08日↓
新・明解C言語で学ぶアルゴリズムとデータ構造 (明解シリーズ) 新品価格 |
↓発売日:2017年09月26日↓
新品価格 |