7.制御文

●if文

ifは、条件によっていろいろな処理をするための文です。書き方はこんな感じです。

    if(条件)

    {条件があっていた場合の処理;}

    else

    {条件が偽であった場合の処理;}

もし、複数の条件を入れたい場合には、

    if(条件1)

    {条件1があっていた場合の処理;}

    else if(条件2

    {条件2が正しい場合の処理;}

    else

    {どの条件にも偽であった場合の処理;}

とします。実際にプログラムを書いてみます。

#include <stdio.h>

int main()

{
    int a=100;

    if(a<50)

    {

        printf("a<50\n");

    }

    else if(a>=50 && a<=100)

    {

        printf("50<=a<=100\n");

    }

    else

    {

        printf("a>100\n");

    }

    return 0;

}

50<=a<=100という結果がでるはずです。

 

●while文

while文の書き方は、

  while(式)

  {式が真であった場合の処理;}

つまり、式が偽であった場合は1度も実行されません。

もし、

  while(1)

        ;

という式を実行すると、無限ループになってしまいます。なので、処理の中で値をかえたり、break文(後で紹介します)で処理を終了させなければなりません。

●for文

for文の書き方は、

  for(最初の値;値がいつになるまで処理を続けるか;値の増加分)

    {処理;}

です。プログラムを書いてみます。

#include <stdio.h>

int main()
{
    int a,b;

    a=100;

    for(b=1;b<=5;b++)

    {

        printf("%d\n",a);

        a++;

    }

    return 0;

}

100から104の値が表示されました。for文のところを見てみましょう。最初、bの値は1に設定されています。次のb<=5という文で、bの値が1から始まって5になるまで処理をするという意味になります。b++は、処理を1回するごとに1づつ値を増やします。つまり、for文によって、5回の処理がされました。

つまり、for(b=1;b<=5;b++);for(b=1;b<=9;b=b+2);としても同じことになります。

●switch文

switch文の書き方は、

  switch(){

        case  値1

                処理;

                break;

        case  値2

                処理;

                break;

        default:

                処理;

        }

なお、値のあとは、「;(セミコロン)」ではなく、「:(コロン)」であることに注意してください。

文中のbreak;ですが、これを実行することでswitch文から抜け出します。もし値1が一致したら値2の方の処理はせず終了します。

例です。

#include <stdio.h>

int main()

{

    int a=2;

    switch(a){

        case 1:

           printf("a=1\n");

           break;

        case 2:

            printf("a=2\n");

            break;

        case 3:

            printf("a=3\n");

            break;

        default:

            printf("aは1から3のどの値でもありません。\n");

        }

    return 0;

}

aの値をいろいろと変えて試してみましょう。

目次へ