C言語 for文でループ文に挑戦

プログラミング

 

前回は、while分やdo while文を紹介しました。それぞれループ処理をするときに使うC言語では超基本的なループ文でした。

 

今回はそんなループ文の最後、for文を紹介していきます。C言語で覚えなけらばならない基本的なループ文3つの中の最後にループ文です。書き方はwhileやdo  whileほど単純ではないですが、C言語のループでは一番よく使うものなのでぜひ覚えていってください。

 

for文の意味と書き方

 

for文はループ文です。

ないかの規則的なものや似たような処理をさせたいときによく使います。その点でいえば今までやってきたwhile文やdo while文と違うことは何一つありません。

 

しかし、同じループでもfor文は「ループさせる回数がすでに決まっている処理」によく使うという特徴があります。

 

例えば、「30人文の名前を入力するプログラム」を作りたいときは、名前を入力する回数が30回とすでに決まっています。こういうプログラムはfor文が有利です。

 

なぜfor文が回数が決まったループ処理に有利かの理由はfor文の書き方を見ればわかります。

for文の書き方は、

です。

 

初期化式は前処理のように物で、for文が行われるときの最初の一度だけ行われます

 

継続条件式は、繰り返しを行うどうかの判定を行うための式です。毎回のループ本文が実行された後に評価され、この条件式が成立すればもう一度ループ本文が処理されます。

 

ここで注意してほしい点があります。この継続条件式を省略した場合、条件式は常に満たされている判定になります。つまり、無限ループが発生して永遠に処理が終わらないということになります。そうなるとbreak文を入れるなどしないとずっと抜け出せなくなります。

 

変化式は後始末のようなものです。各ループ文の最後に毎回実行されます。なので、ここでは次の繰り返しのための処理、例えば、継続条件式を満たさなくなるための処理をしてループを終わらせどをします。

 

ということでこれがfor文の基本的な構成ですが、文字で書いていてもいまいちわかりずらいでしょう。なので、実際にプログラムを書いてどういう動きをするのか見てみましょう。

 

for文でカウントダウンをする

 

ここではfor文で「10から1までカウントダウンする」プログラムを作っていきます。

 

以下が作ったプログラムです。

 

プログラム全体は、まず変数iを10で初期化し、その後for文で「変数をiを表示してその後iから1を引く」という処理を変数iが0になるまで実行するという構成です。

 

それでは、for文の各構成を見ていきましょう。

 

まずは変数iを10で初期化する式ですが、これはfor文が実行される前に一度だけ行われればいいので初期化式の中に書きます。

次に継続条件式は、表示する変数iが0になるまでなので i > 0 となります。

変化式は、表示する変数iが1づつ引かれればいいので、i– (デクリメント)を使います。

ループ本文は、変数iを表示すればいいので printf(“%d “, i ); となります。(見やすいように%dの横には半角スペースを入れました)

 

これでプログラム内では、10から1まで変化する変数iを表示するカウントダウンが出来上がりました。

 

実行結果は

OKですね。

 

これはあくまでもfor文の簡単な例です。本来はもっと複雑なプログラムにも使用されます。なので、これまたfor文を覚えていないとC言語を理解するのは不可能と言うことです。

 

もう一度言いますが、for文は本当にC言語で頻出の大事な文です。なので、次回はfor文を使った少し複雑な例(あくまでfor文を習い始めた人にとって)を書いていきます。

 

では。

コメント