水瓶座列車

どこまで行けるか、とりあえず発車します。

C言語の繰り返し構文( while, do while, for )の解説と応用

f:id:aquarius999:20190421195146p:plain

 

 

どのようなプログラミング言語でも繰り返し処理を行う構文がありますが、

C言語の繰り返し構文としては、

 ・while()文

 ・do while()文

 ・for()文

があります。

 

for()文やwhile()文は、C言語プログラミングでの使用頻度はかなり高く、いろいろな使い方ができます。

 

 

 

 

  1.繰り返し構文とは

 

繰り返し構文とは、同じ処理を何回も繰り返し行いたい場合に使用します。

繰り返し構文には、先ほど言いましたとおりwhile文、do while文、for文の3種類があります。

 

この3種類は、どれを使っても同じですが、繰り返し処理の終了条件などによって、

使いやすさがありますので、場合に応じて自分の感覚で使い分けると良いです。 

 

 

  2.while文

 

 while文の形は、

while( ここに繰り返しの終了条件を入れる ) {
  ここに処理を入れる。
};

のように書きます。

まず繰り返しの終了条件を調べてから、処理を行います。

 

実際には使用すると、こんな感じです。

int iCnt = 0;
while( iCnt < 10 ) { // iCntが10以上になったら繰り返しを終了する。
  printf("カウント回数:%d\n",iCnt);
    iCnt++; // iCntをインクリメントする。
};

 

while文は良く使われるので理解しておきましょう。

 

  3.do while文

 

do while文の形は、

do {
  ここに処理を入れる。
} while( ここに繰り返しの終了条件を入れる );

のように書きます。

 

例えば、こんな感じです。

int iCnt = 0;
do {
    printf("カウント回数:%d\n",iCnt);
    iCnt++;
} while( iCnt < 10 ); 

 

while文と異なる点は、繰り返しの条件を処理が終わってから調べることです。

繰り返し終了条件を先に見るか、後に見るかで、プログラムの書きやすさが変わる場合があります。

状況に応じて使い分けてみてください。 

 

  4.for文

 

この繰り返し構文もよく使われます。 for文の形は、

for(初期化; 繰り返し条件; 変更) {
    ここに処理を入れる
}

のように書きます。

 

例えば、こんな感じです。

for( iCnt=0; iCnt<10, iCnt++) {
    printf("カウント回数:%d\n",iCnt);
}

 

for文は、繰り返し回数が決まっているときによく使用します。

カウント変数の初期化と繰り返し条件とカウントを一行で書くので、

プログラムが見やすくなります。

 

  5.応用編

 

システム開発レベルでは2,3,4のような単純な使い方はあまりなく、

実装レベルでどのような使い方をしているのか解説していきたいと思います。

 

 

・for文のカウンタを2つ使用する

 

for文は、カウンタを2つ使用することができます。

例えば、下記のように、cntA、cntBを同時にインクリメントしてループ処理することができます。

 

int cntB=10;
for( int cntA=0; cntA<10; cntA++,cntB++) {
    print("cntA=%d cntB=%d\n", cntA, cntB);
}

 

2次元配列を操作する時や2つの1次元配列を同時に操作する時に、

このようにすることで、簡単に処理できる場合があります。

 

・多重ループ

 

多重ループと言っても2重ループ、多くても3重ループまでにしておくのが良く、

それ以上の場合は、プログラム的に可読性が落ち、理解するのに時間がかかります。

ただし、数学的なプログラムなど仕方ない場合においては使用しても良いと思います。

2重ループの例として、2重for文で、変数aという2次元配列を0初期化するプログラムは、

下記のようになります。

 

int a[10][10];
for( i=0; i<10 ; i++) {
 for( j=0; j<10; j++) {
     a[i][j]= 0; 
 }
}

 

  6.最後に

 

while()文、do while()文、for()文は、どれも同じ繰り返し処理の構文ですが、

状況によって、プログラムの書きやすさが異なります。

また、プログラムの読みやすさも変わってきますので、意識して使い分けることが大切です。

 

 

関連・おすすめ記事 

プログラミングを独学で勉強するためのLinuxパソコン準備手順 - 水瓶座列車

RaspberryPi (ラズパイ)の購入時に最低限必要なものとおすすめセット - 水瓶座列車

Raspberry Pi (ラズパイ)で役に立つ書籍のおすすめランキングベスト5 - 水瓶座列車

C言語の演算子と優先順位の解説 - 水瓶座列車

C言語の始め方と基本構造、コンパイルから実行までを解説 - 水瓶座列車