if文

#include < stdio.h >
main()
{
  int old;

  printf("あなたの年齢は? >");
  scanf("%d", &old);
  if(old < 20){ /* oldが20未満だったら */
    printf("あなたは未成年です。\n");
  }else{ /* そうじゃなかったら */
    printf("。\n");
  }
}

if文は、カッコの中の条件が成立していれば、次の中カッコを実行します。 条件が成立していない場合は、else以降の中カッコを実行します。 必要がなければelse以降は省略することが可能です。

if文の書式は次のようになります。

if(条件式)
  条件式が成立した場合に処理する文
else
  条件式が成立しなかった場合に処理する文
※else以降は無くてもいい



switch文

#include < stdio.h >
main()
{
  char neta;

  printf("\n");
  printf("a: b: c: d: >");
  scanf("%c", &neta); /* 数字ではなく文字を入力させる */

  switch(neta){
  case 'a': /* netaは文字型だから、ここは文字定数。 */
    printf("\n");
    break; /* breakが無いと、次のcaseに続いて処理をしてしまう */
  case 'b':
    printf("\n");
    break;
  case 'c':
    printf("\n");
    break;
  case 'd':
    printf("\n");
    break;
  default: /* 変な文字を入力した場合 */
    printf("\n");
    break;
  }
}

switch文は、カッコの中の値に対応するcaseの位置にジャンプします。
処理の終わりにはbreak文を書かないと次のcaseまで続けて実行してしまうので、必ずbreak文を書くようにしましょう(意図的に書かない場合もある)。
どのcaseにも対応しない場合はdefaultにジャンプします。
defaultも無い場合は何も処理しません。

switch文の書式は次のようになります。

switch(式){
case 定数式:
  文
default:
  文
}
※caseは何個あってもい。defaultは無くてもいい