第20講 if文以外のループ処理  
第1話 while文

ループ処理は、本講義ではif文しか学んでいませんが、
他にもループ処理はあります。
while文とdo...while文です。

while文は次のように使います。
while(条件式){
    ・
    ・
    ・

これは条件式が、if文と同じで真のとき実行されます。

1+2+3+・・・+n
を計算させるプログラムを組んでみましょう。
新規にプロジェクトを作り次のようにコーティングしてみましょう。
#include<iostream>
using namespace std;
int main(){
  int w,i,n;
  cout<<"いくつまで加えるのかキーボードから入力してください。"<<endl<<"n=";
  scanf("%d",&n);
  w=0;
  i=1;
  while(i<=n){
    w+=i;
    i++;
  }
  cout<<"1から"<<n<<"までの和は"<<w<<"です。"<<endl;
}
実行画面例
入門

while文では、うっかりすると無限ループになってしまいます。
例えば、
    i++;
を忘れると無限ループになってしまいます。

条件式が真であるとは、条件式の値が1であることであり、
偽であるとは条件式の値が0であるということでした。
ですから次のように変更してもプログラムは同様に動きます
#include<iostream>
using namespace std;
int main(){
  int w,i,n;
  cout<<"いくつまで加えるのかキーボードから入力してください。"<<endl<<"n=";
  scanf("%d",&n);
  w=0;
  i=1;
  int h=1;
  while(h){
    w+=i;
    i++;
    if(i>n)h=0;
  }
  cout<<"1から"<<n<<"までの和は"<<w<<"です。"<<endl;
}

また、強制的に終了させるbreakを使うと次のようにも変更できます。
#include<iostream>
using namespace std;
int main(){
  int w,i,n;
  cout<<"いくつまで加えるのかキーボードから入力してください。"<<endl<<"n=";
  scanf("%d",&n);
  w=0;
  i=1;
  while(1){
    w+=i;
    i++;
    if(i>n)break;
  }
  cout<<"1から"<<n<<"までの和は"<<w<<"です。"<<endl;
}


では課題です。1からnまで掛ける計算をさせるプログラムをwhile文で実行してみましょう。


第19講第7話へ 第2話へ

戻る

C言語 C++講義第1部へ
VB講義へ
VB講義基礎へ

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