マルチスレッド版数独自動生成ソフトC++コードを題材とする超初心者のためのVisual Studio C++講義
第3章 for文(繰り返し処理)

第2話 for文を体験するための準備

#include<iostream>//インクルードファイルiostreamの読み込み

#include<conio.h>//while(!_kbhit());を使うためのお呪い

using namespace std;//coutを使うときに必要なお呪い

#include<conio.h>//while(!_kbhit());を使うためのお呪い

#include<string> //文字列変数を使えるようにするために組み込む

#include <iomanip> //setprecisionを使えるように組み込む

int 足し算();//1 + 2 + ・・・ + 100 などを計算する関数

int main() {//私は社長だ。

  cout << "さぁ、探検・冒険の始まりだ!" << endl;

  while (!_kbhit());//待機させるための命令

  return(0);//int main()終わるためのお呪い

}

int 足し算() {
  //1 + 2 + ・・・ + 100 などを計算する関数

   return(0);//何かを返さないとエラーしますのでとりあえず0を返していますが、後に変更されます。
}
実行画面

(さぁ、探検・冒険の始まりだ!)

第2章第7話で 1 + 2 + ・・・ + 10 のコードとして

int 合計計算社員() {//ぼくの任務は「1 + 2 + ・・・ + 10」の合計を計算して社長に報告することです。

  int 合計; 合計 = 0;//和の合計は0から出発

  合計 = 合計 + 1;//0に1を加える

  合計 = 合計 + 2;//1に2を加える

  合計 = 合計 + 3;//3に3を加える

  合計 = 合計 + 4;//6に4を加える

  合計 = 合計 + 5;//10に5を加える

  合計 = 合計 + 6;//15に6を加える

  合計 = 合計 + 7;//21に7を加える

  合計 = 合計 + 8;//28に8を加える

   合計 = 合計 + 9;//36に9を加える

   合計 = 合計 + 10;//45に10を加える

   return(合計);//合計値を社長に報告

}

とセンスのかけらもないコードを紹介しましたが、

for文ならもっとエレガントに書くことができます。

int 合計計算社員() {//ぼくの任務は「1 + 2 + ・・・ + 10」の合計を計算して社長に報告することです。

  int 合計;

  合計 = 0;//和の合計は0から出発

  for(int i = 1; i < 11; i++){

    合計 += i;

  }

  return(合計);//合計値を社長に報告

}
と書くことができます。

i ++ とは i = i + 1 の省略形であり、

合計 += i;とは 合計 = 合計 + i; の省略形です。

尚、今まで使ってきませんでしたが、
  int 合計;

  合計 = 0;//和の合計は0から出発

の2行は

  int 合計 = 0;//合計を整数型変数であると定義して0に初期化

と1行に圧縮することもできます。

つまり、変数の定義と共に初期化することもできるのです。

最初の値を代入することを初期化と呼びます。

0などに初期化することは必ずやってください。

理由は、初期化する前に変数を使ってしまうとビルドエラーするからです。

C言語やC++はこのような省略形を欠けることが特徴の一つとなっています。

  for(int i = 1; i < 11; i ++){

    合計 += i;

  }
は簡略形を使わなければ、
  for(int i = 1; i < 11; i = i + 1){

    合計 = 合計 + i;

  }
ということになります。

この文は i を 1 から 10 まで変化させながら

    合計 = 合計 + i;

を繰り返しなさい、という意味になります。

慣れてくれば省略形を使ってもよいと思いますが、

初心者は、なるべき省略形を使わずに書くようにした方がよいと思います。

それでは、

int 足し算() {
  //1 + 2 + ・・・ + 100 などを計算する関数

   return(0);//何かを返さないとエラーしますのでとりあえず0を返していますが、後に変更されます。
}
を改良して、1 + 2 + ・・・ + 100 の合計を計算して社長に返してください。

すでにお気づきの方もいらっしゃると思いますが、

社員とか報告が説明から消えています。

もう、皆さんはそういった比喩を使わないでも、

理解できる力がついているはずですから、

そういった超初心者用の説明は、

もう卒業しましょう。

答え合わせは次話で!

第3章第1話へ 第3章第3話へ

本講義トップへ