1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【C言語超入門(第6回)】繰り返しの処理を学ぼう(その2)

Pocket

前回の「C言語超入門(第5回)」に引き続き、繰り返しの処理について学んでいきましょう。
今回は、複数の実行文を繰り返す「ブロック文」について、ご説明いたします。

その前に、前回の繰り返し処理について復習しましょう。
早く次に進みたいという気持ちがあるかもしれませんね。
でも、今は基礎を身に付けるとき。少し遠回りに感じたとしても、しっかりと復習をすることが上達の早道ですよ。

さて前回は、for文を使って1から10までの和を求めるプログラムを作成した。

※プログラム1

※プログラム1の実行結果

 答えは 55 です。

変数nの値を書き換えたりして、実際に自分自身でプログラミングをしてみましたか。
早くC言語をマスターしたいのなら、必ず実際にプログラミングをしてくださいね。

ルール3.for文は一つの処理文を繰り返す

「※プログラム1」のfor文をよく見てください。
「x=x+i」という一つだけの処理文を繰り返していますね。

では、二つ以上の処理文を繰り返し処理させるためには、どうしたらよいのでしょう。
まずは、二つの処理文を繰り返すプログラムを書いてみます。
変数xに1から10までの和、変数yに1から10までの差を求めるプログラムです。

変数xを求める方法は「※プログラム1」と同じです。
変数yは、「※プログラム1」に「y=y-i」を追加して求めます。

※プログラム2

※プログラム2の実行結果

変数x= 55 : 変数y= -11

変数xの値が55、変数yの値が-55になれば正解ですが、変数yの値が期待と異なった結果になってしまいましたね。
for文は、一つの処理文を繰り返すことができます。
逆に言えば、一つの処理文しか繰り返すことができないのです。

ですから「※プログラム2」の繰り返し対象は「x=x+i; 」だけです。

「y=y-i;」は繰り返しの対象外になり、一度しか処理されません。
これは困りましたね。

ルール4.複数の処理文を繰り返すときはブロック文を使う

そこで、for文で二つ以上の処理文を繰り返し処理させたいときは、ブロック文を使用します。
ブロック文の記述は簡単です。
繰り返したい処理文をプレイス(波括弧)でくくるだけです。

さっそく、ブロック文を使ったプログラムを見てみましょう。

※プログラム3

※プログラム3の実行結果

変数x= 55 : 変数y= -55

これで変数yの値が、期待とおりの結果になりましたね。
「x=x+i; 」と「y=y-i;」の二つの処理文が繰り返し実行されました。

ルール3で、「for文は一つの処理文を繰り返す」とお伝えしました。
つまりブロック文は、複数の処理文をまとめた一つの大きな処理文なのです。

実はすでにブロック文の概念を学んでいます。
「c言語超入門(第1回)」」を思い出してください。
「C言語超入門(第1回)」で、「すべての関数はブレイスでくくる」とお伝えしましたね。

関数も一つの大きなブロック文とも言えます。
ブロック文はとても都合のよい考え方のため、C言語ではいろいろなところで登場します。
しっかりと覚えてくださいね。

C言語超入門の第6回まとめ

さて、「C言語超入門(第5回)」から2話続けて繰り返し処理について学びました。
ポイントを整理しておきますね。

<繰り返し処理まとめ>
ルール1.for文を使って繰り返し処理ができる
ルール2.for文に「;」だけを書くと空ループ(時間稼ぎ)になる
ルール3.for文は一つの処理文を繰り返す
ルール4.複数の処理文を繰り返すときはブロック文を使う

いかがでしょう。
繰り返し処理は簡単に感じたでしょうか。
それとも、ちょっと難しく感じたでしょうか。

繰り返し処理はプログラミングをしていく上で、とても重要です。
今のうちに、しっかりと理解しておきましょう。
もし不安があれば、「C言語超入門(第5回)」「C言語超入門(第6回)」を読みなおしてくださいね。

ステップ・バイ・ステップ。焦らず一歩ずつ進んでいきましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

おすすめスクール

システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ システムアーキテクチュアナレッジでは、ITスクールとしては珍しく正規雇用かつ現役のエンジニアが講師を務めています。「責任を持ったIT教育」をテーマに、未経験者をプロフェッショナルに育てます。
ページ上部へ戻る