7.制御文
●if文
ifは、条件によっていろいろな処理をするための文です。書き方はこんな感じです。
if(条件)
{条件があっていた場合の処理;}
else
{条件が偽であった場合の処理;}
もし、複数の条件を入れたい場合には、
if(条件1)
{条件1があっていた場合の処理;}
else if(条件2)
{条件2が正しい場合の処理;}
else
{どの条件にも偽であった場合の処理;}
とします。実際にプログラムを書いてみます。
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(最初の値;値がいつになるまで処理を続けるか;値の増加分)
{処理;}
です。プログラムを書いてみます。
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の方の処理はせず終了します。
例です。
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の値をいろいろと変えて試してみましょう。