プログラミング入門 初心者歓迎![C++]

このblogはC++の学習記録です。 入門書のレベルでも理解が難しい初学者が、入門書にたどり着けるレベルになるまでの 勉強の記録をまとめています。

【例題2】計算をしてみる(変数って何?)

今回もプログラムの基本を学びます。
"計算結果の出力" です。


C++問題集_基本速習編 - Awesome Hacks!

上記サイトの[基本 問題2]を参考にします。

例題2

aが1、bが2のとき、aとbの和を出力せよ。


問題文から適当に推測してみたのは、
aが1 → a=1
bが2 → b=2
aとbの和を出力 → a+bと書いてみる

という感じです。

前のエントリー「【例題1】文字を出力してみる」になんとなく当てはめてみたいと思います。

#include <iostream>
using namespace std;

int main(){
	a=1;
	b=2;
	cout << a+b << endl;
	return 0;
}


こちら実行したところエラーとなりました。
a=1とb=2の書き方にルールがあるようです。
a+bの部分は問題なさそうです。


ちなみに正解は、

#include <iostream>
using namespace std;

int main){
	int a=1;
	int b=2;
	cout << a+b << endl;
	return 0;
}

となります。
a=1やb=2の前に “int” という記述が追加されています。


解読編でこの辺りを解決してみたいと思います。


解読編

さっそく解読していきます。

#include <iostream>
using namespace std;

int main(){

}

ここは前に説明済みですので、説明は省略し、
波括弧「{」 から「 }」 の間のプログラムを考えます。


int a=1;

この部分が今回のポイントです。

ロベールのC++教室 - 第5章 変数 -
http://www7b.biglobe.ne.jp/~robe/cpphtml/
を見たところ、こういった計算をするには、
・この時の"a"は変数と呼ばれる
・変数は数字や文字を入れておく箱のようなもの
・aを使います!という"宣言"が必要
・数字を使う場合と文字を使う場合では、宣言の仕方が違う

だそうです。

少しごちゃごちゃしていますが、簡単に言うとaは数字を入れておく変数なので、
"int"
という宣言が必要とのこと。

私が書いた

a=1;

は宣言がされていないためエラーとなりました。

つまり、

int a=1;

と書くのが正解です。


そのため次の行の記述も、

int b=2;

としておきます。

おそらくこの後プログラムを書いていくうちに、"宣言していないエラー"が数多く出てくると思いますので、なんとなく覚えておくといいかと思います。


cout << a+b << endl;

こちらですが、このように書くと、「aの中身の1」と「bの中身の2」を足して、「3」を出力してくれました。
気をつけなければならないのは、a+bの部分を、
"a+b"
と書いてしまうと文字として認識され、「3」ではなく「a+b」と出力されるようです。


上記を応用し、文字と数字を組み合わせることで、出力をわかりやすくすることができます。

cout << "a+b=" << a+b << endl;

文字でa+b=、
その後に計算結果の3が出力され、
a+b=3
と見やすく出直することができました。


学習のポイント

ここで大事なのは、変数を使う場合には、

int a=1;

というように、intという"宣言"を書くことです。

変数を使った計算はこの後どんどん出てきます。
今回の例題の答えを何も考えず20回書いてみて、とりあえず暗記しちゃいましょう。

#include <iostream>
using namespace std;

int main(){
	int a=1;
	int b=2;
	cout << a+b << endl;
	return 0;
}