C言語の勉強4 if文、条件演算子、switch文

最終更新:2006/06/25

トップページへ戻る
Page1 Page2 Page3 Page4 Page5
ページ目次
  1. if文
  2. 条件演算子
  3. switch文


1. if文

     if-else文は、条件に応じて処理を分岐させ、プログラムの流れをコントロールすることができます。

     文法の説明

       変数aの値が「1」の場合は、処理1を実行し、変数aの値が「2」の場合には、処理2を実行します。
       変数aの値が「1」、「2」のどちらでもない場合は、処理3を実行します。

       if (a == 1) {
            処理1;
       } else if (a == 2) {
            処理2;
       } else {
            処理3;
       }

/*
    if文
*/

#include <stdio.h>

int main(void)
{
    int a = 3;
    if (a == 1) {
        puts("変数aの値は 1 です。");
    } else if (a == 2) {
        puts("変数aの値は 2 です。");
    } else {
        puts("変数aの1または2以外です。");
        printf("変数aの値は、%dです。\n", a);
    }
    return (0);
}
     実行結果
変数aの1または2以外です。
変数aの値は、3です。


2. 条件演算子


     ある特定のif-else文を省略して記述できる演算子です。

     文法の説明

       条件式を評価し、真だった場合には式1を、偽だった場合は式2を返します。

       条件式 ? 式1 : 式2

/*
    条件演算子
*/

#include <stdio.h>

int main(void)
{
    int i = 2;
    int j = (i == 1) ? 4 : 3;
    printf("j = %d\n", j);

    return (0);
}
     実行結果
j = 3


3. switch文


     式の値に応じて多数の分岐を実現できます。

     文法の説明

       評価しても一致するものが無い場合は、defaultキーワード後の処理を実行します。
       break文は、switch文を抜ける役割をしますので、break文が無い場合は、
       caseキーワード内の処理実行後もswitch文を抜けません。

       switch(式) {
           case 定数式1:
               処理1;
               break;
           case 定数式2:
               処理2;
               break;
           default:
               処理n;
       }

/*
    switch文(break文あり)
*/

#include <stdio.h>

int main(void)
{
    int a = 1;
    switch(a) {
        case 1:
            puts("変数aの値は 1 です。");
            break;
        case 2:
            puts("変数aの値は 2 です。");
            break;
        default:
            puts("変数aの1または2以外です。");
            printf("変数aの値は、%dです。\n", a);
    }
    return (0);
}
     実行結果
変数aの値は 1 です。


/*
    switch文(break文なし)
*/

#include <stdio.h>

int main(void)
{
    int a = 1;
    switch(a) {
        case 1:
            puts("変数aの値は 1 です。");
        case 2:
            puts("変数aの値は 2 です。");
        default:
            puts("変数aの1または2以外です。");
            printf("変数aの値は、%dです。\n", a);
    }
    return (0);
}
     実行結果
変数aの値は 1 です。
変数aの値は 2 です。
変数aの1または2以外です。
変数aの値は、1です。
トップページへ戻る
Page1 Page2 Page3 Page4 Page5
Copyright© 2005- Naoyuki Sano. All rights reserved.