本文へスキップ

アトメル社のAVRマイコンをつかった電子工作および無線を使った電子工作を紹介します。





ホーム >ソフト室 >AVRマイコンで始めるC言語の使い方 >プログラムの制御

AVRマイコンで始めるC言語の使い方

プログラムの制御

条件分岐

if 条件式が真の場合はif内の文を実行します。条件式が真とは条件式が’0’以外をいいます。

if(条件式)

    文;
else 条件式が偽の場合はelse内の文を実行します。以下の例では文2を実行します。条件式が偽とは条件式が’0’になる場合をいいます。

if(条件式)

   文1;

else

   文2;
else if 最初の条件式が偽の場合次の条件式をチェックします。else ifの繰り返しにより複数の条件式でチェックすることかできます。あるところで条件式が真となったときはこれ以下のelse ifはスキップされます。以下の例で条件2が真の場合は文2を実行し、条件3以下はスキップされます。

if(条件式1)

   文1;

else if(条件式2)

   文2;

else if(条件式3)

   文3;

・・・・・・・・
switch switch文は整数式cの値をチェックして等しいときにcase以下の文からをbreakまでを実行します。c=Bの場合は文2を実行します。
cがどれとも一致しないときはdefaultの文4を実行します。

switch(c)

   case A:
      文1;
      break;
   case B:
      文2;
      break;
   case c:
      文3;
      break;
   default:
      文4;
      break;

繰り返しループ

while 条件式が真の間は文を実行します。条件式が偽となるとループからぬけます。
while(条件式)

   文;
do while do以下の文を実行した後に条件式をチェックし真の間はdoとwhile間の文を実行します。条件式が偽になるとループからぬけます。
do

   文;
}while(条件式);
for for(A,B,C)

   文;

A:最初に1度だけ実行されます。
B:条件式で条件式が真の間forに続く文が実行されます。
C:forに続く文が実行された後に実行されます。その後にBがチェックされます。

スキップ

break while, do while, for, switch文を実行中にbreakが来るとループから1つ抜け出ます。
continue continue以下を実行せずにループの終わりまでスキップします。ただし、ループは繰り返し実行されます。

無限ループ

無限ループを作る場合は、for(;;;)または、while(1)を使用します。好みでどちらかを使用することとなります。

前ページ次ページ