C言語でのプログラミング
C言語でのプログラミング
プログラミングの勉強中で少し疑問が出てきたので、教えていただけるとありがたいです。
1から10までの数を足していくという次のプログラミングについてです。
#include <stdio.h>
void main(void) {
int a = 0, i;
for (i=1; i<=10; i++) {
a = a + i;
}
printf("1から10の合計は%dです¥n", a);
}
変数として、aとiを定め、aには0が代入されています。
つぎにforループが発動する際に、iに1が代入されiが10以下であるため、a = a + iが実行されます。
このとき、右辺が先に実行されa = 1となるはずです。
ここで疑問なのですが、aには1だけ入っているのでしょうか?
それとも0と1が入っているのでしょうか?
そしてa = a + iが実行されたのち、i++によりiには2も入ることになると思います。
ここでも同じ疑問として、iには1と2が入っているのか?
それとも2だけが入っているのか良く分かりません。
もし仮にaにもiにも数字がどんどん格納されていくのなら、なぜ足し算の式において一つの値だけを取り出して足し算を実行できるのか分かりません。
長くなりましたが、ご解答よろしくお願いします。
お礼
回答ありがとうございます。 途中で嫌になってしまうことが多いです。 プログラミングに必要な命令語は全て暗記する必要はないのでしょうか? 文法、ループ、分岐、配列、ハッシュ、ポインタなどを覚えて やればいい気がするのですが、なぜかプログラムが完成させられません。 頭からサーっと全て流れるように作るというのはやはり相当難しいものなのでしょうか? 一般人は仕様書を書いて分かる範囲で構築して徐々に大きいものを作るのでしょうか? その辺がいまいちわかりません。