第4講 for文を理解しよう
第1話 for文とは?

第9話のコード
#include<iostream>
#include<string>
using namespace std;
using namespace System;
void f1();
void main(){
   f1();
}
void f1(){
   int a;
   a=1;
   a=a+2;
   a=a+3;
   a=a+4;
   a=a+5;
   a=a+6;
   a=a+7;
   a=a+8;
   a=a+9;
   a=a+10;
   cout<<"1+2+3+4+5+6+7+8+9+10="<<a<<endl;
}
は、褒められたコードではありません。人が同じことを繰り返しているからです。
同じことを繰り返すことを、ループ処理といいます。
ループ処理の1つとしてfor文があります。
for文を使って、このコードを書き直すと
void f1(){
   int a,i;
   a=0;
   for(i=1;i<11;i++){
     a=a+i;
   }
   cout<<"1+2+3+4+5+6+7+8+9+10="<<a<<endl;
}
(該当関数部分だけ示しています。)
   for(i=1;i<11;i++){
     a=a+i;
   }
の部分がfor文です。
これはiに順に1から10まで代入していき、それぞれをaに加えていく計算です。
ですから
   a=1;
   a=a+2;
   a=a+3;
   a=a+4;
   a=a+5;
   a=a+6;
   a=a+7;
   a=a+8;
   a=a+9;
   a=a+10;
と同じことをさせています。
i++とはi=i+1
を簡略表現したものです。
C言語の特徴は、このような簡略表現ができることです。
for(i=1;i<11;i++)自体が簡略表現になっています。
i=1;
i<11;
i++;
の3つの命令が表現されています。
i=1;は1から始めなさいです。
i++がiに1加えなさいです。
それを繰り返すのですが、繰り返しの条件が
i<11;
です。つまり、iが11未満の条件の範囲で繰り返しなさい、です。
条件を満たさなくなったら、ループ処理を終了させます。

では、皆さん
void f1(){
   int a,i;
   a=0;
   for(i=1;i<11;i++){
     a=a+i;
   }
   cout<<"1+2+3+4+5+6+7+8+9+10="<<a<<endl;
}
でなぜ、1+2+3+4+5+6+7+8+9+10の計算が出来るのかトレースしてください。
トレースとはコンピュータの動きを一つ一つ追うことでしたね。



第3講第10話へ 第2話へ


戻る


VB講義へ
VB講義基礎へ

vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)