[← 演習のページへ戻る]
サンプルプログラム 3 の内容整数 n を読み込み,1 から n までの合計値を表示する.1: #include <stdio.h> 2: 3: int main(void){ 4: int n, sum, k; 5: 6: printf("整数を一つ入力してください:"); 7: scanf("%d", &n); 8: 9: sum = 0; 10: k = 1; 11: while ( k <= n ){ 12: sum += k; 13: k++; 14: } 15: 16: printf("1 から %d までの合計は %d です\n", n, sum); 17: 18: return 0; 19: } 11-14 行目:while ( k <= n ){ ... }9: sum = 0; 10: k = 1; 11: while ( k <= n ){ 12: sum += k; 13: k++; 14: } 15:サンプルプログラム 3 では,これまでの do - while と似ていますが異なる while 文というものが登場しています. while 文も do - while と同じく,指定された条件が成立している間は処理を繰り返すというものです.
そこで,k という変数の値を 1 から n まで順に(つまり,1, 2, 3, 4, ...., n-1, n という順に)変化させていき,それらを合計していこうとしています. この 1 から n まで順に変化させるというところを while 文による繰り返し構造で作り出しています. k が n 以下(k <= n)ならば繰り返しが続くことになるので,条件部は k <= n と書いてあります. 10, 13 行目:k = 1; k++;9: sum = 0; 10: k = 1; 11: while ( k <= n ){ 12: sum += k; 13: k++; 14: } 15:k の値は 10 行目で 1 に初期化しておき, while 文の繰り返しでは k++; とk の値をインクリメント(+1 すること)を行っています. 講義で説明したように,この k++; という部分は
13: k = k + 1;
と書いても構いませんが,k++; という書き方の方がよく使われます.
9, 12 行目:sum = 0; sum += k;9: sum = 0; 10: k = 1; 11: while ( k <= n ){ 12: sum += k; 13: k++; 14: } 15:合計を求める部分については,サンプルプログラム 2 と同様です. 9 行目で(合計を記録するための)変数 sum を 0 に初期化しておき, sum += k; というかたちで k の値を sum に足していきます. こちらも講義で説明したように,sum += k; という部分は
12: sum = sum + k;
と書いても構いませんが,sum += k; という書き方の方がよく使われます.
|