第3講 繰り返し処理for文
第1話 for文とは?
1+2+3+4+5+6+7+8+9+10
を計算させるには、
#include<stdio.h> //C言語プログラミングをはじめるためのお呪い。
int main() {
  int a; //整数を入れる箱aを用意
  //以下計算
  a = 0;
  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;
  //以上計算
  printf("1+2+3+4+5+6+7+8+9+10=%d\n", a); //箱aの中身を表示
  return(0); //mainを閉じるためのお呪い。
}
実行結果
1+2+3+4+5+6+7+8+9+10=55
で良いわけですが、余りに芸のないプログラミングですね。
  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;
は10行にわたって同じようなことを繰り返します。
同様なことを繰り返して処理することを繰り返し処理といいます。
その繰り返し処理の一つにfor文があります。
for文を使ってこの芸のないコードを書き直すと、
#include<stdio.h> //C言語プログラミングをはじめるためのお呪い。
int main() {
  int a,i; //整数を入れる箱a,iを用意
  a = 0;
  //繰り返し処理
  for(i=1;i<=10;i++){
    a=a+i;
  }
  printf("1+2+3+4+5+6+7+8+9+10=%d\n", a); //箱aの中身を表示
  return(0); //mainを閉じるためのお呪い。
}
となります。
i++はi=i+1の簡略表現です。
for(i=1;i<=10;i++)の中は3文で構成されていますが、
iを1からはじめてひとつずつ増やしながらiが10になるまで{}内を繰り返しなさいという命令になります。
1つ目のi=1;が1から始めを意味し、
3つ目のi++がひとつずつ増やしていくことを意味して、
2つ目のがi<=10;が10までを意味しているからです。
この処理が優れているのは、
for(i=1;i<=10;i++)をfor(i=1;i<=
10000;i++)と変更するだけで、
1から10000までの和を求めるプログラムに変更できることです。
#include<stdio.h> //C言語プログラミングをはじめるためのお呪い。
int main() {
  int a,i; //整数を入れる箱aを用意
  a = 0;
  //繰り返し処理
  for(i=1;i<=10000;i++){
    a=a+i;
  }
  printf("1から10000までの和=%d\n", a); //箱aの中身を表示
  return(0); //mainを閉じるためのお呪い。
}
実行結果
1から10000までの和=50005000

どうです。急に面白くなったのではないでしょうか。
ちょっと変えただけで
1+2+3+・・・+9999+10000
が計算できるようになったのです。しかも、一瞬です。

for文の基本的な形は、
  for(i=0;i<10;i++){
    A;
    B;
    ・・・・
    ・・・・
  }
ですが、{}内の命令文が1つしかない場合には、
  for(i=0;i<10;i++)A;
と書くことも出来ます。

尚、for(i=1;i<=10000;i++)のiを制御変数といいます。
これは1万回同じ処理を繰り返しますが、
for(i=0;i<10000;i++)としても同じ1万回処理します。
iは
0,1,2,・・・,9999
の値を取りますが、0もカウントしなければなりませんので、
1万種類の値を取りますよね。

i++はi=i+1の簡略表現であると説明しました。
C言語にはこのような簡略表現がたくさん用意されています。
i--;
a+=5;
w*=3;
x/=6;
のそれぞれは、
i=i-1;
a=a+5;
w=w*3;
x=x/6;
の簡略表現です。
w*3はw×3です。
×はキーボードにないので*で代用します。
また、x/6はx÷6を意味します。
÷もキーボードにないので、/で代用するのです。
*と/の代用は、私が知っているすべてのプログラム言語で共通です。
私が知っているのは、C言語・C++・Java・Visual Basic・パスカル・Ruby・Parl等です。


ではこれを頭に留めて、
次の問題に取り組んでください。
@ 2+3+4+・・・+99
A 3+5+7+・・・+101

第2講第8話へ 第2話へ
 
002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ