画像(logo)

HOME/[C言語 入門]小学生でもわかるC言語3 目次/八日目 複数の条件

広告

[C言語 入門 小学生でもわかるC言語3]
八日目 複数の条件

広告

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

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

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

目次へ戻る

複数の条件

今回は複数の条件を重ねる方法をご紹介します。

まずは次のプログラムを見てください。

/*八日目 プログラム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;
}

■実行結果■

画像(ci_8_1)

「変数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;
}

■実行結果■

画像(ci_8_2)

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

■実行結果■

画像(ci_8_3)

再び「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;
}

■実行結果■

画像(ci_8_4)

「変数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;
}

■実行結果■

画像(ci_8_5)

いくつかの条件を重ねてみた例です。

変数「suji」が500〜1000の間にあり、かつ「600」でも「700」でも「800」でもない場合と言った感じの意味になります。

条件が複数重なる場合は計算順序などでミスが起こりがちなので()カッコで囲むのが無難です。

いろいろ組み合わせて工夫してみてください。

次回はプリプロセッサというものについてみていきたいと思います。

次回

九日目 プリプロセッサ

□ページの先頭へ□

□目次へ戻る□

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