今までのプログラムは実行から終了まで一本道のプログラムでしたが、
今回からはプログラムの流れを2通り・3通りと分岐させていくことを勉強していきます。
まずは「if文」を勉強していきます。色んな言語で出てきますね。
C言語でのif文の使い方を少しずつ勉強していきます。
if文
ifっていうのは英語の「もしも〜だったら」とほぼ同じ捕らえ方でOKです。数学でいうと「真偽」と同じです。
使い方は
if( 条件式 ) 文;
という風に使います。
指定した数値が[条件式」で0になるか、ならないかを判定するだけです。
また、条件判定を行なう上で数値が
「0になったものを[偽]」、「0以外(正の数、負の数両方含みます)を[真]」
と呼びます。
そして、「真」の場合のみ( 条件式 )に続く「文」を実行します。
ちょっと説明も難しいですね。
これだけでは分からないと思うのでまずはプログラムを見てみましょう。簡単な分岐のプログラムを作ってみます。
入力した数値が2で割り切れるかどうか、偶数か奇数かという判別をするプログラムにしてみましょう。
#include <stdio.h>
int main(void)
{
int num;
printf("数値が2で割り切れるかを判別します。¥n");
printf("整数を入力してください:"); scanf("%d", &num);
if(num % 2)
printf("%dは2で割り切れません。¥n", num);
return 0;
}
実行結果(入力した数値が奇数の場合)
数値が2で割り切れるかを判別します。
整数を入力してください:11↵
11は2で割り切れません。
実行結果(偶数の場合)
数値が2で割り切れるかを判別します。
整数を入力してください:20↵
さて色々見ていきましょう。
まずはこのプログラムが「2で割り切れるか、割り切れないか」という問題をプログラムにしたものです。
2で割るんだから「num / 2」じゃないの?なんて人もいるかもしれません。でもこれは間違いです。
入力した数値のほぼ全ての数が「num / 2」で計算したときの答えが0以外の数値になりますよね。
「2 / 2 = 1」ですし、0にならないんです。だから条件式に「num / 2」と入力するのは間違いです。
条件が0にならないように考えないといけないわけですね。
さて「%演算子」は覚えていますか?
これは「a % b」とした時の「余り」を計算してくれる演算子でしたね。これを使いましょう。
つまり割ったときの「余りが0か0以外か」で真偽を判定するんですね。
そして、if文は余りが0以外の場合、( 条件式 )に続く「文」を実行できるので、
今回の場合は「割り切れない場合」に「文」を実行できるわけです。
だから「%dは2で割り切れません」という文が続いているんですね。
他にも例えば5で割り切れるか否かという場合も、「num % 5」なんていう風にやればいいわけです。
つまり、「%演算子」を使えば倍数を判定することが出来るわけですね。
2の場合は、偶数か奇数かも判定できます。
説明が簡潔にいきませんね。
ただ、このままだと偶数を入力したとき結果が何も無いのはちょっと嫌ですね。
次回はif文を使った2通りの分岐がある場合についての説明です。
メニューへ戻る
タグ:C言語
↓もしこの記事が役に立ったらクリックお願いします。


【プログラミング>C言語の最新記事】