広告
↓発売日:2018年09月22日↓
新品価格 |
今回はもう少し詳しくif命令の仕組みについて見ていきましょう。
まずは次のプログラムを実行してみてください。
/*八日目 プログラム1*/ #include <stdio.h> int main(){ int a = 100; int b = 100; int ans = (a == b); printf("ans = %d\n\n",ans); a = 80; ans = (a == b); printf("ans = %d\n\n",ans); ans = (a < b); printf("ans = %d\n\n",ans); return 0; }
不思議な計算が出てきましたね。
これは変数「a」と変数「b」の条件式の結果を変数「ans」に入れたものになります。
そうなんです、条件式にも結果があるのです。
一つ一つ見ていきましょう。
a = 100; b = 100; ans = (a == b);
わかりやすいように変数「a,b」の内容も並べてみました。
ここでの条件は(a == b)、「a」と「b」は同じか?ですね。
そして答えの「ans」の結果は「1」となっております。
次の部分も見てみましょう。
a = 80; b = 100; ans = (a == b);
次は変数「a」の内容を変えてみました。
条件は最初と変わらないですね。
「ans」の結果は「0」になりました。
では最後もう一つ見てみます。
a = 80; b = 100; ans = (a < b);
条件を変えて(a < b)、「a」は「b」より小さいか?という条件にしてみました。
「ans」の結果は「1」になりましたね。
これはどういう事かと言いますと条件式は
という結果になるという事です。
広告
さて、このへんでするどい方やプログラミングを愛してやまない方は気づいたかもしれません。
さきほどの条件式でこのような結果になるという事は直接その結果を「if」命令なんかにいれたらどうなるのだろうか?と
それを試したプログラムになります。
/*八日目 プログラム2*/ #include <stdio.h> int main(){ if(1)printf("条件が「1」の場合\n\n"); if(0)printf("条件が「0」の場合\n"); return 0; }
結果は予想どおり条件が合う「1」の場合だけ実行されました!
そうなんです!if命令は最終的にこの
の結果によって条件分岐していたのです!
これはコンピューターが電気を流す、流さないのスイッチのカタマリのような仕組みでできているからに他なりません!
そしてこの「1」の事を「真」または「true」、「0」の事を「偽」または「false」なんて言ったりもします。
「1」・・・「真」または「true」
「0」・・・「偽」または「false」
まあここまでだと何の事やらという感じだと思います。
しかしこれはif命令に限らずこの後登場するさまざまな条件式を含む命令においてこの考え方が登場するので覚えておきましょう!
ここからは少しプログラミングから離れてコンピューターの仕組みの一つであるオンとオフ2種類の状態しかないスイッチだけで数を表す仕組みをご紹介したいと思います。
今すぐにプログラミングに必要って事でもないので興味あればお聞きください。
「2進数」という言葉を聞いた事がありますでしょうか?
コンピューター好きなら一度は聞いた事があるかもしれません。簡単に言ってしまうと数の進み方で2になったらケタが上がる数の事を2進数といいます。
いつも私達が使っている数の進み方は10進数といいます。これは10になるとケタがあがる数の事をいいます。
123456789→10
1→10
1(1)→10(2)→11(3)→100(4)→101(5)
→110(6)→111(7)→1000(8)→1001(9)→1010(10)
(カッコの中は10進数です!)
ちょっと裏ワザっぽいですがいちよう「0」と「1」だけで「10」まで数える事ができました。
そしてこの「0」と「1」をスイッチのオフ、オンに当てはめてたくさんスイッチを並べると・・・。
スイッチだけでいろいろな数を表せるようになりますね!
そんなワケあるかいっ!
という声が聞こえてきそうですが、ほんとにこういう仕組みなんかが元になってコンピューターはできているのです。
以上、スイッチだけで数を表す仕組みでした。
次回はわかりやすく便利な枝分かれ「switch」命令をご紹介します!
広告
↓発売日: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日↓
新品価格 |