if文 - 条件分岐
当ページのリンクには広告が含まれています。
スポンサーリンク
ここではC言語で条件分岐する if文を紹介します。
if文
プログラムは上から下へ一連の流れに沿って、処理を行います。if文は、この流れに分岐を設ける役割をします。例えば、変数の値が10より大きいときは「ある処理」を行う。それ以外は「ある処理」を行わない……など。
それではif文の記述方法をみてみましょう。
if(条件式) 処理;
このように「条件式」を満たした場合の「処理」を記述します。「条件式」を満たさない場合はこの「処理」は実行されません。
条件式を満たすことを「真(true)」、満たさないことを「偽(false)」といい、「真」は「0以外」の値、「偽」は「0」を意味します。
処理が複数行ある場合は、以下のように「処理」を波括弧「{」と「}」の間に記述します。
if(条件式) {
  処理1;
  処理2;
  …
}
処理がひとつの場合でも以下のように「処理」を波括弧「{」「}」の間に記述することができます。
if(条件式) {
  処理1;
}
波括弧「{」「}」を使った方が分かりやすい(読みやすい)プログラムになるかもしれませんね。
それでは実際に if文を使ってみましょう。
サンプルプログラム
入力した数値が0以外の場合は、その数値を出力する、というサンプルプログラムです。
#include <stdio.h>
int main(void)
{
  /* 変数の宣言 */
  int a;
  /* 数値の入力 */
  printf("数値を入力してください = ");
  scanf("%d", &a);
  /* 条件分岐 */
  if (a)
    printf("%d\n", a);
  return 0;
}
実行結果です。
数値を入力してください = 3 3
ここでは「3」を入力したので、入力した数値が出力されています。お使いの環境でこのプログラムをコンパイルし、さまざまな数値を入力してみてください。
次は条件式が偽(false)のときの処理も指定できる「if 〜 else文」をみていきます。