画像(logo)

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

広告

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

広告

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

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

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

目次へ戻る

if(もし~だったら)

プログラムの基本は

(1)上から順番に
(2)条件で分かれ道
(3)繰り返し

でしたね!

今回から(2)条件で分かれ道をやっていきます!

いろいろな条件でプログラムを分かれ道させてみましょう!

プログラミングがどんどん楽しくなる時ですね!

2つに分かれ道

/*七日目 プログラム1*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(){
	int kotae = 0;

	printf("問題です!\n世界一高い山は?\n\n");
	printf("1・エベレスト 2・富士山\n\n");
	printf("数字でお答えください!>");
	
	(void)scanf("%d",&kotae);

	if(kotae == 1)printf("正解です!\n");	
	else printf("ぶっぶー!不正解です!\n");

	return 0;
}

■実行結果■

画像(cb_7_1)

■説明■

最初に答えを入れるための変数

int kotae = 0;

を用意します。そして「scanf」命令で答えを受け取ります。

(void)scanf("%d",&kotae);

「&kotae」ここに答えの「1」か「2」が保存された所で「if」命令の出番ですね!

条件で分かれ道

if(kotae == 1)printf("正解です!\n");	
else printf("ぶっぶー!不正解です!\n");

この「if」命令のそれぞれの条件を見ていきましょう!

条件が合う場合

if(kotae == 1)printf("正解です!\n");

「if(条件)printf("正解です!");」この最初の「条件」が合っていれば続けて書いた「printf("正解です!");」が実行されます。「==」の説明は後ほどします!

条件が合わない場合

else printf("ぶっぶー!不正解です!\n");

このelse(エルス)に続くプログラムはそうではない時に実行されます!最初の条件があわない時に必ず実行されます!

2つに分かれる場合はこのように「if」と「else」でそれぞれ分かれ道させます!

合わない時は何もしない

ちなみにこの「if」命令を

if(kotae == 1)printf("正解です!\n");

でその後の「else」を書かない場合は、「条件が合う場合」だけ実行されて、その他は「何もしない」プログラムになります!

同じか?は「==」が2つ!

if(kotae == 1);

あとはこの気になる「==」ですね!まあ・・・。そのまま覚えてください。「kotae == 1」は「kotae」と「1」は同じか?という意味になります!これを「条件式(じょうけんしき)」といいます!

しつこく言いますが「==」イコールは2つです。ここを間違えて「=」イコール1つにしてしまうと意味がぜんぜん違うけれど文法は合ってるのでプログラムがワケわからない方向に突き進むので注意しましょう!

いろいろな条件式を見てみましょう!

さきほどの「==」の他にもいろいろな条件式があります。

仮にあなたを「you」として、年令を聞かれていると考えてください。

どこからどこまでが、含まれる(ふくまれる)、含まれない(ふくまれない)を意識しながら他の条件式も見てみましょう!

if(you == 20)

あなたが20才ちょうどだったら。

if(you != 20)

あなたが20才ではなかったら。

この場合はそれ以外の年令が全てあてはまります。

if(you < 20)

あなたが20才未満だったら。

この場合は19才から、その下の年令全てあてはまります。マイナスもあてはまります。20才は含まれません!

if(you > 20)

さきほどの逆ですね!21才から、その上の年令全てです。同じく20才は含まれません!

if(you <= 20)

あなたが20才以下だったら。

20才が含まれるバージョンです。

if(you >= 20)

あなたが20才以上だったら。

逆バージョンですね!

含まれる、含まれないが大事です。あと「<」と「=」の順番を逆に「=<」したりするミスが多いので気をつけましょう!

広告

条件を増やそう!

ではいろいろな条件式を使って条件を増やしてみましょう!

テストの点数をランク分けするプログラムです!

80点~100点・・・Aランク
30点~79点・・・Bランク
0点~29点・・・Cランク

この条件でランク分けをしてみます!

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

int main(){
	int test = 0;

	printf("テスト結果を点数でランク分けします!\n");
	printf("A(100点~80点):B(79点~30点):C(29点~0点)\n\n");
	printf("テストの点数を入力してください>");

	(void)scanf("%d",&test);

	if(test >= 80)printf("\n\n結果%d点 Aランクです!\n",test);
	else if(test >= 30)printf("\n\n結果%d点 Bランクです!\n",test);
	else printf("\n\n結果%d点 Cランクです!\n",test);

	return 0;
}

■実行結果■

画像(cb_7_2)

■説明■

「else if」を続ける事によって、「そうではなく、もし~だったら・・・。」と続ける事ができます。

if(条件)続きの命令
else if(条件)続きの命令
else if(条件)続きの命令
else 続きの命令

このようにさらに条件を加える事もできます!

「>=」→「>」にすると・・・。

if(test > 79)printf("\n\n結果%d点 Aランクです!",test);
else if(test > 29)printf("\n\n結果%d点 Bランクです!",test);
else printf("\n\n結果%d点 Cランクです!"),test);

さきほどのプログラムで「=」を抜いた場合です。

含まれる、含まれないが大事です!

注意です!

if(test > 79)printf("\n\n結果%d点 Aランクです!",test);
if(test > 29)printf("\n\n結果%d点 Bランクです!",test);
else printf("\n\n結果%d点 Cランクです!"),test);

「else if」の「else」を抜いてみました。

この場合は「そうではなく」の意味がなくなるのでたとえば点数が90点だとしたら

■実行結果■

結果90点 Aランクです!
結果90点 Bランクです!

というように両方の条件が反応してしまうので注意が必要です!

命令を増やす!

今までは条件の後に一つの命令だけしか使えませんでしたね!{}カッコを使うと命令を増やす事ができます。

/*七日目 プログラム3*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(){
	int kotae = 0;

	printf("問題です!\n世界一高い山は?\n\n");
	printf("1・エベレスト 2・富士山\n\n");
	printf("数字でお答えください!>");
	
	(void)scanf("%d",&kotae);

	if(kotae == 1){
		printf("正解です!\n");
		printf("もの知りはかせですね!!!\n");
	}	
	else{
		printf("ぶっぶー!不正解です!\n");
		printf("もっと勉強しましょう!\n");
	}	
	return 0;
}

■実行結果■

画像(cb_7_3)

■説明■

一言加えました!{}カッコをつける事でさらに命令を増やす事ができます!

{}カッコを加えた時にわかりやすいようにと、さらにスペースを空けて命令の先頭をずらしている所に注意です!

見にくいプログラム

if(kotae == 1){printf("正解です!\n");printf("もの知りはかせですね!!!\n");}	

さきほどのプログラムをこのように書く事もできますが、見にくい上にエラーの原因にもなるので、プログラムはキレイに書きましょう!

次回は「if」の仕組みについて見ていきます!

次回

八日目 if(もし~だったら)パート2!

□ページの先頭へ□

□目次へ戻る□

□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時点)