サイタプログラミングスクールC言語プログラミング入門講座 神奈川 楽しめるC言語セミナー レッスンノート for文、文の前後関係など

for文、文の前後関係など

C言語プログラミング入門講座のレッスンノート

レッスンノートって?レッスンノートって?

5/16の体験レッスンの内容は、以下の通りです。

 ・ C言語の講義内容のフォロー
  - for文
  - 文の前後関係
  - コメント

詳細を以下に記します。

□ for文

1. 使用目的

同じような処理が繰り返される場合に、プログラム記述量を減らすためです。

2. 使用例

例えば、1~10の範囲の数値を画面に表示させるのを考えてみましょう。

この場合、ベタに書くと以下のようになりますね。

 int i;

 i=1;
 printf("%d\n", i);
 i=2;
 printf("%d\n", i);
  : // i=3~i=9について同様のものが書かれる
 i=10;
 printf("%d\n", i);

10までだとさほどでもないですが、これが100や1000までになってくると、記述量が膨大になります。

そこで、このような場合にfor文を使います。

上記のプログラムは、for文を使って以下のようにまとめられます。

 int i;

 for(i=1;i<=10;i++) {
  printf("%d\n", i);
 }

for文の中身は、順番に初期化式、継続条件式、更新式となります。

□ 文の前後関係

プログラムを読んでいくと、「行の順番を入れ替えてもいいのでは?」と思う場面がしばしばあると考えられます。

この場合は、以下の点に注意して判断します。

 ・ 変数は、内容を設定してから使用する

レッスンでは、整数1~nの平方根およびそれらの合計値を画面に表示する場合を例に説明しました。

1 #include <stdio.h>
2 #include <math.h>
3
4 void func(int n) {
5  int i;
6  double x, y, s;
7  s = 0.0;
8
9  for(i=1; i<=n; i++) {
10   x = (double)i;
11   y = sqrt(x);
12   printf("%d->%f\n", i, y);
13   s += y;
14  }
15
16  printf("%f\n", s);
17 }

この場合では、

 ・ 10~11行目は入れ替えてはいけない
 ・ 12~13行目は、11行目の前に持ってきてはいけない
 ・ 12および13行目は、13行目で使うデータを12行目でセットしていないので、入れ替えても問題ない

となります。

□ コメント

C言語では、プログラム中にコメントを書くことができます。

主にプログラムがどのように動作するかなどの説明を、コメントの中に書きます。

コメントは/* ~ */で括ります。なお、コメントの部分には日本語などの全角文字を使用してもかまいません。  
新着レッスンノート

6/21のレッスン内容は、以下の通りです。  ・ 練習問題の実践   - 4ナンバーズのプログラム作成  ・ オブジェクト指向について 詳細は、紙でお渡ししたノートやノートPCに保存したソースファイルも参照してください。 □ 練習問題の実践 今回は、以下の問題を解説...

6/21のレッスン内容は、以下の通りです。  ・ MQL4の組み込み指標関数 詳細は、紙でお渡ししたノートやノートPCに保存したソースコードも参照してください。 □ MQL4の組み込み指標関数 今回は、組み込み指標関数の項目を説明しました。 組み込み指標関数にも1...

6/20 のレッスン内容は、以下の通りです。  ・ IAR Embedded WorkbenchでのLED制御 □ IAR Embedded WorkbenchでのLED制御 今回は、IAR Embedded Workbench for ARM(以後、これをIAR EWARM...

6/18のレッスン内容は、以下の通りです。  ・ Direct X 9.0 & C++   - スプライトの移動処理 詳細は、紙でお渡ししたノートおよびノートPCに保存したソースファイルを参照してください。 □ Direct X 9.0 & C++ 引き続き、走行アニ...

6/17のレッスン内容は、以下の通りです。  ・ ハイカードのゲームプログラム作成   - フローチャート・ソースコードの確認 □ ハイカードのゲームプログラム作成 前回のレッスンでの指摘を踏まえ、生徒さんが修正したフローチャートおよびソースコードを確認しました。 こ...

レッスンノート ページ先頭へ