第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の計算が出来るのかトレースしてください。
トレースとはコンピュータの動きを一つ一つ追うことでしたね。
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)