C言語 if文 ~これを押さえておけば大丈夫~

プログラミングにおいて、条件分岐処理は必要不可欠な処理になります。

C言語において、条件分岐の制御文はいくつかありますが、この記事では、条件分岐処理の基本となるif文の使い方を紹介したいと思います。

1.if文

1-1.if文とは

if文は条件分岐処理を行うための命令文です。

具体的には、「条件Aが成立する場合、処理A´をする」といったことをさせるための手法です。

次に、if文の記述方法は次のようになります。

if (条件式)

{

  (条件式が成立する場合の処理を記述)

}

1-2.条件式は真偽値で判定する

if文における条件式は真偽値で判定され、真の場合に条件が成立することになります。(※)

尚、真偽値は次のように判定します。

  • 真:≠0 (ゼロでない)
  • 偽:0  (ゼロである)

※ if文に限らず、C言語で扱う条件式全般が真偽値で判定されます。

以下の例を見てみましょう。

【例1-1】

上記の例の結果は、「変数bは真です。」だけが出力されます。

では、次に否定(~でない)を意味する条件式の記述方法を解説します。

条件式の先頭に、「!」を付けることで、否定を意味するようになります。

【例1-2】

上記の例の結果は、「変数aは偽です。」だけが出力されます。

1-3.関係演算子を使用した条件式

関係演算子を使用することで、より使いやすい条件式を実現することが出来ます。

関係演算子の種類を下表に記します。

項番 演算子 意味
1 == 等しい if( a == 0)  // aが0である
2 != 等しくない if( a != 0)  // aが0でない
3 より大きい if( a > 0) // aが0より大きい
4 < より小さい if( a < 0) // aが0より小さい
5 >= 以上 if( a >= 0) // aが0以上である
6 <= 以下 if( a <= 0) // aが0以下である

演算子を使用した条件式の例を以下に記します。

【例1-3】

上記の例は、変数numを2で割った余りが0の場合に、変数numが偶数であることを出力します。上記の例では、偶数の場合にしか出力されませんが、奇数の場合にも結果を出力したいですよね。if文を2つ並べても実現することは可能ですが、else文を使用するとスッキリ記述できます。

else文を使用した条件式の例は次のようになります。

【例1-4】

これで奇数の場合にも出力されるようになります。

尚、if文は真偽値で表すため、上記の例は次のように記述することもできます。

【例1-5】

なぜ同じになるかというと、num%2の結果が0(偽)になるからです。

次のようにしても同じ結果となります。

【例1-6】

こちらは、num%2の結果が1(真)なので、出力する文字列を入れ替えることで同じ処理をすることが出来ます。

2.多分岐のif文

 条件分岐をさせる場合、必ずしも分岐が2つとは限りませんし、条件も1つとは限りません。

本章では、3つ以上に分岐させる場合、条件が複数ある場合の記述方法について解説します。

2-1.else if文

3つ以上に分岐させたい場合、else if文を使用します。

記述方法は次のようになります。

【例2-1】

上記の例は、変数numを3で割った余りで分岐させています。このため、結果は0~2の3パターンとなります。

条件分岐の順序は、記述している順序に従います。このため、順序は次のようになります。

  1. if文
  2. else if文
  3. else文

if文は先頭の1回のみしか使用できません。また、else文はif、else ifの条件以外のものが入るため、記述順序は必ず最後の1つだけになります。

4つ以上に分岐させる場合はどうすればよいかというと、else ifを複数記述することになります。

では、4つに分岐させた例を以下に記します。

【例2-2】

上記の例では、5で割った余りで判定しています。

5の剰余は0~4の5パターンになりますが、これを4つに分岐させているため、else分岐に入るのは3と4になります。

2-2.複数条件のif文

 複数条件で判定したい場合は、条件式を論理演算子でつなぎます。

論理演算子の種類を下表に記します。

項番 演算子 意味
1 && 且つ if(a >= 0) && (a >= 3)  // aが0以上3以下である
2 || 又は if(a == 0) || (a == 10) // aが0または10である

では、論理演算子を使用したif文の使用例を紹介します。

まずは、項番1のAND条件を利用した例になります。

【例2-3】

上記の例は、年齢を表す変数ageを元に分岐させています。

次に、項番2のOR条件を使用した例です。

上記の例で注目していただきたいのは、OR条件のElse節がAND条件になるということです。

3.さいごに

以上、C言語におけるif文の基本的な使い方をまとめました。C言語を扱う上でif文は必ず使用します。

また、条件式はif文以外の命令文でも使用します。なので、C言語を覚えたいと思っている方には是非覚えていただきたいと思います。

尚、本記事内で例として使用したコードはあくまで使い方を示すためのものであるため、実務での使用方法に合わないものも含まれています。

『技術力』と『人間力』を高め市場価値の高いエンジニアを目指しませんか?

私たちは「技術力」だけでなく「人間力」の向上をもって遙かに高い水準の成果を出し、関わる全ての人々に感動を与え続ける集団でありたいと考えています。

高い水準で仕事を進めていただくためにも、弊社では次のような環境を用意しています。

  • 定年までIT業界で働くためのスキル(技術力、人間力)が身につく支援
  • 「給与が上がらない」を解消する6ヶ月に1度の明確な人事評価制度
  • 平均残業時間17時間!毎週の稼動確認を徹底しているから実現できる働きやすい環境

現在、株式会社ボールドでは「キャリア採用」のエントリーを受付中です。

まずは以下のボタンより弊社の紹介をご覧いただき、あなたの望むキャリアビジョンをエントリーフォームより詳しくお聞かせください。