これまでは、決まった動作を行うプログラムをみてきた。これから、条件によってプログラムの流れを変えるための手順をみてみよう。今回は、「if文」である。
読み込んだ数値(整数値)が偶数であるかどうかを表示するプログラムを例に考えてみよう。
ご存知のとおり、偶数とは、
2で割り切れる整数。2、4、6、8など
出典 小学館デジタル大辞泉
このプログラムは、
読み込んだ整数が偶数ならば、「偶数である」と表示する。
//読み込んだ整数が偶数なら、偶数であると表示するプログラム
#include <stdio.h>
int main(void)
{
int n;
printf("整数を入力してください:");
scanf("%d",&n);
if ( n%2 == 0)
printf("入力された整数は偶数です。\n");
}
実行結果は下記の通りである。
整数を入力してください:10
入力された整数は偶数です。
if文の基本的な書式は、
if(条件式)
条件式が成り立つときの処理
if文の条件式「n%2 == 0」は、「nを2で割った剰余が0と等しい」ということ。
%演算子は、剰余を求める。オペランド(演算の対象)は両方とも整数でなければならない。
整数 % 整数
「剰余が0と等しければ」次の処理を行う。具体的には、printf関数が実行される。
なお、条件式が成り立たないときに別の処理をさせる場合は、「if else」文を使用する。
if(条件式)
条件式が成り立つときに行われる処理
else
条件式が成り立たないときに行われる処理
先ほどのプログラムで、「剰余が0と等しくない」場合の処理を加えたプログラムは以下の通りである。
//読み込んだ整数が偶数か奇数かを表示するプログラム
#include <stdio.h>
int main(void)
{
int n;
printf("整数を入力してください:");
scanf("%d",&n);
if ( n%2 == 0)
printf("入力された整数は偶数です。\n");
else
printf("入力された整数は奇数です。\n");
}
実行結果は、下記の通りである。
整数を入力してください:9
入力された整数は奇数です。
なお、分岐が3つ以上になる場合は、「else if 」を組み合わせる。「else if 」はいくつでもつなげられる。
if (条件式1)
条件式1が成り立つときに行われる処理
else if (条件式2)
条件式2が成り立つときに行われる処理
else
条件式がいずれも成り立たないときに行われる処理
いかがであろうか。この小文でC言語に少しでも興味を持っていただけたら幸いである。
(参考文献)新・明解C言語 入門編 第2版 柴田望洋著(SBクリエイティブ)、基礎C言語 (株)アンク著(インプレス )
コメント