画像(logo)

HOME/[C言語 入門]小学生でもわかるC言語 目次/八日目 if(もし~だったら)パート2!

広告

[C言語 入門 小学生でもわかるC言語]
八日目 if(もし~だったら)パート2!

広告

↓発売日:2018年09月22日↓

たった1日で基本が身に付く! C言語 超入門

新品価格
¥2,225から
(2018/10/8 23:10時点)

目次へ戻る

ifの仕組み

今回はもう少し詳しく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;
}	

■実行結果■

画像(cb_8_1)

■説明■

不思議な計算が出てきましたね。

これは変数「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」になりましたね。

つまりどういう事?

これはどういう事かと言いますと条件式は

条件が合っている場合は「1」

条件が合っていない場合は「0」

という結果になるという事です。

広告

ifの最終形態

さて、このへんでするどい方やプログラミングを愛してやまない方は気づいたかもしれません。

さきほどの条件式でこのような結果になるという事は直接その結果を「if」命令なんかにいれたらどうなるのだろうか?と

それを試したプログラムになります。

/*八日目 プログラム2*/
#include <stdio.h>

int main(){
	if(1)printf("条件が「1」の場合\n\n");

	if(0)printf("条件が「0」の場合\n");

	return 0;
}

■実行結果■

画像(cb_8_2)

■説明■

結果は予想どおり条件が合う「1」の場合だけ実行されました!

そうなんです!if命令は最終的にこの

条件が合っている場合「1」

条件が合っていない場合「0」

の結果によって条件分岐していたのです!

これはコンピューターが電気を流す、流さないのスイッチのカタマリのような仕組みでできているからに他なりません!

そしてこの「1」の事を「真」または「true」、「0」の事を「偽」または「false」なんて言ったりもします。

「1」・・・「真」または「true」

「0」・・・「偽」または「false」

まあここまでだと何の事やらという感じだと思います。

しかしこれはif命令に限らずこの後登場するさまざまな条件式を含む命令においてこの考え方が登場するので覚えておきましょう!

「スイッチのカタマリ」のコンピューター

ここからは少しプログラミングから離れてコンピューターの仕組みの一つであるオンとオフ2種類の状態しかないスイッチだけで数を表す仕組みをご紹介したいと思います。

今すぐにプログラミングに必要って事でもないので興味あればお聞きください。

スイッチだけで数を表す仕組み

「2進数」という言葉を聞いた事がありますでしょうか?

コンピューター好きなら一度は聞いた事があるかもしれません。簡単に言ってしまうと数の進み方で2になったらケタが上がる数の事を2進数といいます。

いつも私達が使っている数の進み方は10進数といいます。これは10になるとケタがあがる数の事をいいます。

10進数

123456789→10

2進数

1→10

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」命令をご紹介します!

次回

九日目 枝分かれ「switch」!

□ページの先頭へ□

□目次へ戻る□

□HOME□

広告

↓発売日:2016年02月29日↓

12歳からはじめる ゼロからのC言語 ゲームプログラミング教室

新品価格
¥2,462から
(2018/10/8 23:25時点)

↓発売日:2018年06月22日↓

スッキリわかるC言語入門

新品価格
¥2,916から
(2018/10/8 23:15時点)

↓発売日:2018年03月09日↓

C言語本格入門 ~基礎知識からコンピュータの本質まで

新品価格
¥3,218から
(2018/10/8 23:16時点)

↓発売日:2017年06月14日↓

やさしいC 第5版 (「やさしい」シリーズ)

新品価格
¥2,700から
(2018/10/8 23:17時点)

↓発売日:2018年05月21日↓

作って身につく C言語入門

新品価格
¥2,462から
(2018/10/8 23:18時点)

↓発売日:2017年12月07日↓

新・標準プログラマーズライブラリ C言語 ポインタ完全制覇

新品価格
¥2,678から
(2018/10/8 23:19時点)

↓発売日:2017年02月08日↓

新・明解C言語で学ぶアルゴリズムとデータ構造 (明解シリーズ)

新品価格
¥2,700から
(2018/10/8 23:20時点)

↓発売日:2017年09月26日↓

かんたん C言語 [改訂2版] (プログラミングの教科書)

新品価格
¥2,916から
(2018/10/8 23:22時点)