C言語 入門 小学生でもわかるC言語

七日目 if(もし〜だったら)

「わかりやすく!」がテーマです!

HOME/小学生でもわかるC言語 目次/七日目 if(もし〜だったら)/

広告

↓2016年02月29日発売↓

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

新品価格
¥2,462から
(2016/5/10 22:16時点)

もっと!C、C++言語本

目次へ戻る

?と思ったら

わからなそうな用語集

if(もし〜だったら)

プログラムの基本は

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

でしたね!

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

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

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

2つに分かれ道

/*プログラム17*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(){
	int kotae = 0;

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

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

	return 0;
}

■実行結果■

実行結果(b-7-1)

■説明■

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

int kotae = 0;

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

scanf("%d",&kotae);

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

条件で分かれ道

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

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

条件が合う場合

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

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

条件が合わない場合

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

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

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

合わない時は何もしない

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

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

でその後の「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ランク

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

/*プログラム18*/
#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("テストの点数を入力してください>");

	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;
}

■実行結果■

実行結果(b-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ランクです!

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

命令を増やす!

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

/*プログラム19*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(){
	int kotae = 0;

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

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

■実行結果■

実行結果(b-7-3)

■説明■

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

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

見にくいプログラム

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

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

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

次回

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

□ページの先頭へ□

□目次へ戻る□

広告

↓2014年06月20日発売↓

14歳からはじめるC言語わくわくゲームプログラミング教室 Visual Studio 2013編

新品価格
¥2,500から
(2016/5/10 22:17時点)

↓2014年10月25日発売↓

超本格! サンプルで覚えるC言語 3Dゲームプログラミング教室

新品価格
¥3,110から
(2016/5/10 22:18時点)

↓2013年07月25日発売↓

小学生からはじめるわくわくプログラミング

新品価格
¥2,052から
(2016/5/10 22:21時点)

↓2016年05月13日発売↓

小学生からはじめるわくわくプログラミング2

新品価格
¥2,052から
(2016/5/10 22:22時点)

もっと!C、C++言語本

□ページの先頭へ□

□HOME□