C言語

実践型C言語入門 反復処理

皆さんこんばんにちは、ユウです。

今回は反復処理について紹介したいと思います。

データの出力や、式の計算、選択処理については過去の記事で書いているので、そちらの方を読んでください。

実践型C言語入門 データの出力と式の計算皆さんこんばんにちは、ユウです。 今回からはC言語の入門として、基本的な構文と標準関数について紹介していきたいと思います。 ...
実践型C言語入門 選択処理皆さんこんばんにちは、ユウです。 今回はC言語の選択処理について紹介したいと思います。 以前の記事では、データの出力と式の計...

反復処理には、for 文とwhile 文、do ~ while 文を使います。

これらを使えるようになると回りくどくダラダラと同じ内容を書かなくて言いようになります。

進めていくときは、コピペで進めていくようにして下さい。

ただし、必ずファイルを作りコンパイルしてファイルを実行させるようにして下さい。

for 文

今回はfor 文、while文、do ~ while 文のコードはすべて同じ事を処理しています。

それぞれの違いを確認しながら進めるようにして下さい。

実行結果

<解説>

6行目:変数の初期化

6行目のように、変数の値に0等の数を代入することを初期化といいます。

初期化せずに、変数の値を何も指定せずに出力すると、エラーが出てくる可能性があります。

変数に何か代入すれば問題ないのですが、プログラムが長くなっていくと、書き忘れなどがありエラーが積み重なる可能性があります。

変数を準備するときにはいったん初期化するために0を代入しておくことをオススメします。

8行目: for 文

for 文の()中身は、「nは1から、10まで、1ずつ増やす」という意味です。

区切る記号は「;」であることに注意して下さい。

「n++」は n = n + 1 と同じ意味になります。「++」は1ずつ増やすための演算子で、インクリメント演算子というものです。

逆に、1ずつ減らすための演算子は「–」でデクリメント演算子があります。

9行目:総和

この間に、sowaの値にnの値(1~10)足されている事になります。

ここでの考えで大切なことは、計算にnを使っているということです。

11行目から22行目を見てもらうと分かるのですが、for 文を使わない場合nの部分にいちいち数を手動で打っていかなければ成りません。

今回は、1~10と少ない数でしたが、これが100や1,000となるととてもじゃないけれども書くことが出来ません。

ですから、for 文はかなり計算などで重宝します。

while文


実行結果

<解説>

7行目:while 文

()の中にループを繰り返す条件式を記述します。

今回の場合は、nの値が9までの間は繰り返しますが、10になっていると繰り返しを止めるという条件となっています。

9までだったら駄目じゃないか?と考える人もいるかと思いますが、順番に考えていくとあっさり分かります。

まず、n=0のときn>10が真ですのでwhile文が動きます。そうすると、プログラムは上から下へ順番通りに動いていくのでn++が動いてn=1となります。そして最後にsowaにnが足されてn=0の時の処理は終了となります。

ここで注目してほしいのが、n=0の場合はn++でn=1が発生し、sowaに足しているということです。

今回の場合はnが条件式で判断するnよりも1増えてsowaに足されるということが分かりましたか?

このwhile 文の書き方は数通りあるのでぜひ、他のやり方も考えて見てください。

プログラムを順番に紐解いていくと、以外と簡単なことをしているということが分かります。

8行目:nについての処理

whileの条件式でnについて触れているので、nの値を変えてやる必要があります。

この処理を行わないとずっとループが終わらないプログラムになるので、条件式で設定した変数をwhile文の中で変化させるようにすることを心がけましょう。

do ~ while 文


実行結果

<解説>

8行目:do ~ while 文

while 文と比較すると、while 文はループする入口で条件を判断し、do ~ while 文は出口で条件を判断しているのが分かるかと思います。

これから、while 文は条件次第では一度も処理をすることなく、ループを無視して次の処理に移りますが、do ~ while文は必ず最低一回は処理を行ってから条件判断に移ります。

while 文とdo ~ while 文はそれぞれ特徴を持っていますが、最初の内は使いやすいと思う方を使えるようになれば大丈夫です。

最後に

今回は反復処理について紹介してきました。

反復処理で大切な事は、変数がどういう値を持っていて処理を行っているのかを理解することです。

反復処理は条件式次第でかなり値が変わってしまいます。

最初の内はコードを見て、丁寧に変数の値について考えてみるような練習をしてみるのもありかと思います。

今回はこれだ以上となります。

最後まで読んでいただきありがとうございました!

この記事の続きは以下のリンクから行けます。

実践型C言語入門 配列今回はC言語の配列について紹介していきます。配列はデータの処理によく使われる機能です。最初の内は少しややこしいと感じるかもしれませんが、覚えるといろいろと作業が短縮できるので覚えておいて損はありません。1次元配列と2次元配列それに加え、反復処理を加えた配列について紹介しているのでぜひ足を運んでみて下さい。...

C言語学習についてまとめている記事もあるので、そちらの方も見ていただくと嬉しいです。

実践型C言語入門 総集編皆さんこんばんにちは、ユウです。 今回は今まで紹介してきたC言語のまとめとなります。 C言語は高校や大学で習うイメージがある...
ABOUT ME
ユウ
プログラミング担当です。夜行性大学生やってます。 メンバーの中で一番プログラミングが得意で、将来はBMIという研究をしてALSの患者さんへの医療機器の開発を目標にしています。 無線LAN有線LANより便利。